From 992dfe39fb40825d35b2b2f9cfc0907f51502e34 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 26 Sep 2023 17:41:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 3 ++ .../ReadingImageTaskService.cs | 35 +++++++++++-------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 49a95a23e..e4360ebd4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -464,6 +464,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid VisitTaskId { get; set; } + + public bool UpdateMark { get; set; } = false; + public List Answers { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 6989cbb3c..78cfdeb32 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1474,6 +1474,7 @@ namespace IRaCIS.Application.Services [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] public async Task SaveImageQuality(ChangeDicomReadingQuestionAnswerInDto inDto) { + inDto.UpdateMark = true; return await ChangeDicomReadingQuestionAnswer(inDto); } @@ -1549,24 +1550,28 @@ namespace IRaCIS.Application.Services }).ToList(); await _readingTaskQuestionAnswerRepository.AddRangeAsync(needAddAnswer); - - var questionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).Select(x => new + if (inDto.UpdateMark) { - x.QuestionId, - x.FirstAddTaskId, + var questionMarkList = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).Select(x => new + { + x.QuestionId, + x.FirstAddTaskId, - }).ToListAsync(); - await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId); - var datetime = DateTime.Now; + }).ToListAsync(); + await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId); + var datetime = DateTime.Now; - var markList = _mapper.Map, List>(inDto.QuestionMarkInfoList); - markList.ForEach(x => { - x.Id = NewId.NextGuid(); - x.VisitTaskId = inDto.VisitTaskId; - x.CreateTime = datetime; - x.FirstAddTaskId = questionMarkList.Where(y => y.QuestionId == x.QuestionId).Select(x => x.FirstAddTaskId).FirstOrDefault() ?? inDto.VisitTaskId; - }); - await _readingTaskQuestionMarkRepository.AddRangeAsync(markList); + var markList = _mapper.Map, List>(inDto.QuestionMarkInfoList); + markList.ForEach(x => { + x.Id = NewId.NextGuid(); + x.VisitTaskId = inDto.VisitTaskId; + x.CreateTime = datetime; + x.FirstAddTaskId = questionMarkList.Where(y => y.QuestionId == x.QuestionId).Select(x => x.FirstAddTaskId).FirstOrDefault() ?? inDto.VisitTaskId; + }); + await _readingTaskQuestionMarkRepository.AddRangeAsync(markList); + } + + await _readingTaskQuestionAnswerRepository.SaveChangesAsync(); return ResponseOutput.Ok(true); }