diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index c281fcdc8..91bb7e521 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -979,15 +979,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } else if (state == TargetState.DiseaseProgression.GetEnumInt()) { - await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => - x.VisitTaskId == inDto.VisitTaskId && - x.RowIndex == inDto.RowNumber && - x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && - x.QuestionId == targetQuestion.Id, x => new ReadingTableQuestionAnswer() - { - Answer = TargetState.Exist.GetEnumInt() - } - ); + //await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => + // x.VisitTaskId == inDto.VisitTaskId && + // x.RowIndex == inDto.RowNumber && + // x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && + // x.QuestionId == targetQuestion.Id, x => new ReadingTableQuestionAnswer() + // { + // Answer = TargetState.Exist.GetEnumInt() + // } + // ); } @@ -1022,16 +1022,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 长径 var majorAxis = (await _readingTableQuestionAnswerRepository.Where(x => - x.VisitTaskId == inDto.VisitTaskId && - x.RowIndex == (int)Math.Floor(inDto.RowNumber) && - x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && + x.VisitTaskId == inDto.VisitTaskId && + x.RowIndex >= (int)Math.Floor(inDto.RowNumber) && x.RowIndex < ((int)Math.Floor(inDto.RowNumber) + 1) && + x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis && x.QuestionId== targetQuestion.Id ).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); // 短径 var shortAxis = (await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && - x.RowIndex == (int)Math.Floor(inDto.RowNumber) && + x.RowIndex >= (int)Math.Floor(inDto.RowNumber) && x.RowIndex < ((int)Math.Floor(inDto.RowNumber) + 1) && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis && x.QuestionId == targetQuestion.Id ).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); @@ -2949,7 +2949,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.IsLymph && x.Answer.EqEnum(YesOrNoOrNa.Yes))) { // 当前访视淋巴结靶病灶的状态全部变为“消失” - eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && x.Answer.EqEnum(TargetState.Loss)); + eqCR = eqCR && item.TableQuestionList.Any(x => x.QuestionMark == QuestionMark.State && (x.Answer.EqEnum(TargetState.Loss)|| x.Answer.EqEnum(TargetState.TooSmall))); } } // 1、与基线相比SPD变化的百分比 ≥50%,; @@ -2998,9 +2998,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { result = TargetAssessment.NE; } - //当前访视非淋巴结靶病灶全部消失; - //并且 2.当前访视淋巴结靶病灶的状态全部变为“消失”。 - else if (eqCR) + //当前访视非淋巴结靶病灶全部消失 && (当前访视淋巴结靶病灶的状态全部变为“消失” 或者 "太小" ) + else if (eqCR) { result = TargetAssessment.CR; }