diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 8cfe8b9b9..672e00436 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -12974,6 +12974,13 @@ 请求类型 + + + 修改报告问题答案 + + + + 修改肿瘤学评估结果 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 93efa7aff..3746d4ee4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -606,6 +606,21 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public CriterionType CriterionType { get; set; } } + + public class ChangeReportAnswerInDto + { + public List AnswerList { get; set; } + } + + public class ChangeReportAnswerDto + { + public Guid VisitTaskId { get; set; } + + public Guid QuestionId { get; set; } + + public string Answer { get; set; } = string.Empty; + } + public class ChangeDicomReadingQuestionAnswerInDto { public Guid VisitTaskId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 3fdb97f8c..6a7d8b2ee 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -24,6 +24,7 @@ using System.Reactive.Concurrency; using ZiggyCreatures.Caching.Fusion; using IRaCIS.Core.Domain.BaseModel; using IRaCIS.Core.Domain._DomainEvent; +using Microsoft.Extensions.Logging; namespace IRaCIS.Core.Application.Service { @@ -1840,6 +1841,37 @@ namespace IRaCIS.Core.Application.Service // return await ChangeDicomReadingQuestionAnswer(inDto); //} + /// + /// 修改报告问题答案 + /// + /// + /// + [HttpPost] + public async Task ChangeReportAnswer(ChangeReportAnswerInDto inDto) + { + foreach (var item in inDto.AnswerList) + { + if (await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.ReadingQuestionTrialId == item.QuestionId && x.VisitTaskId == item.VisitTaskId)) + { + await _readingTaskQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.ReadingQuestionTrialId == item.QuestionId && x.VisitTaskId == item.VisitTaskId, x => new ReadingTaskQuestionAnswer() + { + Answer = item.Answer + }); + } + else + { + await _readingTaskQuestionAnswerRepository.AddAsync(new ReadingTaskQuestionAnswer() + { + VisitTaskId= item.VisitTaskId, + Answer= item.Answer, + ReadingQuestionTrialId= item.QuestionId, + }); + } + } + + await _readingTaskQuestionAnswerRepository.SaveChangesAsync(); + return ResponseOutput.Ok(true); + } /// /// 修改肿瘤学评估结果