diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 103357b7c..4e48f05b5 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -2467,7 +2467,7 @@ namespace IRaCIS.Core.Application.Service.Common .Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && c.TrialReadingCriterionId == trialReadingCriterionId)) .GroupBy(t => new { t.SubjectId, t.VisitTaskNum }) .Where(g => g.Count() == 2) - .Select(g => g.Key.VisitTaskNum).Distinct().Count(); + .Select(g => new { g.Key.SubjectId, g.Key.VisitTaskNum }).Distinct().Count(); exportInfo.judgeReadingPeriodCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) //找到阅片期已阅片完 @@ -2475,13 +2475,14 @@ namespace IRaCIS.Core.Application.Service.Common .GroupBy(t => new { t.SubjectId, t.VisitTaskNum }) //裁判不要求做完 .Where(g => g.Count() == 2 && g.Any(c => c.JudgeVisitTaskId != null)) - .Select(g => g.Key.VisitTaskNum).Distinct().Count(); + .Select(g => new { g.Key.SubjectId, g.Key.VisitTaskNum }).Distinct().Count(); //3、裁判认同数J:触发裁判的阅片期中,阅片人被裁判认同的阅片期数量; //4、总裁判数Q:阅片人完成阅片的阅片期中,触发裁判的阅片期数量; exportInfo.DoctorPeriodStatList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) + .Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && t.TrialReadingCriterionId == trialReadingCriterionId)) .GroupBy(t => new { t.DoctorUserId, t.DoctorUser.UserName, t.DoctorUser.FullName }) //有全局裁判 //.Where(g => g.Any(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null)) @@ -2492,17 +2493,18 @@ namespace IRaCIS.Core.Application.Service.Common FullName = g.Key.FullName, //触发裁判的阅片期的数量 并且裁判要求做完 - TotalJudgeCount = g.Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && t.TrialReadingCriterionId == trialReadingCriterionId)) + TotalJudgeCount = g .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned) - .Select(t => t.VisitTaskNum).Distinct().Count(), + .Select(t => new { t.SubjectId, t.VisitTaskNum }).Distinct().Count(), - JudgeAgreeCount = g.Where(t => t.Subject.ReadModuleList.Any(c => c.SubjectVisit.VisitNum == (t.VisitTaskNum - addReadingPeriodNum) && t.TrialReadingCriterionId == trialReadingCriterionId)) + JudgeAgreeCount = g .Where(t => t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned) .Where(t => t.JudgeVisitTask.JudgeResultTaskId == t.Id) - .Select(t => t.VisitTaskNum).Distinct().Count(), + .Select(t => new { t.SubjectId, t.VisitTaskNum }).Distinct().Count(), }).ToList(); + #endregion return await ExcelExportHelper.DataExportAsync(StaticData.Export.ReadingPeriodJudgeRatio_Export, exportInfo, $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}", _commonDocumentRepository, _hostEnvironment);