IRC_NewDev
he 2024-04-18 17:24:54 +08:00
parent fd15a62148
commit 72b70f5311
1 changed files with 23 additions and 25 deletions

View File

@ -2521,34 +2521,32 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}
}
// 如果不是保存肝脏血池和纵隔血池
if (inDto.ComputationTrigger != ComputationTrigger.LiverBloodPool && inDto.ComputationTrigger != ComputationTrigger.MediastinalPool)
// 先在数据库查这几个值
List<QuestionType?> needSearchTypes = new List<QuestionType?>()
{
QuestionType.SUVmax,
QuestionType.PET5PS,
};
var dataBaseDataList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && needSearchTypes.Contains(x.ReadingQuestionTrial.QuestionType)).Select(x => new
{
x.Answer,
x.ReadingQuestionTrial.QuestionType
}).ToListAsync(); ;
// 数据库中最大SUVmax
var dataBaseSUVmax = dataBaseDataList.Where(x => x.QuestionType == QuestionType.SUVmax).Select(x => x.Answer).FirstIsNullReturnEmpty();
// 如果不是保存肝脏血池和纵隔血池
if (inDto.ComputationTrigger != ComputationTrigger.LiverBloodPool && inDto.ComputationTrigger != ComputationTrigger.MediastinalPool&& dataBaseSUVmax == (await GetSuvMax(inDto)).ToString())
{
// 先在数据库查这几个值
List<QuestionType?> needSearchTypes = new List<QuestionType?>()
{
QuestionType.SUVmax,
QuestionType.PET5PS,
};
var dataBaseDataList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && needSearchTypes.Contains(x.ReadingQuestionTrial.QuestionType)).Select(x => new
{
x.Answer,
x.ReadingQuestionTrial.QuestionType
}).ToListAsync(); ;
// 数据库中最大SUVmax
var dataBaseSUVmax = dataBaseDataList.Where(x => x.QuestionType == QuestionType.SUVmax).Select(x => x.Answer).FirstIsNullReturnEmpty();
return dataBaseDataList.Where(x => x.QuestionType == QuestionType.PET5PS).Select(x => x.Answer).FirstIsNullReturnEmpty();
// 如果SUVmax没变 就不重新计算
if (dataBaseSUVmax == (await GetSuvMax(inDto)).ToString())
{
return dataBaseDataList.Where(x => x.QuestionType == QuestionType.PET5PS).Select(x => x.Answer).FirstIsNullReturnEmpty();
}
}
}
@ -2557,7 +2555,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// return SpleenAssessment.Stabilization.GetEnumInt();
//}
if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
else if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt()))
{
return PET5PSScore.NE.GetEnumInt();
}