计算包括没有工作量的

master
he 2023-12-25 15:22:30 +08:00
parent cbe70f5b4a
commit c259dea6b2
2 changed files with 31 additions and 5 deletions

View File

@ -8,7 +8,9 @@ namespace IRaCIS.Application.ViewModels
public Guid DoctorId { get; set; }
public string YearMonth { get; set; }
public bool IsLock { get; set; }
}
public int DataFrom { get; set; }
}
public class DoctorPrice
{

View File

@ -12,6 +12,7 @@ using System.Linq;
using System.Linq.Expressions;
using IRaCIS.Core.Domain.Interfaces;
using IRaCIS.Core.Domain.Models;
using System.Data;
namespace IRaCIS.Application.Services
{
@ -36,7 +37,8 @@ namespace IRaCIS.Application.Services
ITrialRepository trialRepository,
IDoctorRepository doctorRepository,
IWorkloadRepository workloadRepository,
IRankPriceRepository rankPriceRepository,
IDoctorRepository doctorRepository,
IRankPriceRepository rankPriceRepository,
IPaymentDetailRepository paymentDetailRepository,
IVolumeRewardService volumeRewardService,
IExchangeRateRepository exchangeRateRepository,
@ -893,7 +895,8 @@ namespace IRaCIS.Application.Services
{
Expression<Func<Payment, bool>> calculateLambda = u => !u.IsLock;
Expression<Func<Workload, bool>> workloadLambda = u => u.IsLock==false && u.DataFrom==(int)WorkLoadFromStatus.FinalConfirm;
// u => u.IsLock==false && u.DataFrom==(int)WorkLoadFromStatus.FinalConfirm;
Expression<Func<Workload, bool>> workloadLambda = x=>true;
if (reviewerId != Guid.Empty)
{
calculateLambda = calculateLambda.And(u => u.DoctorId == reviewerId);
@ -910,10 +913,31 @@ namespace IRaCIS.Application.Services
{
DoctorId = x.DoctorId,
YearMonth = x.YearMonth,
IsLock = x.IsLock
IsLock = x.IsLock,
DataFrom=x.DataFrom,
}).Distinct().ToList();
var doctor = _doctorRepository.GetAll().Select(x => x.Id).ToList();
return workloadlist;
doctor.ForEach(x =>
{
if (!workloadlist.Any(y => y.DoctorId == x))
{
workloadlist.Add(new CalculateNeededDTO()
{
DoctorId = x,
IsLock = false,
YearMonth = yearMonth,
DataFrom= (int)WorkLoadFromStatus.FinalConfirm
});
}
});
workloadlist= workloadlist.Where(u=>u.IsLock == false && u.DataFrom == (int)WorkLoadFromStatus.FinalConfirm).Distinct().ToList();
return workloadlist;
// return _paymentRepository.Find(calculateLambda).ProjectTo<CalculateNeededDTO>(_mapper.ConfigurationProvider).ToList();
}