From b5a76804ad880e48e8fe9cba79023915d17af855 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 6 Jan 2026 17:31:30 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 0dcbbe1bd..cd85f6d77 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1981,6 +1981,23 @@ namespace IRaCIS.Core.Application.Image.QA SubjectId = dbSubjectVisit.SubjectId }); + + if (await _readingQuestionCriterionTrialRepository.AnyAsync(x => x.Id == trialReadingCriterionId && x.IsOncologyReading)) + { + await _readModuleRepository.AddAsync(new ReadModule() + { + TrialReadingCriterionId = trialReadingCriterionId, + ReadingSetType = ReadingSetType.TumorReading, + SubjectVisitId = dbSubjectVisit.Id, + ModuleName = $"O-{dbSubjectVisit.VisitName}", + ModuleType = ModuleTypeEnum.Oncology, + ReadModuleAddTypeEnum = dbSubjectVisit.PDState == PDStateEnum.PDProgress ? ReadModuleAddType.PDConfirmation : ReadModuleAddType.FinalVisit, + IsUrgent = dbSubjectVisit.IsUrgent, + TrialId = dbSubjectVisit.TrialId, + SubjectId = dbSubjectVisit.SubjectId + }); + } + } } 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 2/5] =?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(); 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 3/5] =?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(); From 9012b9c35c1ee0c79d2aec34274bad77e0db3af1 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 7 Jan 2026 09:08:55 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/General/ReadingCalculateService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs index c05532e08..df1fd68ec 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs @@ -614,7 +614,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Arm = arm, ChartType = null, - GroupName = g.GroupName, + GroupName = g.QuestionName, Unit = items.FirstOrDefault()?.Unit, VisitTaskNameList = alldata.VisitTaskList.Select(x => x.BlindName).ToList(), LatestScanDateList = alldata.VisitTaskList.Select(x => x.LatestScanDate).ToList(), From 051094a74293e4b1097c644e755cadd511642ec0 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 7 Jan 2026 09:16:50 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ReadingCalculate/General/GeneralCalculateService.cs | 1 + .../Service/ReadingCalculate/General/ReadingCalculateService.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs index 4364366a5..8618fb3a6 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs @@ -66,6 +66,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate foreach (var item in questions) { item.QuestionName = item.QuestionName.LanguageName(item.QuestionEnName, _userInfo.IsEn_Us); + item.GroupName = item.GroupName.LanguageName(item.GroupEnName, _userInfo.IsEn_Us); item.ReportLayType = ReportLayType.Group; item.Childrens = _mapper.Map>(questionList.Where(x => x.GroupId == item.QuestionId).OrderBy(x => x.ShowOrder)); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs index df1fd68ec..c05532e08 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs @@ -614,7 +614,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Arm = arm, ChartType = null, - GroupName = g.QuestionName, + GroupName = g.GroupName, Unit = items.FirstOrDefault()?.Unit, VisitTaskNameList = alldata.VisitTaskList.Select(x => x.BlindName).ToList(), LatestScanDateList = alldata.VisitTaskList.Select(x => x.LatestScanDate).ToList(),