From e06f564905d417aa3ba2304ba9758e000601a5af Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 24 Jul 2023 17:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=80=E5=9B=9E=E9=87=8D?= =?UTF-8?q?=E9=98=85=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/VisitTaskService.cs | 94 +------------------ 1 file changed, 3 insertions(+), 91 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index d70a1bcc7..763866a32 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -847,46 +847,6 @@ namespace IRaCIS.Core.Application.Service.Allocation } - - - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) - { - if (criterionConfig.IsAutoCreate == false) - { - //---手动生成任务的不允许PM 申请影像重阅 - return ResponseOutput.NotOk(_localizer["VisitTask_NoPMRecheck"]); - } - - if (task.IsAnalysisCreate) - { - //---PM 不允许对一致性分析任务进行申请重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_Reapply"]); - } - - if (task.ReadingCategory != ReadingCategory.Visit) - { - //---PM 仅仅允许对访视类型的任务申请重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_ConsistencyAnalysis"]); - } - - - // 有序 一个受试者访视重阅未处理完,不能申请其他的 - if (criterionConfig.IsReadingTaskViewInOrder) - { - if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect - && t.OriginalReReadingTask.TrialReadingCriterionId == task.TrialReadingCriterionId - && t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default)) - { - //---当前为有序阅片,该受试者已有访视已申请重阅还未处理(项目组申请),暂不能继续申请重阅 - return ResponseOutput.NotOk(_localizer["VisitTask_VisitTypeRestriction"]); - } - } - - - task.ReReadingApplyState = ReReadingApplyState.TrialGroupHaveApplyed; - - - } if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SR || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.PI) { task.ReReadingApplyState = ReReadingApplyState.DocotorHaveApplyed; @@ -896,58 +856,13 @@ namespace IRaCIS.Core.Application.Service.Allocation { // 针对同一个subject 不同阅片人 针对同一个访视申请重阅,是允许的,所以同一阅片人,针对同一suject 有访视申请重阅还未处理,不允许申请重阅 if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect - && t.OriginalReReadingTask.TrialReadingCriterionId == task.TrialReadingCriterionId && t.OriginalReReadingTask.DoctorUserId == task.DoctorUserId + && t.OriginalReReadingTask.TrialReadingCriterionId == task.TrialReadingCriterionId && t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.DocotorApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default)) { //---当前为有序阅片,该受试者已有访视已申请重阅还未处理,暂不能继续申请重阅 throw new BusinessValidationFailedException(_localizer["VisitTask_SequentialReading"]); } - - - //在PM 的申请重阅的影响列表里也不能申请重阅 - - var pmApply = await _visitTaskReReadingRepository.Where(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect && t.OriginalReReadingTask.ReadingCategory == ReadingCategory.Visit - && t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default).Include(t => t.OriginalReReadingTask).FirstOrDefaultAsync(); - - if (pmApply != null) - { - var originalTask = pmApply.OriginalReReadingTask; - - //PM 有序影响列表 - if (await _visitTaskRepository.Where(t => t.TrialId == originalTask.TrialId && t.SubjectId == originalTask.SubjectId && t.TaskState == TaskState.Effect /*&& t.TaskAllocationState == TaskAllocationState.Allocated*/ && t.IsAnalysisCreate == false && t.TrialReadingCriterionId == originalTask.TrialReadingCriterionId && t.VisitTaskNum >= originalTask.VisitTaskNum) - .AnyAsync(t => t.VisitTaskNum == task.VisitTaskNum)) - { - //---当前为有序阅片,影像存在问题,项目组已申请回退,暂不能申请重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_ImageProblem"]); - } - - } - - - - Expression> filterExpression = t => t.TrialId == task.TrialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.TrialReadingCriterionId == task.TrialReadingCriterionId - && t.DoctorUserId == task.DoctorUserId && t.IsAnalysisCreate == false && t.VisitTaskNum > task.VisitTaskNum; - - - - if (task.ReadingCategory == ReadingCategory.Global && await _visitTaskRepository.AnyAsync(filterExpression.And(t => t.ReadingCategory == ReadingCategory.Global))) - { - //---有序阅片,只允许申请该受试者阅片人最后一次完成全局任务重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_LastReading"]); - } - - if (task.ReadingCategory == ReadingCategory.Oncology && await _visitTaskRepository.AnyAsync(filterExpression.And(t => t.ReadingCategory == ReadingCategory.Oncology))) - { - //---有序阅片,只允许申请该受试者阅片人最后一次完成肿瘤学任务重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_LastOncologistRecheck"]); - } - - if (task.ReadingCategory == ReadingCategory.Judge && await _visitTaskRepository.AnyAsync(filterExpression.And(t => t.ReadingCategory == ReadingCategory.Judge))) - { - //---有序阅片,只允许申请该受试者阅片人最后一次完成裁判的任务重阅 - throw new BusinessValidationFailedException(_localizer["VisitTask_LastAdjudicatorRecheck"]); - } - + } else { @@ -1252,7 +1167,6 @@ namespace IRaCIS.Core.Application.Service.Allocation visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id; //生成的任务分配给原始医生 - newTask.DoctorUserId = origenalTask.DoctorUserId; newTask.TaskAllocationState = TaskAllocationState.Allocated; newTask.AllocateTime = DateTime.Now; newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget); @@ -1373,9 +1287,7 @@ namespace IRaCIS.Core.Application.Service.Allocation //申请表 设置新任务Id visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id; - ////生成的任务分配给原始医生 - newTask.DoctorUserId = origenalTask.DoctorUserId; - newTask.TaskAllocationState = TaskAllocationState.Allocated; + newTask.AllocateTime = DateTime.Now; newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);