From 3b4cb52fab25961a46d06c622c77a4470988bfa5 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 29 Jul 2025 15:18:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A8=BD=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTaskService.cs | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index df3a54eda..856d02313 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2179,13 +2179,13 @@ namespace IRaCIS.Core.Application.Service var markquestionId = inDto.QuestionMarkInfoList.Select(y => (Guid?)y.QuestionId).ToList(); List needDeleteMarkQuestonIds = inDto.Answers.Where(x => x.Answer == string.Empty).Select(x => (Guid?)x.Id).ToList(); - + var needDeleteMarkQuestionIds = questionList.Except(markquestionId).ToList(); switch (taskInfo.TrialReadingCriterion.CriterionType) { case CriterionType.SelfDefine: // 先找到需要删除的 - var needDeleteMarkQuestionIds = questionList.Except(markquestionId).ToList(); + foreach (var item in needDeleteMarkQuestionIds) { // 对于要删除的标记不能删除 要与问题解绑 @@ -2223,21 +2223,19 @@ namespace IRaCIS.Core.Application.Service case CriterionType.Lugano2014: - //await _readingTaskQuestionMarkRepository.BatchUpdateNoTrackingAsync(x => - //(x.QuestionType == QuestionType.SplenicTopPosition || x.QuestionType == QuestionType.SplenicBottomPosition) && - //x.VisitTaskId == inDto.VisitTaskId && needDeleteMarkQuestonIds.Contains(x.QuestionId), x => new ReadingTaskQuestionMark() - //{ - // PicturePath = string.Empty, - // MeasureData = string.Empty, - //}); + // 先找到需要删除的 + + foreach (var item in needDeleteMarkQuestionIds) + { + // 对于要删除的标记不能删除 要与问题解绑 + // 但是对于一个标记绑定多个问题的情况 相当于是要删除掉这条信息 + var questionMark = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == item).FirstOrDefaultAsync(); + if (questionMark != null) + { + await _readingTaskQuestionMarkRepository.DeleteAsync(questionMark); + } - //await _readingTaskQuestionMarkRepository.BatchUpdateNoTrackingAsync(x => - //(x.QuestionType == QuestionType.LiverSUVmax || x.QuestionType == QuestionType.MediastinumSUVmax) && - //x.VisitTaskId == inDto.VisitTaskId && needDeleteMarkQuestonIds.Contains(x.QuestionId), x => new ReadingTaskQuestionMark() - //{ - // OtherPicturePath = string.Empty, - // OtherMeasureData = string.Empty, - //}); + } await addOrEditmark(inDto.QuestionMarkInfoList);