From 85ff14f1607af98fe1f4b0ad6bea2eb78357b18f Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 23 Jul 2025 09:08:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=BD=E6=9F=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTaskService.cs | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 59ee1e8b1..bf5aaddd8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2281,11 +2281,35 @@ namespace IRaCIS.Core.Application.Service } else { - var newMark = _mapper.Map(item); - newMark.Id = NewId.NextGuid(); - newMark.VisitTaskId = inDto.VisitTaskId; - newMark.FristAddTaskId = inDto.VisitTaskId; - await _readingTaskQuestionMarkRepository.AddAsync(newMark); + // 这种情况可能是绑定历史的标记 + + if (item.MarkId != null && (await _readingTaskQuestionMarkRepository.AnyAsync(x => x.VisitTaskId == inDto.VisitTaskId&& x.QuestionId == null && x.MarkId == item.MarkId))) + { + + var oldMarkItem = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.MarkId == item.MarkId && x.QuestionId == null).FirstOrDefaultAsync(); + + await _readingTaskQuestionMarkRepository.UpdatePartialFromQueryAsync(x => x.Id == oldMarkItem.Id, x => new ReadingTaskQuestionMark() + { + QuestionId = item.QuestionId, + TableQuestionId = item.TableQuestionId, + RowId = item.RowId, + MeasureData = item.MeasureData ?? string.Empty, + OtherMeasureData = item.OtherMeasureData ?? string.Empty, + PicturePath = item.PicturePath ?? string.Empty, + OtherPicturePath = item.OtherPicturePath ?? string.Empty, + MarkTool = item.MarkTool ?? string.Empty, + }); + } + else + { + var newMark = _mapper.Map(item); + newMark.Id = NewId.NextGuid(); + newMark.VisitTaskId = inDto.VisitTaskId; + newMark.FristAddTaskId = inDto.VisitTaskId; + await _readingTaskQuestionMarkRepository.AddAsync(newMark); + } + + } }