From a9f22897e92ac17d00b4a3cc209d38621e030dd6 Mon Sep 17 00:00:00 2001 From: hang <87227557@qq.com> Date: Wed, 11 Dec 2024 00:42:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=9F=E8=AE=A1=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Common/ExcelExportService.cs | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 4677dfcc0..8a203774a 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -2475,29 +2475,45 @@ namespace IRaCIS.Core.Application.Service.Common t.DoctorUserId, t.DoctorUser.UserName, t.DoctorUser.FullName, - t.JudgeVisitTask.JudgeResultTaskId + t.JudgeVisitTaskId, + t.ReadingTaskState, + t.JudgeVisitTask.JudgeResultTaskId, + JudgeTaskState = (ReadingTaskState?)t.JudgeVisitTask.ReadingTaskState }).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 仅仅留最后一个全局 var filteredList = subjectReadingPeriodDoctorList.GroupBy(x => x.SubjectId) // 按 SubjectId 分组 - .Select(g => g.OrderByDescending(x => x.VisitTaskNum).First()) // 每组取 VisitTaskNum 最大的记录 - //最后一个全局没有产生裁判的subject要过滤掉 过滤后 - .Where(t => t.JudgeVisitTaskId != null) - .SelectMany(t => t.GlobalList.Select(u => new - { - t.SubjectId, - t.VisitTaskNum, - t.JudgeVisitTaskId, - u.DoctorUserId, - u.UserName, - u.FullName, - u.JudgeResultTaskId, - VisitTaskId = u.Id - })) - .ToList(); + //最后一个全局没有产生裁判的subject要过滤掉 过滤后 + .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).First()) + .SelectMany(t => t.GlobalList.Select(u => new + { + t.SubjectId, + t.VisitTaskNum, + t.JudgeVisitTaskId, + u.DoctorUserId, + u.UserName, + u.FullName, + u.JudgeResultTaskId, + VisitTaskId = u.Id + })) + .ToList(); exportInfo.DoctorSubjectStatList= filteredList.GroupBy(t => new { t.DoctorUserId, t.UserName, t.FullName }).Select(g=>new DoctorJudgeRatio() {