From 5ec4c620baf81e3b8f80d01b3e3b25323f2f247a Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 19 Jul 2022 14:10:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=B1=E5=93=8D=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/VisitTaskService.cs | 102 +++++++++++++----- 1 file changed, 75 insertions(+), 27 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index eca8f1ea0..5aeb570ca 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1283,7 +1283,7 @@ namespace IRaCIS.Core.Application.Service.Allocation //影响后续访视已经读完的,未读的不做处理 以及其他类型任务 filterExpression = filterExpression.And(t => t.VisitTaskNum > origenalTask.VisitTaskNum && t.DoctorUserId == origenalTask.DoctorUserId && - (t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState==ReadingTaskState.HaveSigned || + (t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned || t.ReadingCategory == ReadingCategory.Global || t.ReadingCategory == ReadingCategory.Oncology || t.ReadingCategory == ReadingCategory.Judge) @@ -1320,6 +1320,7 @@ namespace IRaCIS.Core.Application.Service.Allocation throw new BusinessValidationFailedException("不支持重阅的任务类型"); } + #endregion #region 这里时影响其他的任务 不包括申请的任务 申请的任务,在上面会统一处理 @@ -1329,15 +1330,15 @@ namespace IRaCIS.Core.Application.Service.Allocation foreach (var influenceTask in influenceTaskList) { - - if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) - { - influenceTask.TaskState = TaskState.HaveReturned; - } - else - { - influenceTask.TaskState = TaskState.Adbandon; - } + + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.TaskState = TaskState.HaveReturned; + } + else + { + influenceTask.TaskState = TaskState.Adbandon; + } } #endregion @@ -1378,7 +1379,6 @@ namespace IRaCIS.Core.Application.Service.Allocation if (origenalTask.ReadingCategory == ReadingCategory.Visit && origenalTask.JudgeVisitTaskId != null) { - //裁判任务是否已阅片完成 var judgeTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == origenalTask.JudgeVisitTaskId); @@ -1391,7 +1391,6 @@ namespace IRaCIS.Core.Application.Service.Allocation { judgeTask.TaskState = TaskState.Adbandon; } - } @@ -1775,7 +1774,7 @@ namespace IRaCIS.Core.Application.Service.Allocation //2、后续任务如果是全局、肿瘤学阅片任务,状态为阅片完成标记为重阅重置;若在阅片中,则标记为失效;若为待阅片,则标记为失效; //3、当前任务、后续访视任务或者全局任务触发了裁判任务,若裁判任务状态为阅片完成,则标记为重阅重置;若在阅片中或待阅片,则标记为失效 filterExpression = filterExpression.And(t => t.VisitTaskNum >= filterObj.VisitTaskNum && t.DoctorUserId == filterObj.DoctorUserId && - (t.ReadingCategory == ReadingCategory.Visit &&t.ReadingTaskState==ReadingTaskState.HaveSigned|| + (t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState == ReadingTaskState.HaveSigned || t.ReadingCategory == ReadingCategory.Global || t.ReadingCategory == ReadingCategory.Oncology || t.ReadingCategory == ReadingCategory.Judge) @@ -1927,31 +1926,80 @@ namespace IRaCIS.Core.Application.Service.Allocation if (isReReading) { - //有序 - if (trialConfig.IsReadingTaskViewInOrder) + + + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) { - - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) + //有序 + if (trialConfig.IsReadingTaskViewInOrder) { - + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.OPtType = ReReadingOrBackOptType.Return; + } + else + { + influenceTask.OPtType = ReReadingOrBackOptType.Abandon; + } } - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM|| _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) + else { - + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.OPtType = ReReadingOrBackOptType.Return; + } + else + { + influenceTask.OPtType = ReReadingOrBackOptType.Abandon; + } } } - //无序 - else + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) { - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) + //有序 + if (trialConfig.IsReadingTaskViewInOrder) { - + //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配 + if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum) + { + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.OPtType = ReReadingOrBackOptType.Return; + } + else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading) + { + influenceTask.OPtType = ReReadingOrBackOptType.Abandon; + } + else + { + influenceTask.OPtType = ReReadingOrBackOptType.CancelAssign; + } + } + else + { + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.OPtType = ReReadingOrBackOptType.Return; + } + else + { + influenceTask.OPtType = ReReadingOrBackOptType.Abandon; + } + } } - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) + else { - + if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned) + { + influenceTask.OPtType = ReReadingOrBackOptType.Return; + } + else + { + influenceTask.OPtType = ReReadingOrBackOptType.Abandon; + } } } + } //PM退回 else @@ -1998,7 +2046,7 @@ namespace IRaCIS.Core.Application.Service.Allocation } } - + } return list;