diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index bce745c4d..2894580d6 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1332,10 +1332,6 @@ namespace IRaCIS.Core.Application.Service.Allocation } - Expression> filterExpression = t => t.TrialId == trialId && t.SubjectId == origenalTask.SubjectId && t.TaskState == TaskState.Effect && t.TaskAllocationState == TaskAllocationState.Allocated; - - //是否是一致性分析任务 - filterExpression = filterExpression.And(t => t.IsAnalysisCreate == origenalTask.IsAnalysisCreate); //更新申请信息 var visitTaskReReadingAppply = await _visitTaskReReadingRepository.FirstOrDefaultAsync(t => t.Id == item.Id); @@ -1344,6 +1340,10 @@ namespace IRaCIS.Core.Application.Service.Allocation visitTaskReReadingAppply.RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason; + Expression> filterExpression = t => t.TrialId == trialId && t.SubjectId == origenalTask.SubjectId && t.TaskState == TaskState.Effect && t.TaskAllocationState == TaskAllocationState.Allocated; + + + if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree) { ////有序 如果先同意访视2 再同意访视3 把访视3改为同意 @@ -1362,6 +1362,7 @@ namespace IRaCIS.Core.Application.Service.Allocation if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.TrialGroupApply && (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM)) { + // 不管有序 无序 都会 回退访视 if (origenalTask.ReadingCategory == ReadingCategory.Visit) { @@ -1559,6 +1560,9 @@ namespace IRaCIS.Core.Application.Service.Allocation else if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.DocotorApply && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager) { + //是否是一致性分析任务 正常申请 会影响一致性分析任务 + + filterExpression = filterExpression.And(t => t.IsAnalysisCreate == origenalTask.IsAnalysisCreate); //有序阅片 if (trialConfig.IsReadingTaskViewInOrder) @@ -2245,10 +2249,6 @@ namespace IRaCIS.Core.Application.Service.Allocation Expression> filterExpression = t => t.TrialId == trialId && t.SubjectId == filterObj.SubjectId && t.TaskState == TaskState.Effect && t.TaskAllocationState == TaskAllocationState.Allocated; - //是否是一致性分析任务 (一致性分析的任务 不会产生裁判 肿瘤学 仅仅有生成的访视和全局) - - filterExpression = filterExpression.And(t => t.IsAnalysisCreate == filterObj.IsAnalysisCreate); - //重阅影响 if (isReReading) @@ -2260,6 +2260,11 @@ namespace IRaCIS.Core.Application.Service.Allocation if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUser.UserTypeEnum == UserTypeEnum.IndependentReviewer)) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null)) { + + //是否是一致性分析任务 (一致性分析的任务 不会产生裁判 肿瘤学 仅仅有生成的访视和全局) + + filterExpression = filterExpression.And(t => t.IsAnalysisCreate == filterObj.IsAnalysisCreate); + //当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务 //有序 @@ -2332,6 +2337,9 @@ namespace IRaCIS.Core.Application.Service.Allocation || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId == null)) { + + + //有序 if (trialConfig.IsReadingTaskViewInOrder) {