From 5aaedffe2063d4c7786280b4257513aaeb8216b5 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 25 Dec 2025 13:21:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=9E=8D=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTaskService.cs | 40 ++++++++++++++----- .../General/GeneralCalculateService.cs | 4 ++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 59a2a4be7..fcf8b68ab 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1965,18 +1965,38 @@ namespace IRaCIS.Core.Application.Service { Answer = TargetState.Loss.GetEnumInt(), }); - - await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => inDto.MergeRowIdList.Contains(x.RowId) && (x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis || x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis), x => new ReadingTableQuestionAnswer() + var isLymph = ReadingYesOrNo.Yes.GetEnumInt(); + //淋巴结的长短经 为0 非淋巴的 长径为空 短径为0 + if (await _readingTableQuestionAnswerRepository.AnyAsync(x => inDto.MergeRowIdList.Contains(x.RowId) && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.IsLymph && x.Answer == isLymph)) { - Answer = "0", - }); - - - await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => inDto.MergeRowIdList.Contains(x.Id), x => new ReadingTableAnswerRowInfo() + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => inDto.MergeRowIdList.Contains(x.RowId) && + (x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis || x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis), x => new ReadingTableQuestionAnswer() + { + Answer = "0", + }); + } + else { - MergeRowId = inDto.MergeMainRowId, - SplitOrMergeType = SplitOrMergeType.Merge, - }); + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => inDto.MergeRowIdList.Contains(x.RowId) && + x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.ShortAxis, x => new ReadingTableQuestionAnswer() + { + Answer = "0", + }); + + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => inDto.MergeRowIdList.Contains(x.RowId) && + x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.MajorAxis, x => new ReadingTableQuestionAnswer() + { + Answer = string.Empty, + }); + } + + + + await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => inDto.MergeRowIdList.Contains(x.Id), x => new ReadingTableAnswerRowInfo() + { + MergeRowId = inDto.MergeMainRowId, + SplitOrMergeType = SplitOrMergeType.Merge, + }); await _readingTableAnswerRowInfoRepository.BatchUpdateNoTrackingAsync(x=>x.Id== inDto.MergeMainRowId, x => new ReadingTableAnswerRowInfo() { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs index cf871e269..9b25f6369 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs @@ -252,6 +252,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate foreach (var item in tableRowList) { + if (item.SplitOrMergeType == SplitOrMergeType.Merged) + { + continue; + } var historyRow = historyTableRowList.Where(x => x.QuestionId == item.QuestionId && x.RowIndex == item.RowIndex &&