修改裁判访视数量
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-12-10 16:16:51 +08:00
parent 33a15676b5
commit 468a124841
1 changed files with 37 additions and 23 deletions

View File

@ -2370,8 +2370,8 @@ namespace IRaCIS.Core.Application.Service.Common
//2、完成阅片的病例数QR1,R2均完成阅片的访视数 //2、完成阅片的病例数QR1,R2均完成阅片的访视数
exportInfo.VisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned) exportInfo.VisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.SubjectId, t.VisitTaskNum }) .GroupBy(t => new { t.SubjectId,t.SourceSubjectVisitId })
.Where(g => g.Count() == 2).Select(g => g.Key.VisitTaskNum).Distinct().Count(); .Where(g => g.Count() == 2).Select(g => g.Key.SourceSubjectVisitId).Distinct().Count();
//裁判不需要完成阅片 //裁判不需要完成阅片
exportInfo.JudgeVisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Judge).Count(); exportInfo.JudgeVisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Judge).Count();
@ -2489,16 +2489,22 @@ namespace IRaCIS.Core.Application.Service.Common
FullName = g.Key.FullName, FullName = g.Key.FullName,
//最后一个阅片期触发裁判 且裁判已阅 //最后一个阅片期触发裁判 且裁判已阅
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global) TotalJudgeCount = g
.Where(t => t.ReadingCategory == ReadingCategory.Global)
.Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned) .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum)) .Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global)
.Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Max(t => t.VisitTaskNum))
.Select(t => t.SubjectId).Distinct().Count(), .Select(t => t.SubjectId).Distinct().Count(),
// G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准 // G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global) JudgeAgreeCount = g
.Where(t => t.ReadingCategory == ReadingCategory.Global)
.Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned) .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum) .Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global)
&& t.JudgeVisitTask.JudgeResultTaskId == t.Id) .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Max(t => t.VisitTaskNum))
.Where(t=>t.JudgeVisitTask.JudgeResultTaskId == t.Id)
.Select(t => t.SubjectId).Distinct().Count(), .Select(t => t.SubjectId).Distinct().Count(),
}).ToList(); }).ToList();
@ -2515,25 +2521,33 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.DoctorSubjectStatList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) exportInfo.DoctorSubjectStatList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.DoctorUserId, t.DoctorUser.UserName, t.DoctorUser.FullName }) .GroupBy(t => new { t.DoctorUserId, t.DoctorUser.UserName, t.DoctorUser.FullName })
.Select(g => new DoctorJudgeRatio() .Select(g => new DoctorJudgeRatio()
{ {
DoctorUserId = g.Key.DoctorUserId, DoctorUserId = g.Key.DoctorUserId,
UserName = g.Key.UserName, UserName = g.Key.UserName,
FullName = g.Key.FullName, FullName = g.Key.FullName,
//最后一个阅片期触发裁判 且裁判已阅 //最后一个阅片期触发裁判 且裁判已阅
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned) TotalJudgeCount = g
.Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum)) .Where(t => t.ReadingCategory == ReadingCategory.Global)
.Select(t => t.SubjectId).Distinct().Count(), .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global)
.Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Max(t => t.VisitTaskNum))
.Select(t => t.SubjectId).Distinct().Count(),
// G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准 // G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned JudgeAgreeCount = g
&& t.JudgeVisitTask.JudgeResultTaskId == t.Id .Where(t => t.ReadingCategory == ReadingCategory.Global)
&& t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum)) .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Select(t => t.SubjectId).Distinct().Count(), .Where(t => t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global)
.Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned)
.Max(t => t.VisitTaskNum))
.Where(t => t.JudgeVisitTask.JudgeResultTaskId == t.Id)
.Select(t => t.SubjectId).Distinct().Count(),
}).ToList(); }).ToList();
#endregion #endregion