修改PD计算

Test_HIR_Net8
he 2025-09-19 14:56:42 +08:00
parent 3d19ee7b04
commit e745271671
1 changed files with 15 additions and 3 deletions

View File

@ -1247,6 +1247,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 当前访视新病灶数量
var thisNewLesionsCount = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionsCount).Select(x => x.Answer).FirstIsNullReturnEmpty().IsNullOrEmptyReturn0();
// 其他访视的BTN
var otherBTNStrList =await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId != inDto.VisitTaskId && taskIdList.Contains(x.VisitTaskId) && x.ReadingQuestionTrial.QuestionType == QuestionType.BaseLineLesionsCount).Select(x=>new {
x.VisitTask.VisitTaskNum,
@ -1254,13 +1255,24 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
}).ToListAsync();
// 最小的BTN 这个时候再转为int 避免查询报错
var othenMinBTNCount= otherBTNStrList.Select(x => x.Answer.IsNullOrEmptyReturn0()).Min();
var otherMinBTNCount= otherBTNStrList.Select(x => x.Answer.IsNullOrEmptyReturn0()).Min();
// [(V3 - BTN - MinV2 - BTN、V1 - BTN、BL - BTN] 小于当0计算
var btnValue = thisBTN - otherMinBTNCount;
if (btnValue < 0)
{
btnValue = 0;
}
// 历史有PD
if (pdTaskList.Count() > 0)
{
// 当前访视:自治疗后第二个访视点以来持续的新骨变数量 + [(V3 - BTN - MinV2 - BTN、V1 - BTN、BL - BTN] + 新病灶 >= 2
if (thisNewBoneLesionsCount + thisBTN - othenMinBTNCount + thisNewLesionsCount >= 2)
if (thisNewBoneLesionsCount + btnValue + thisNewLesionsCount >= 2)
{
result.IsPD = true;
}
@ -1303,7 +1315,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
// 按上面条件写三个if看着清晰点
if (lastNewLesionsCount + lastBTN - lastTwoBTN >= 2)
{
if (thisNewBoneLesionsCount + thisBTN - othenMinBTNCount + thisNewLesionsCount >= 2)
if (thisNewBoneLesionsCount + btnValue + thisNewLesionsCount >= 2)
{
if (daysBetween >= 42)
{