diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index f1559db0e..4e911363f 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -1502,11 +1502,21 @@ namespace IRaCIS.Core.Application.Service.Common } else { - //如果没有产生裁判,默认选择R1 - if (item.ArmEnum == Arm.DoubleReadingArm1) + //两个人都做了 + if (resultExceptJudgeList.Count(t => t.VisitTaskNum == item.VisitTaskNum && t.SubjectCode == item.SubjectCode) == 2) { - item.IsJudgeSelect = true; + //如果没有产生裁判,默认选择R1 + if (item.ArmEnum == Arm.DoubleReadingArm1) + { + item.IsJudgeSelect = true; + } } + else + { + item.IsJudgeSelect = null; + item.IsTrigerJudge = null; + } + } } @@ -1526,13 +1536,20 @@ namespace IRaCIS.Core.Application.Service.Common var maxNotFinishedJudge = judegeList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned).FirstOrDefault(); - //仅有一个未完成的全局裁判,那么都是null + + //有一个未完成的全局裁判,那么都是null if (maxFinishedJudge == null && maxNotFinishedJudge != null) { if (visitItem.VisitTaskNum < maxNotFinishedJudge.VisitTaskNum) { visitItem.IsJudgeSelect = null; } + else + { + //大于当前未完成的全局裁判 后续 肯定是未知的 + visitItem.IsTrigerJudge = null; + visitItem.IsJudgeSelect = null; + } } //全局裁判都完成了,那么以最后一次裁判选择的为准 else if (maxFinishedJudge != null && maxNotFinishedJudge == null) @@ -1547,6 +1564,12 @@ namespace IRaCIS.Core.Application.Service.Common { visitItem.IsJudgeSelect = false; } + else + { + //裁判都完成的后续 没有其他裁判任务 肯定也是未知的 + visitItem.IsTrigerJudge = null; + visitItem.IsJudgeSelect = null; + } } else { @@ -1555,6 +1578,7 @@ namespace IRaCIS.Core.Application.Service.Common //在完成裁判之后的,和未完成裁判之前的 if (/*visitItem.VisitTaskNum < maxNotFinishedJudge.VisitTaskNum &&*/ visitItem.VisitTaskNum > maxFinishedJudge.VisitTaskNum) { + visitItem.IsTrigerJudge = null; visitItem.IsJudgeSelect = null; } else if (visitItem.ArmEnum == maxFinishedJudge.JudgeArmEnum && visitItem.VisitTaskNum < maxFinishedJudge.VisitTaskNum) @@ -1571,11 +1595,23 @@ namespace IRaCIS.Core.Application.Service.Common } else { - //不存在裁判 将R1设置 - if (visitItem.ArmEnum == Arm.DoubleReadingArm1) + //没有产生裁判 有可能一个人没做完,也有可能做完了没产生裁判 + //两个人都做了 + if (resultExceptJudgeList.Count(t => t.VisitTaskNum == visitItem.VisitTaskNum && t.SubjectCode == visitItem.SubjectCode) == 2) { - visitItem.IsJudgeSelect = true; + //不存在裁判 将R1设置 + if (visitItem.ArmEnum == Arm.DoubleReadingArm1) + { + visitItem.IsJudgeSelect = true; + } } + else + { + visitItem.IsJudgeSelect = null; + visitItem.IsTrigerJudge = null; + } + + } } } diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index 6f5393bca..0f5f04839 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -1189,8 +1189,8 @@ namespace IRaCIS.Core.Application.Contracts //在当前访视触发裁判,或者在截止日期小于等于当前访视的阅片期触发裁判 - [DictionaryTranslateAttribute("YesOrNo")] - public bool IsTrigerJudge { get; set; } + [DictionaryTranslateAttribute("YesOrNoAudit")] + public bool? IsTrigerJudge { get; set; } //(如果是访视点裁判,则仅在所选阅片人对应访视 显示;如果是阅片期裁判,则在所选阅片人 阅片期内的所有访视 显示此原因) public string JudgeNote { get; set; } = string.Empty;