diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index d3c0bc457..5acde027d 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -637,6 +637,43 @@ namespace IRaCIS.Core.Application.Contracts } + + public class SetOncologySetInDto + { + /// + /// 项目标准ID + /// + public Guid TrialCriterionId { get; set; } + + /// + /// 评估结果 + /// + public string EvaluationResult { get; set; } = string.Empty; + + /// + /// 评估原因 + /// + public string EvaluationReason { get; set; } = string.Empty; + } + + public class GetOncologySetOutDto + { + /// + /// 评估结果 + /// + public string EvaluationResult { get; set; } = string.Empty; + + /// + /// 评估原因 + /// + public string EvaluationReason { get; set; } = string.Empty; + } + + public class GetOncologySetInDto + { + public Guid TrialCriterionId { get; set; } + } + public class GetTrialReadingInfoInDto { [NotDefault] diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 10a7c7cf3..0a0b2c06f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -113,6 +113,43 @@ namespace IRaCIS.Core.Application } + /// + /// 获取项目肿瘤学配置 + /// + /// + /// + [HttpPost] + public async Task GetOncologySet(GetOncologySetInDto inDto) + { + var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialCriterionId && x.IsConfirm).FirstOrDefaultAsync(); + if (trialCriterion == null) + { + throw new BusinessValidationFailedException("请先确认一个项目标准。"); + } + + return new GetOncologySetOutDto + { + EvaluationReason = trialCriterion.EvaluationReason, + EvaluationResult= trialCriterion.EvaluationResult, + }; + } + + /// + /// 设置项目肿瘤学配置 + /// + /// + /// + [HttpPost] + public async Task SetOncologySet(SetOncologySetInDto inDto) + { + await _readingQuestionCriterionTrialRepository.UpdatePartialFromQueryAsync(inDto.TrialCriterionId, x => new ReadingQuestionCriterionTrial() + { + EvaluationResult = inDto.EvaluationResult, + EvaluationReason = inDto.EvaluationReason, + + }); + } + /// /// 获取项目裁判信息 ///