diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index a68a917e3..7a04316c7 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -220,6 +220,13 @@ namespace IRaCIS.Core.Application.Service { if (inDto.MeasureData != string.Empty) { + // 这里还有可能是绑定历史标记 + + if (inDto.MarkId != null) + { + await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.MarkId == inDto.MarkId && x.QuestionId == null); + } + var readingTaskQuestionMark = _mapper.Map(inDto); await _readingTaskQuestionMarkRepository.AddAsync(readingTaskQuestionMark); @@ -2187,7 +2194,10 @@ namespace IRaCIS.Core.Application.Service var markQuestionIds= addOrUpdatemarkList.Select(y => (Guid?)y.QuestionId).ToList(); + // 绑定的历史标记的话 相当于要把历史标记改为现在的标记 先删再添加 得到的结果一样 await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => markids.Contains(x.MarkId)&&x.QuestionId==null ); + + await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId)); var datetime = DateTime.Now;