From 5be959f4b87ed297d08d35c27d192322dad71424 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Thu, 7 Dec 2023 15:22:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LuganoCalculateService.cs | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index b598ef10b..4f4bc1cf9 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -465,6 +465,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate List calculateList = new List() { + // 是否存在Pet + new ReadingCalculateData (){QuestionType=QuestionType.ExistPET,GetStringFun=GetExistPET}, //垂直径乘积之和(SPD) new ReadingCalculateData (){QuestionType=QuestionType.SPD,GetDecimalFun=GetSPD}, @@ -520,8 +522,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 影像学整体肿瘤评估 new ReadingCalculateData (){QuestionType=QuestionType.ImgOncology,GetStringFun=GetImgOncology}, - // 是否存在Pet - new ReadingCalculateData (){QuestionType=QuestionType.ExistPET,GetStringFun=GetExistPET}, + //SUVmax new ReadingCalculateData (){QuestionType=QuestionType.SUVmax,GetDecimalFun=GetSuvMax}, @@ -1940,6 +1941,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } + var existPET = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ExistPET).Select(x => x.Answer).FirstOrDefault(); + if (existPET.EqEnum(ReadingYesOrNo.No)) + { + return PET5PSScore.NE.GetEnumInt(); + } + PET5PSScore result = PET5PSScore.X; @@ -1952,7 +1959,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 纵膈血池 var MediastinumSUVmax = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.MediastinumSUVmax).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); - var existPET = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.ExistPET).Select(x => x.Answer).FirstOrDefault(); + if (existPET.EqEnum(ReadingYesOrNo.No)) { result = PET5PSScore.NE; @@ -2077,6 +2084,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate return FDGPETOverallAssessment.NA.GetEnumInt(); } + var existPET =await GetExistPET(inDto); + if (existPET.EqEnum(ReadingYesOrNo.No)) + { + return FDGPETOverallAssessment.NE.GetEnumInt(); + } + //FDGPETOverallAssessment result = FDGPETOverallAssessment.NA; // PET5PS @@ -2202,7 +2215,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { var rowInfo = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.TargetLesion).SelectMany(x => x.TableRowInfoList).ToList(); - + if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt())) + { + return string.Empty; + } var tableQuestions = rowInfo.SelectMany(x => x.TableQuestionList).ToList();