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 &&