From c49cd2e75e4a4655d7bbe714a2134098897139de Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 6 Jan 2026 17:48:31 +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 | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs index 91cbc248b..8ecbcce82 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitTrigger.cs @@ -182,21 +182,25 @@ namespace IRaCIS.Core.Application.Triggers readModule = await _readModuleRepository.AddAsync(newReadModule); - if (await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == item.Id && x.IsOncologyReading)) + + } + + var readTumorModule = await _readModuleRepository.Where(x => x.ReadingSetType == ReadingSetType.TumorReading && x.TrialReadingCriterionId == item.Id && x.SubjectVisitId == subjectVisitId).FirstOrDefaultAsync(); + + if ((await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == item.Id && x.IsOncologyReading))&& readTumorModule==null) + { + await _readModuleRepository.AddAsync(new ReadModule() { - 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 - }); - } + 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();