Compare commits

..

2 Commits

Author SHA1 Message Date
he 2cf4f5d280 修改计算金额为0 就不插入 2024-03-25 16:45:36 +08:00
he 21074a5ffe 只计算项目医生的信息 2024-02-23 10:48:58 +08:00
1 changed files with 41 additions and 23 deletions

View File

@ -13,6 +13,8 @@ using System.Linq.Expressions;
using IRaCIS.Core.Domain.Interfaces; using IRaCIS.Core.Domain.Interfaces;
using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Models;
using System.Data; using System.Data;
using System.Linq.Dynamic.Core;
using System.Drawing;
namespace IRaCIS.Application.Services namespace IRaCIS.Application.Services
{ {
@ -23,8 +25,10 @@ namespace IRaCIS.Application.Services
private readonly IReviewerPayInfoRepository _doctorPayInfoRepository; private readonly IReviewerPayInfoRepository _doctorPayInfoRepository;
private readonly ITrialRepository _trialRepository; private readonly ITrialRepository _trialRepository;
private readonly IDoctorRepository _doctorRepository; private readonly IDoctorRepository _doctorRepository;
private readonly IWorkloadRepository _doctorWorkloadRepository; private readonly IWorkloadRepository _doctorWorkloadRepository;
private readonly IRankPriceRepository _rankPriceRepository; private readonly IRankPriceRepository _rankPriceRepository;
private readonly IUserTrialRepository _userTrialRepository;
private readonly IPaymentDetailRepository _paymentDetailRepository; private readonly IPaymentDetailRepository _paymentDetailRepository;
private readonly IVolumeRewardService _volumeRewardPriceService; private readonly IVolumeRewardService _volumeRewardPriceService;
private readonly IExchangeRateRepository _exchangeRateRepository; private readonly IExchangeRateRepository _exchangeRateRepository;
@ -38,6 +42,7 @@ namespace IRaCIS.Application.Services
IDoctorRepository doctorRepository, IDoctorRepository doctorRepository,
IWorkloadRepository workloadRepository, IWorkloadRepository workloadRepository,
IRankPriceRepository rankPriceRepository, IRankPriceRepository rankPriceRepository,
IUserTrialRepository userTrialRepository,
IPaymentDetailRepository paymentDetailRepository, IPaymentDetailRepository paymentDetailRepository,
IVolumeRewardService volumeRewardService, IVolumeRewardService volumeRewardService,
IExchangeRateRepository exchangeRateRepository, IExchangeRateRepository exchangeRateRepository,
@ -52,6 +57,7 @@ namespace IRaCIS.Application.Services
_doctorRepository = doctorRepository; _doctorRepository = doctorRepository;
_doctorWorkloadRepository = workloadRepository; _doctorWorkloadRepository = workloadRepository;
_rankPriceRepository = rankPriceRepository; _rankPriceRepository = rankPriceRepository;
this._userTrialRepository = userTrialRepository;
_paymentDetailRepository = paymentDetailRepository; _paymentDetailRepository = paymentDetailRepository;
_volumeRewardPriceService = volumeRewardService; _volumeRewardPriceService = volumeRewardService;
_exchangeRateRepository = exchangeRateRepository; _exchangeRateRepository = exchangeRateRepository;
@ -736,6 +742,13 @@ namespace IRaCIS.Application.Services
} }
decimal totalUSD = award + totalNormal;//总费用 decimal totalUSD = award + totalNormal;//总费用
var paymentyearMonth = new DateTime(param.CalculateMonth.Year, param.CalculateMonth.Month, 1).ToString("yyyy-MM");
var paymentModel = _paymentRepository.GetAll().FirstOrDefault(t =>
t.DoctorId == doctor && t.YearMonth == paymentyearMonth);
// 计算金额为0 就不插入
if (totalUSD != 0 || paymentModel != null)
{
result = AddOrUpdateMonthlyPayment(new PaymentCommand result = AddOrUpdateMonthlyPayment(new PaymentCommand
{ {
DoctorId = doctor, DoctorId = doctor,
@ -747,14 +760,15 @@ namespace IRaCIS.Application.Services
ExchangeRate = exchangeRate, ExchangeRate = exchangeRate,
PaymentCNY = exchangeRate * totalUSD, PaymentCNY = exchangeRate * totalUSD,
}); });
reviewerPaymentUSDList.Add(new ReviewerPaymentUSD { DoctorId = doctor, PaymentUSD = totalUSD, RecordId = result.Data }); reviewerPaymentUSDList.Add(new ReviewerPaymentUSD { DoctorId = doctor, PaymentUSD = totalUSD, RecordId = result.Data });
foreach (var detail in paymentDetailList) foreach (var detail in paymentDetailList)
{ {
detail.PaymentId = result.Data; detail.PaymentId = result.Data;
} }
AddOrUpdateMonthlyPaymentDetail(paymentDetailList, result.Data); AddOrUpdateMonthlyPaymentDetail(paymentDetailList, result.Data);
}
UpdatePaymentAdjustment(doctor, yearMonth); UpdatePaymentAdjustment(doctor, yearMonth);
} }
@ -915,9 +929,13 @@ namespace IRaCIS.Application.Services
IsLock = x.IsLock, IsLock = x.IsLock,
DataFrom=x.DataFrom, DataFrom=x.DataFrom,
}).Distinct().ToList(); }).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)) if (!workloadlist.Any(y => y.DoctorId == x))