From f8b36df86d2d84af300611661a8660217dc998f3 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 6 Jan 2026 17:45:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Triggers/SubjectVisitTrigger.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs index feba6454e..91cbc248b 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs @@ -1,7 +1,9 @@ using EntityFrameworkCore.Triggered; +using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Service.Reading.Interface; using IRaCIS.Core.Application.ViewModel; +using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using MassTransit; @@ -179,6 +181,22 @@ namespace IRaCIS.Core.Application.Triggers }; readModule = await _readModuleRepository.AddAsync(newReadModule); + + if (await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == item.Id && x.IsOncologyReading)) + { + await _readModuleRepository.AddAsync(new ReadModule() + { + TrialReadingCriterionId = item.Id, + ReadingSetType = ReadingSetType.TumorReading, + SubjectVisitId = subjectVisit.Id, + ModuleName = $"O-{subjectVisit.VisitName}", + ModuleType = ModuleTypeEnum.Oncology, + ReadModuleAddTypeEnum = subjectVisit.PDState == PDStateEnum.PDProgress ? ReadModuleAddType.PDConfirmation : ReadModuleAddType.FinalVisit, + IsUrgent = subjectVisit.IsUrgent, + TrialId = subjectVisit.TrialId, + SubjectId = subjectVisit.SubjectId + }); + } } var visitTaskList = await _visitTaskRepository.Where(x => x.TrialReadingCriterionId == item.Id && x.SourceSubjectVisitId == subjectVisitId && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned).ToListAsync();