diff --git a/IRaCIS.Core.Application/Service/Allocation/Interface/IVisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/Interface/IVisitTaskHelpeService.cs index e527c8301..f8380bb8f 100644 --- a/IRaCIS.Core.Application/Service/Allocation/Interface/IVisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/Interface/IVisitTaskHelpeService.cs @@ -15,6 +15,9 @@ namespace IRaCIS.Core.Application.Service Task AddTaskAsync(GenerateTaskCommand generateTaskCommand); + + Task AddConvertedTask(Guid taskId); + Task BaseCritrionGenerateVisitTask(Guid trialId, Guid confirmedTrialReadingCriterionId,bool? isManualSelectVisit=null,List? subjectVisitIdList=null); } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index a300b9826..1489399ec 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2347,22 +2347,53 @@ namespace IRaCIS.Application.Services await _visitTaskRepository.SaveChangesAsync(); + bool isConverted = false; + + var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync(); + + switch (taskinfo.TrialReadingCriterion.CriterionType) + { + case CriterionType.IRECIST1Point1: + + + + if (!taskinfo.IsConvertedTask && + (await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.VisitTaskId == visitTaskId + && x.ReadingQuestionTrial.QuestionType == QuestionType.Tumor && x.Answer==(((int)OverallAssessment.PD)).ToString())) + ) + { + + isConverted = true; + } + break; + } + // 创建任务关联关系 await this.CreateTaskRelated(visitTaskId); - // 触裁判任务 - await this.TriggerJudgeQuestion(visitTaskId); - // 添加阅片期任务 - await this.AddReadingTask(visitTaskId); + // 是否触发转变任务 + if (isConverted) + { + await _visitTaskHelpeService.AddConvertedTask(visitTaskId); + } + else + { + // 触裁判任务 + await this.TriggerJudgeQuestion(visitTaskId); + // 添加阅片期任务 + await this.AddReadingTask(visitTaskId); - // 完成阅片修改状态 - //await this.FinishReadUpdateState(visitTaskId); + // 完成阅片修改状态 + //await this.FinishReadUpdateState(visitTaskId); - await _visitTaskRepository.SaveChangesAsync(); + await _visitTaskRepository.SaveChangesAsync(); - await _trialEmailNoticeConfigService.BaseBusinessScenarioSendEmailAsync(visitTaskId); + await _trialEmailNoticeConfigService.BaseBusinessScenarioSendEmailAsync(visitTaskId); + } + + }