修改统计完成
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-12-11 00:42:43 +08:00
parent b14f3fb251
commit a9f22897e9
1 changed files with 32 additions and 16 deletions

View File

@ -2475,29 +2475,45 @@ namespace IRaCIS.Core.Application.Service.Common
t.DoctorUserId, t.DoctorUserId,
t.DoctorUser.UserName, t.DoctorUser.UserName,
t.DoctorUser.FullName, t.DoctorUser.FullName,
t.JudgeVisitTask.JudgeResultTaskId t.JudgeVisitTaskId,
t.ReadingTaskState,
t.JudgeVisitTask.JudgeResultTaskId,
JudgeTaskState = (ReadingTaskState?)t.JudgeVisitTask.ReadingTaskState
}).ToList() }).ToList()
}) })
.ToList(); .ToList();
var cc = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
.Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
.ToList();
var kk = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
.Where(g => g.OrderByDescending(x => x.VisitTaskNum).First().GlobalList.Any(c => c.JudgeVisitTaskId != null))
.Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c=>c.VisitTaskNum).FirstOrDefault())
.ToList(); //找到最大完成裁判的阅片期
// 每个subject 仅仅留最后一个全局 // 每个subject 仅仅留最后一个全局
var filteredList = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组 var filteredList = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组
.Select(g => g.OrderByDescending(x => x.VisitTaskNum).First()) // 每组取 VisitTaskNum 最大的记录 //最后一个全局没有产生裁判的subject要过滤掉 过滤后
//最后一个全局没有产生裁判的subject要过滤掉 过滤后 .Where(g=>g.OrderByDescending(x=>x.VisitTaskNum).First().GlobalList.Any(c=>c.JudgeVisitTaskId != null))
.Where(t => t.JudgeVisitTaskId != null) //找到最大完成裁判的阅片期
.SelectMany(t => t.GlobalList.Select(u => new .Select(g => g.Where(c => c.GlobalList.Any(k => k.JudgeTaskState == ReadingTaskState.HaveSigned)).OrderByDescending(c => c.VisitTaskNum).First())
{ .SelectMany(t => t.GlobalList.Select(u => new
t.SubjectId, {
t.VisitTaskNum, t.SubjectId,
t.JudgeVisitTaskId, t.VisitTaskNum,
u.DoctorUserId, t.JudgeVisitTaskId,
u.UserName, u.DoctorUserId,
u.FullName, u.UserName,
u.JudgeResultTaskId, u.FullName,
VisitTaskId = u.Id u.JudgeResultTaskId,
})) VisitTaskId = u.Id
.ToList(); }))
.ToList();
exportInfo.DoctorSubjectStatList= filteredList.GroupBy(t => new { t.DoctorUserId, t.UserName, t.FullName }).Select(g=>new DoctorJudgeRatio() exportInfo.DoctorSubjectStatList= filteredList.GroupBy(t => new { t.DoctorUserId, t.UserName, t.FullName }).Select(g=>new DoctorJudgeRatio()
{ {