diff --git a/IRaCIS.Core.Application/Financial/CalculateService.cs b/IRaCIS.Core.Application/Financial/CalculateService.cs index eac0b75..30c58f3 100644 --- a/IRaCIS.Core.Application/Financial/CalculateService.cs +++ b/IRaCIS.Core.Application/Financial/CalculateService.cs @@ -13,6 +13,7 @@ using System.Linq.Expressions; using IRaCIS.Core.Domain.Interfaces; using IRaCIS.Core.Domain.Models; using System.Data; +using System.Linq.Dynamic.Core; namespace IRaCIS.Application.Services { @@ -23,9 +24,11 @@ namespace IRaCIS.Application.Services private readonly IReviewerPayInfoRepository _doctorPayInfoRepository; private readonly ITrialRepository _trialRepository; private readonly IDoctorRepository _doctorRepository; + private readonly IWorkloadRepository _doctorWorkloadRepository; private readonly IRankPriceRepository _rankPriceRepository; - private readonly IPaymentDetailRepository _paymentDetailRepository; + private readonly IUserTrialRepository _userTrialRepository; + private readonly IPaymentDetailRepository _paymentDetailRepository; private readonly IVolumeRewardService _volumeRewardPriceService; private readonly IExchangeRateRepository _exchangeRateRepository; private readonly IPaymentAdjustmentRepository _payAdjustmentRepository; @@ -38,7 +41,8 @@ namespace IRaCIS.Application.Services IDoctorRepository doctorRepository, IWorkloadRepository workloadRepository, IRankPriceRepository rankPriceRepository, - IPaymentDetailRepository paymentDetailRepository, + IUserTrialRepository userTrialRepository, + IPaymentDetailRepository paymentDetailRepository, IVolumeRewardService volumeRewardService, IExchangeRateRepository exchangeRateRepository, IEnrollRepository enrollRepository, @@ -52,7 +56,8 @@ namespace IRaCIS.Application.Services _doctorRepository = doctorRepository; _doctorWorkloadRepository = workloadRepository; _rankPriceRepository = rankPriceRepository; - _paymentDetailRepository = paymentDetailRepository; + this._userTrialRepository = userTrialRepository; + _paymentDetailRepository = paymentDetailRepository; _volumeRewardPriceService = volumeRewardService; _exchangeRateRepository = exchangeRateRepository; _payAdjustmentRepository = paymentAdjustmentRepository; @@ -915,9 +920,13 @@ namespace IRaCIS.Application.Services IsLock = x.IsLock, DataFrom=x.DataFrom, }).Distinct().ToList(); - var doctor = _doctorRepository.GetAll().Select(x => x.Id).ToList(); - doctor.ForEach(x => + var doctorIds = _enrollRepository.GetAll().Select(x => x.DoctorId).Distinct().ToList(); + + var doctorList = _doctorRepository.GetAll().Where(x=> doctorIds.Contains(x.Id)).Select(x => x.Id).ToList(); + + + doctorList.ForEach(x => { if (!workloadlist.Any(y => y.DoctorId == x))