From d72b28afc20f925c57e29cd74386be9ed982e105 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 26 Sep 2025 15:53:02 +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 --- .../ReportTemplate_IRECIST_CN_V1.docx | Bin 170377 -> 170654 bytes .../General/GeneralCalculateService.cs | 20 ++++++- .../IRECIST1Point1CalculateService.cs | 54 +++++++++++++++--- .../MRECISTHCCCalculateService.cs | 10 ++-- .../ReadingCalculate/PCWG3CalculateService.cs | 10 ++-- .../RECIST1Point1CalculateService.cs | 10 ++-- .../RECIST1Point1_BMCalculateService.cs | 10 ++-- 7 files changed, 85 insertions(+), 29 deletions(-) diff --git a/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/ReportTemplate_IRECIST_CN_V1.docx b/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/ReportTemplate_IRECIST_CN_V1.docx index 97cf20af8aca43c3219f7ac5c289d2d6c4964bc1..ecebae91e87854d67070bb7d014e57b67bc90771 100644 GIT binary patch delta 10852 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 tI_m$m;r&0T-_VY taskIds.Contains(x.Id)).Select(x => new { x.Id, x.IsConvertedTask }).ToListAsync(); + relatedVisitTask.Item1 = relatedVisitTask.Item1.Where(x => taskIds.Contains(x.VisitTaskId)).ToList(); // 所有访视问题的答案 var answerList = await _readingTaskQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId)).Include(x => x.ReadingQuestionTrial).ToListAsync(); @@ -455,11 +458,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Dictionary target = new Dictionary() { - { "RowMark","-"}, - { "Organ","-"}, - { "FirstVisit","-" }, - { "SecondVisit", "-" }, - { "ThirdlyVisit", "-" }, + { "RowMark",string.Empty}, + { "Organ",string.Empty}, + { "FirstVisit",string.Empty }, + { "SecondVisit", string.Empty }, + { "ThirdlyVisit", string.Empty }, }; targetInfo.Add(target); } @@ -509,18 +512,53 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate foreach (var item in exports) { item.QuestionName = _generalCalculateService.GetTrialQuestionName(trialQuestion, item.QuestionType); + Dictionary questionAnswer = new Dictionary() { {"Name", item.QuestionName}, - {"FirstVisit", _generalCalculateService.GetTaskanswer(answerList,dictionList,unitDictionary,taskIds[0],item.QuestionType)}, - {"SecondVisit", relatedCount>=2? _generalCalculateService.GetTaskanswer(answerList,dictionList,unitDictionary,taskIds[1],item.QuestionType):string.Empty }, - {"ThirdlyVisit", relatedCount>=3? _generalCalculateService.GetTaskanswer(answerList,dictionList,unitDictionary,taskIds[2],item.QuestionType):string.Empty }, + {"FirstVisit", GetAnswerWithFallback(taskIds[0],item) }, + {"SecondVisit", relatedCount>=2? GetAnswerWithFallback(taskIds[1],item):string.Empty }, + {"ThirdlyVisit", relatedCount>=3? GetAnswerWithFallback(taskIds[2],item):string.Empty }, }; + + + + + questionAnswerList.Add(questionAnswer); } return questionAnswerList; } + string GetAnswerWithFallback(Guid taskId, ExportReportQuestion item) + { + + var answer=string.Empty; + + List questionTypes = new List() { + QuestionType.ComparedTriggeringSODChange, + QuestionType.ISOD, + QuestionType.ComparedTriggeringiSODChange, + QuestionType.NewTargetLesion, + QuestionType.NewNoTargetLesion, + QuestionType.OtherNewTargetLesion, + QuestionType.IRECISTNewTargetLesion, + QuestionType.NewLesionEvaluation, + + }; + + if (questionTypes.Contains(item.QuestionType) && !isConvertedTaskList.Any(x => x.IsConvertedTask && x.Id == taskId)) + { + answer= "NA"; + } + else + { + answer = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, taskId, item.QuestionType); + } + + return answer; + } + #endregion var studyInfo = (await _dicomStudyRepository.Where(x => x.SubjectVisitId == taskinfo.SourceSubjectVisitId).Select(x => new diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/MRECISTHCCCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/MRECISTHCCCalculateService.cs index 09576976c..6889112b8 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/MRECISTHCCCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/MRECISTHCCCalculateService.cs @@ -376,11 +376,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Dictionary target = new Dictionary() { - { "RowMark","-"}, - { "Organ","-"}, - { "FirstVisit","-" }, - { "SecondVisit", "-" }, - { "ThirdlyVisit", "-" }, + { "RowMark",string.Empty}, + { "Organ",string.Empty}, + { "FirstVisit",string.Empty }, + { "SecondVisit", string.Empty }, + { "ThirdlyVisit", string.Empty }, }; targetInfo.Add(target); } diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs index b11ca7854..825861e56 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs @@ -170,11 +170,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Dictionary target = new Dictionary() { - { "RowMark","-"}, - { "Organ","-"}, - { "FirstVisit","-" }, - { "SecondVisit", "-" }, - { "ThirdlyVisit", "-" }, + { "RowMark",string.Empty}, + { "Organ",string.Empty}, + { "FirstVisit",string.Empty }, + { "SecondVisit", string.Empty }, + { "ThirdlyVisit", string.Empty }, }; targetInfo.Add(target); } diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index aca03d84c..db653d1c6 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -373,11 +373,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Dictionary target = new Dictionary() { - { "RowMark","-"}, - { "Organ","-"}, - { "FirstVisit","-" }, - { "SecondVisit", "-" }, - { "ThirdlyVisit", "-" }, + { "RowMark",string.Empty}, + { "Organ",string.Empty}, + { "FirstVisit",string.Empty }, + { "SecondVisit", string.Empty }, + { "ThirdlyVisit", string.Empty }, }; targetInfo.Add(target); } diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs index bf9f3504d..0412fc796 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1_BMCalculateService.cs @@ -366,11 +366,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { Dictionary target = new Dictionary() { - { "RowMark","-"}, - { "Organ","-"}, - { "FirstVisit","-" }, - { "SecondVisit", "-" }, - { "ThirdlyVisit", "-" }, + { "RowMark",string.Empty}, + { "Organ",string.Empty}, + { "FirstVisit",string.Empty }, + { "SecondVisit", string.Empty }, + { "ThirdlyVisit", string.Empty }, }; targetInfo.Add(target); }