修改阅片期裁判 遗漏情况
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
f40a48265c
commit
1417277cb1
|
@ -1542,6 +1542,15 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
|
||||
var subjectJudgeList = judegeList.Where(t => t.SubjectCode == visitItem.SubjectCode).ToList();
|
||||
|
||||
//阅片期访视号
|
||||
var subjectReadingPeriondVisitNumList = resultExceptJudgeList.Where(t => t.SubjectCode == visitItem.SubjectCode).FirstOrDefault()?.SubjectCriterionReadingPeriodVisitNumList;
|
||||
|
||||
//两个人完成最大得任务号(访视+全局)
|
||||
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 addReadingPeriodNum = isGlobalReading ? ReadingCommon.TaskNumDic[ReadingCategory.Global] : 0;
|
||||
|
||||
if (subjectJudgeList.Count > 0)
|
||||
{
|
||||
|
||||
|
@ -1549,6 +1558,9 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
|
||||
var maxNotFinishedJudge = subjectJudgeList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned).OrderByDescending(t => t.VisitTaskNum).FirstOrDefault();
|
||||
|
||||
//找到<= 完成最大访视任务号最近的阅片期号
|
||||
var latestFinishedReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Select(t => t + addReadingPeriodNum).Where(t => t <= subjectMaxFinishedTaskNum).Max();
|
||||
|
||||
|
||||
//n个裁判任务都未完成
|
||||
if (maxFinishedJudge == null && maxNotFinishedJudge != null)
|
||||
|
@ -1579,13 +1591,29 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
{
|
||||
visitItem.IsJudgeSelect = false;
|
||||
}
|
||||
//裁判都完成的后续 可能有已完成全局,但是没有产生裁判
|
||||
else if(visitItem.VisitTaskNum <= latestFinishedReadingPeriodTaskNum)
|
||||
{
|
||||
//不存在裁判 将R1设置
|
||||
if (visitItem.ArmEnum == Arm.DoubleReadingArm1)
|
||||
{
|
||||
visitItem.IsJudgeSelect = true;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
visitItem.IsJudgeSelect = false;
|
||||
visitItem.IsTrigerJudge = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//裁判都完成的后续 没有其他裁判任务 肯定也是未知的
|
||||
visitItem.IsTrigerJudge = null;
|
||||
visitItem.IsJudgeSelect = null;
|
||||
}
|
||||
}
|
||||
//n个完成 m个未完成
|
||||
else
|
||||
{
|
||||
//两个都不为null 肯定是不同的裁判
|
||||
|
@ -1624,21 +1652,11 @@ namespace IRaCIS.Core.Application.Service.Common
|
|||
visitItem.IsJudgeSelect = null;
|
||||
visitItem.IsTrigerJudge = null;
|
||||
|
||||
//阅片期访视号
|
||||
var subjectReadingPeriondVisitNumList = resultExceptJudgeList.Where(t => t.SubjectCode == visitItem.SubjectCode).FirstOrDefault()?.SubjectCriterionReadingPeriodVisitNumList;
|
||||
|
||||
if (subjectReadingPeriondVisitNumList != null && subjectReadingPeriondVisitNumList.Count()>0)
|
||||
{
|
||||
//两个人完成最大得任务号(访视+全局)
|
||||
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 addReadingPeriodNum = isGlobalReading ? ReadingCommon.TaskNumDic[ReadingCategory.Global] : 0;
|
||||
|
||||
var minReadingPeriodTaskNum = subjectReadingPeriondVisitNumList.Min() + addReadingPeriodNum;
|
||||
|
||||
//最小阅片期 完成访视号
|
||||
|
||||
//有阅片期读完了 肯定要读到最小阅片期号后面
|
||||
|
||||
if (subjectMaxFinishedTaskNum >= minReadingPeriodTaskNum)
|
||||
|
|
Loading…
Reference in New Issue