diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index f3f8344e2..e2b6895e0 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1741,8 +1741,11 @@ public class VisitTaskService(IRepository _visitTaskRepository, } else { - //默认影响的都是该标准的任务 - filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId); + if (requestReReadingType != RequestReReadingType.TrialGroupApply) + { + //默认影响的都是该标准的任务 + filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId); + } } //PM申请 SPM / CPM审批 回退访视,因此这里不生成访视任务 影响多个标准的任务 @@ -2661,13 +2664,16 @@ public class VisitTaskService(IRepository _visitTaskRepository, //IR 申请1.1 基线重阅,影响附加评估所有的任务 var isIR1Point1AdditionalAssessmentBaseline = false; + //是IR 申请 PM 审批流程 + var isIRApplyPMApprovalProcess = (IsPMOrAPm() && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUserRole.UserTypeEnum == UserTypeEnum.IndependentReviewer)) + || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null); + //附加评估 IR 和PM 看到的影响列表不一样 if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment) { // IR 申请 PM 同意 - if (((IsPMOrAPm() && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUserRole.UserTypeEnum == UserTypeEnum.IndependentReviewer)) - || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null))) + if (isIRApplyPMApprovalProcess) { // 1.1 基线任务影响BM任务 @@ -2695,13 +2701,11 @@ public class VisitTaskService(IRepository _visitTaskRepository, } else { - if (isReReading == true) + if (isReReading == true && isIRApplyPMApprovalProcess) { //默认影响的都是该标准的任务 filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId); } - - } diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 82afeaeff..57c3ad1a3 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -130,6 +130,35 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(); } + //添加医学审核问题 + [AllowAnonymous] + public async Task AddReadingMedicineSystemQuestion([FromServices] IRepository _readingMedicineSystemQuestion) + { + if (!_readingMedicineSystemQuestion.Any(t => t.CriterionTypeEnum == CriterionType.mRECISTHCC)) + { + var list = _readingMedicineSystemQuestion.Where(t => t.CriterionTypeEnum == CriterionType.RECIST1Point1).ToList(); + + var initOrder = 500; + foreach (var item in list) + { + item.Id = NewId.NextSequentialGuid(); + + item.CriterionTypeEnum = CriterionType.mRECISTHCC; + + item.CreateTime = DateTime.Now; + item.ShowOrder = initOrder; + + initOrder = initOrder + 1; + } + + await _readingMedicineSystemQuestion.AddRangeAsync(list,true); + } + + + + return ResponseOutput.Ok(); + } + /// /// IQC 回退到影像上传 ///