Uat_Study
hang 2023-03-23 15:06:25 +08:00
commit 2bbf70639d
2 changed files with 42 additions and 8 deletions

View File

@ -15,6 +15,9 @@ namespace IRaCIS.Core.Application.Service
Task AddTaskAsync(GenerateTaskCommand generateTaskCommand); Task AddTaskAsync(GenerateTaskCommand generateTaskCommand);
Task AddConvertedTask(Guid taskId);
Task BaseCritrionGenerateVisitTask(Guid trialId, Guid confirmedTrialReadingCriterionId,bool? isManualSelectVisit=null,List<Guid>? subjectVisitIdList=null); Task BaseCritrionGenerateVisitTask(Guid trialId, Guid confirmedTrialReadingCriterionId,bool? isManualSelectVisit=null,List<Guid>? subjectVisitIdList=null);
} }
} }

View File

@ -2347,22 +2347,53 @@ namespace IRaCIS.Application.Services
await _visitTaskRepository.SaveChangesAsync(); 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.CreateTaskRelated(visitTaskId);
// 触裁判任务 // 是否触发转变任务
await this.TriggerJudgeQuestion(visitTaskId); if (isConverted)
// 添加阅片期任务 {
await this.AddReadingTask(visitTaskId); 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);
}
} }