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();