diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index f5ef8211e..1ec355076 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -1475,7 +1475,7 @@ namespace IRaCIS.Core.Application.Service.Common - public List DealJudgeMark(ArbitrationRule arbitrationRule, IEnumerable list) where T : CommonEvaluationExport + public List DealJudgeMark(ArbitrationRule arbitrationRule, bool isGlobalReading, IEnumerable list) where T : CommonEvaluationExport { //处理访视任务的裁判标记 var resultExceptJudgeList = list.Where(t => t.ReadingCategory != ReadingCategory.Judge).ToList(); @@ -1631,7 +1631,9 @@ namespace IRaCIS.Core.Application.Service.Common var subjectMaxFinishedTaskNum = resultExceptJudgeList.Where(t => t.SubjectCode == visitItem.SubjectCode) .GroupBy(t => t.VisitTaskNum).Where(g => g.Count() == 2).Select(g => g.Key).DefaultIfEmpty().Max(); - var minReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Min() + ReadingCommon.TaskNumDic[ReadingCategory.Global]; + var addReadingPeriodNum = isGlobalReading ? ReadingCommon.TaskNumDic[ReadingCategory.Global] : 0; + + var minReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Min() + addReadingPeriodNum; //最小阅片期 完成访视号 @@ -1640,7 +1642,7 @@ namespace IRaCIS.Core.Application.Service.Common if (subjectMaxFinishedTaskNum >= minReadingPeriodTaskNum) { //找到<= 完成最大访视任务号最近的阅片期号 - var latestFinishedReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Select(t => t + ReadingCommon.TaskNumDic[ReadingCategory.Global]).Where(t => t <= subjectMaxFinishedTaskNum).Max(); + var latestFinishedReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Select(t => t + addReadingPeriodNum).Where(t => t <= subjectMaxFinishedTaskNum).Max(); //小于已完成的阅片期的访视 设置触发裁判标志为否 并设置默认的裁判选择标记 (两个人肯定做完了) if (visitItem.VisitTaskNum <= latestFinishedReadingPeriodTaskNum) @@ -1661,7 +1663,7 @@ namespace IRaCIS.Core.Application.Service.Common } - + } } @@ -2027,7 +2029,7 @@ namespace IRaCIS.Core.Application.Service.Common [FromServices] IRepository _trialRepository) { //每次查询必须是单标准的 - var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync(); + var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == inQuery.TrialReadingCriterionId).Select(t => new { t.CriterionType, t.IsGlobalReading, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync(); var query = _visitTaskRepository.Where(t => t.TrialId == inQuery.TrialId && t.IsAnalysisCreate == false && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze)) @@ -2209,7 +2211,7 @@ namespace IRaCIS.Core.Application.Service.Common exportInfo.CriterionName = criterion.CriterionName; //处理裁判标记 - list = DealJudgeMark(criterion.ArbitrationRule, list); + list = DealJudgeMark(criterion.ArbitrationRule, criterion.IsGlobalReading, list); #region 系统标准处理整体肿瘤评估合并