From 9c48f46ca468a4ad8078be3b2dec9e1317998128 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 17 Jun 2022 09:16:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Allocation/DTO/TaskAllocationRuleViewModel.cs | 2 +- .../Service/Allocation/_MapConfig.cs | 11 +++++++---- IRaCIS.Core.Domain/Allocation/SubjectUser.cs | 5 +++++ IRaCIS.Core.Domain/Allocation/VisitTask.cs | 2 +- IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs | 3 ++- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs index 98914c37..6a5f3d58 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/TaskAllocationRuleViewModel.cs @@ -66,7 +66,7 @@ namespace IRaCIS.Core.Application.ViewModel public Guid DoctorUserId { get; set; } - public List ArmList { get; set; } = new List(); + //public List ArmList { get; set; } = new List(); //public double? TargetCount => TotalTaskCount * PlanReadingRatio * 0.01; diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs index fcd0c8c8..0e5b9fea 100644 --- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs @@ -19,9 +19,12 @@ namespace IRaCIS.Core.Application.Service //.ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct())) .ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count())) .ForMember(o => o.ApplyedTotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t=>t.DoctorUserId != null))) - .ForMember(o => o.WaitApplySelfTaskCount, t => t.MapFrom(u => u.Trial.SubjectList.Where(c => c.SubjectDoctorList.Any(d => d.DoctorUserId == u.DoctorUserId)) - .SelectMany(t=>t.SubjectVisitTaskList.Where(t=>t.DoctorUserId==null)).Count())) - + //.ForMember(o => o.WaitApplySelfTaskCount, t => t.MapFrom(u => u.Trial.SubjectList.Where(c => c.SubjectDoctorList.Any(d => d.DoctorUserId == u.DoctorUserId)) + // .SelectMany(t=>t.SubjectVisitTaskList.Where(t=>t.DoctorUserId==null)).Count())) + + .ForMember(o => o.WaitApplySelfTaskCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(d => d.DoctorUserId == u.DoctorUserId) + .SelectMany(t => t.SubjectArmVisitTaskList.Where(t => t.DoctorUserId == null)).Count())) + .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())) @@ -29,7 +32,7 @@ namespace IRaCIS.Core.Application.Service .ForMember(o => o.SelfSubjectCount, t => t.MapFrom(u => u.Trial.SubjectDoctorUserList.Where(t => t.DoctorUserId == u.DoctorUserId).Count())); CreateMap() - .ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct())) + //.ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct())) .ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count())) .ForMember(o => o.SelfTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count(t => t.DoctorUserId == u.DoctorUserId))); diff --git a/IRaCIS.Core.Domain/Allocation/SubjectUser.cs b/IRaCIS.Core.Domain/Allocation/SubjectUser.cs index 2e4e0a15..287f1056 100644 --- a/IRaCIS.Core.Domain/Allocation/SubjectUser.cs +++ b/IRaCIS.Core.Domain/Allocation/SubjectUser.cs @@ -7,6 +7,8 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Collections.Generic; + namespace IRaCIS.Core.Domain.Models { /// @@ -62,6 +64,9 @@ namespace IRaCIS.Core.Domain.Models public int ArmEnum { get; set; } + public List SubjectArmVisitTaskList { get; set; } + + } } diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index e8c6112d..5870258f 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -162,7 +162,7 @@ namespace IRaCIS.Core.Domain.Models public RequestReReadingResult RequestReReadingResultEnum { get; set; } - + public SubjectUser SujectArm { get; set; } //建议完成时间 //public int SuggesteDays { get; set; } diff --git a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs index 6605374b..082cee21 100644 --- a/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs +++ b/IRaCIS.Core.Infra.EFCore/Context/IRaCISDBContext.cs @@ -89,8 +89,9 @@ namespace IRaCIS.Core.Infra.EFCore //modelBuilder.HasDbFunction(typeof(DbContext).GetMethod(nameof(GetTableList))); modelBuilder.Entity().HasMany(t => t.DoctorVisitTaskList).WithOne(t => t.DoctorTaskAllocationRule).HasForeignKey(t=>t.DoctorUserId).HasPrincipalKey(u=>u.DoctorUserId); - modelBuilder.Entity().HasMany(t => t.JudgeVisitList).WithOne(t=>t.JudgeVisitTask); + modelBuilder.Entity().HasMany(t => t.SubjectArmVisitTaskList).WithOne(t=>t.SujectArm).HasForeignKey(t => new { t.SubjectId,t.ArmEnum}).HasPrincipalKey(u => new { u.SubjectId,u.ArmEnum }); + modelBuilder.Entity().HasMany(t => t.JudgeVisitList).WithOne(t=>t.JudgeVisitTask); modelBuilder.Entity().HasMany(t => t.ChildList).WithOne(t => t.Parent); if (_userInfo.IsEn_Us) {