diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index b61698266..5902e2b2d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1747,7 +1747,7 @@ namespace IRaCIS.Application.Services /// - /// 提交表格问题答案 病灶 + /// 提交表格问题答案 提交病灶 /// /// /// @@ -1892,6 +1892,31 @@ namespace IRaCIS.Application.Services } } + break; + case CriterionType.Lugano2014: + + var targetTablequestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == taskinfo.TrialReadingCriterionId && x.ReadingQuestionTrial.LesionType == LesionType.TargetLesion).ToListAsync(); + + var targetlymphQuestion = targetTablequestionList.Where(x => x.QuestionMark == QuestionMark.IsLymph).FirstOrDefault(); + + // 判断是否存在淋巴结问题 + if (targetlymphQuestion != null) + { + // 判断是否为淋巴结 + if (inDto.QuestionId == targetTablequestionList[0].ReadingQuestionId && inDto.AnswerList.Any(x => x.TableQuestionId == targetlymphQuestion.Id && x.Answer.EqEnum(ReadingYesOrNo.Yes))) + { + if (await _readingTableQuestionAnswerRepository.CountAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.TableQuestionId == targetlymphQuestion.Id && x.Answer == ReadingYesOrNo.Yes.GetEnumInt() && x.RowId != inDto.RowId) >= 2) + { + // 靶病灶只能添加两个淋巴结病灶 + throw new BusinessValidationFailedException(_localizer["ReadingImage_LuganoMaxTowTarget"]); + } + + } + } + + + + break; }