diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 45f77f15b..13f4793d0 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -10482,7 +10482,7 @@
-
+
获取子元素
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..15173b0f2 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs
@@ -2347,22 +2347,50 @@ 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.EqEnum(OverallAssessment.PD)))
+ )
+ {
+
+ 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);
+ }
+
+
}