From 58fe222837528658b9af8430138956a28a7ff870 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 17 Jun 2022 16:04:42 +0800 Subject: [PATCH] x --- .../Allocation/DTO/TaskAllocationRuleViewModel.cs | 3 +++ .../Service/Allocation/_MapConfig.cs | 11 +++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs index f06358cc0..7adf017a7 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs @@ -56,6 +56,9 @@ namespace IRaCIS.Core.Application.ViewModel //总共已应用 的Subject 数 public int? ApplyedTotalSubjectCount { get; set; } + //未应用的Subejct 数量 + public int? WaitApplyTotalSubjectCount { get; set; } + //系统 Subject数 public int? TotalSubjectCount { get; set; } diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs index def204af4..244d12cae 100644 --- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs @@ -31,14 +31,17 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.SelfTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId))) .ForMember(o => o.TotalSubjectCount, t => t.MapFrom(u => u.Trial.SubjectList.Count())) .ForMember(o => o.ApplyedTotalSubjectCount, t => t.MapFrom(u => u.Trial.SubjectList.Count(c => c.SubjectVisitTaskList.Any(d => d.DoctorUserId !=null)))) + .ForMember(o => o.WaitApplyTotalSubjectCount, t => t.MapFrom(u => + subjectIdList.Count == 0 ? u.Trial.SubjectList.Where(t => t.SubjectVisitTaskList.Any(c => c.DoctorUserId == null)).Count() + : u.Trial.SubjectList.Where(t => subjectIdList.Contains(t.Id) && t.SubjectVisitTaskList.Any(c => c.DoctorUserId == null)).Count() + )) + .ForMember(o => o.SelfSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId).Count())) .ForMember(o => o.SelfApplyedSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Any()).Count())) - .ForMember(o => o.WaitApplySelfSubjectCount, t => t.MapFrom(u => + .ForMember(o => o.WaitApplySelfSubjectCount, t => t.MapFrom(u => subjectIdList.Count == 0 ? u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && t.SubjectArmVisitTaskList.Any(c=>c.DoctorUserId ==null)).Count() : u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId && subjectIdList.Contains(t.SubjectId) && t.SubjectArmVisitTaskList.Any(c => c.DoctorUserId == null)).Count() - - )) - + )) ;