diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index db17abecd..9add1f2bf 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -1664,7 +1664,7 @@ namespace IRaCIS.Core.Application.Service.Common { //最大的完成的全局未产生裁判 - if (visitItem.VisitTaskNum < subjectMaxFinishedGlobalTaskNum) + if (visitItem.VisitTaskNum <= subjectMaxFinishedGlobalTaskNum) { visitItem.IsTrigerJudge = false; @@ -2370,8 +2370,8 @@ namespace IRaCIS.Core.Application.Service.Common //2、完成阅片的病例数Q:R1,R2均完成阅片的访视数; exportInfo.VisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned) - .GroupBy(t => new { t.SubjectId, t.SourceSubjectVisitId }) - .Where(g => g.Count() == 2).Select(g => g.Key.SourceSubjectVisitId).Distinct().Count(); + .GroupBy(t => new { t.SubjectId, t.VisitTaskNum }) + .Where(g => g.Count() == 2).Select(g => g.Key.VisitTaskNum).Distinct().Count(); //裁判不需要完成阅片 exportInfo.JudgeVisitCount = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Judge).Count(); @@ -2465,13 +2465,13 @@ namespace IRaCIS.Core.Application.Service.Common exportInfo.SubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t => t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned) - .GroupBy(t => new { t.SubjectId, t.SouceReadModuleId }).Where(g => g.Count() == 2).Any() + .GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Any() ).Count(); //最后一个已完成的全局 没产生裁判 (之前有裁判),不算入裁判量 exportInfo.judgeSubjectCount = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t => t.SubjectVisitTaskList.AsQueryable().Where(comonTaskFilter).Where(t => t.ReadingCategory == ReadingCategory.Global && t.ReadingTaskState == ReadingTaskState.HaveSigned) - .GroupBy(t => new { t.SubjectId, t.SouceReadModuleId, t.VisitTaskNum }).Where(g => g.Count() == 2 && g.Key.VisitTaskNum == g.Max(t => t.VisitTaskNum)).Any(g => g.Any(t => t.JudgeVisitTaskId != null)) + .GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2 && g.Key.VisitTaskNum == g.Max(t => t.VisitTaskNum)).Any(g => g.Any(t => t.JudgeVisitTaskId != null)) ).Count(); exportInfo.DoctorSubjectStatList = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) @@ -2488,9 +2488,10 @@ namespace IRaCIS.Core.Application.Service.Common .Select(t => t.SubjectId).Distinct().Count(), // G-2 G-4 可能选择的是不同的医生,要以最后一次选择的为准 - JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned - && t.JudgeVisitTask.JudgeResultTaskId == t.Id - && t.VisitTaskNum == g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.ReadingTaskState == ReadingTaskState.HaveSigned).Max(t => t.VisitTaskNum)) + JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && 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) + && t.JudgeVisitTask.JudgeResultTaskId == t.Id + ) .Select(t => t.SubjectId).Distinct().Count(), }).ToList(); @@ -2600,11 +2601,7 @@ namespace IRaCIS.Core.Application.Service.Common } - return await ExcelExportHelper.DataExportAsync(StaticData.Export.ReadingPeriodJudgeRatio_Export, exportInfo, $"{exportInfo.ResearchProgramNo}_{exportInfo.CriterionName}", _commonDocumentRepository, _hostEnvironment); - - - } else {