From fbc2c6bd2806ea090bee3cf02e7024b95695f6f6 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 8 Nov 2022 11:09:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingQuestionViewModel.cs | 20 +++++++- .../ReadingCriterionService.cs | 49 +++++++++++++++++++ .../TrialSiteUser/DTO/TrialConfigDTO.cs | 6 +++ .../TrialSiteUser/TrialConfigService.cs | 3 +- .../ReadingQuestionCriterionSystem.cs | 5 ++ .../ReadingQuestionCriterionTrial.cs | 5 ++ 6 files changed, 85 insertions(+), 3 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index ec1729328..fecc69269 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -174,8 +174,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string ValueCN { get; set; } = string.Empty; } - + public class GetSystemGlobalInfoOutDto + { + /// + /// 是否必须全局阅片 + /// + public bool IsMustGlobalReading { get; set; } = false; + + public List DictionaryList { get; set; } + } public class GetSystemOncologyInfoOutDto { public bool IsOncologyReading { get; set; } @@ -183,6 +191,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public List DictionaryList { get; set; } } + public class SetSystemGlobalInfoInDto + { + [NotDefault] + public Guid SystemCriterionId { get; set; } + + public bool IsMustGlobalReading { get; set; } + + public List DictionaryIds { get; set; } + } + public class SetSystemOncologyInfoInDto { [NotDefault] diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs index a21980cf5..1ab07abf4 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs @@ -71,6 +71,55 @@ namespace IRaCIS.Core.Application.Service.RC return ResponseOutput.Ok(); } + /// + /// 设置系统全局阅片阅片信息 + /// + /// + /// + [HttpPost] + public async Task SetSystemGlobalInfo(SetSystemGlobalInfoInDto inDto) + { + + await _readingCriterionDictionaryRepository.BatchDeleteNoTrackingAsync(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.GlobalAssess); + + await _readingCriterionDictionaryRepository.AddRangeAsync(inDto.DictionaryIds.Select(x => new ReadingCriterionDictionary + { + CriterionId = inDto.SystemCriterionId, + DictionaryId = x, + IsSystemCriterion = true, + ParentCode = ReadingCommon.CriterionDictionary.GlobalAssess + })); + + await _readingQuestionCriterionSystemRepository.UpdatePartialFromQueryAsync(inDto.SystemCriterionId, x => new ReadingQuestionCriterionSystem() + { + IsMustGlobalReading = inDto.IsMustGlobalReading + + }); + + var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync(); + + return ResponseOutput.Ok(result); + } + + /// + /// 获取系统全局阅片信息 + /// + /// + /// + [HttpPost] + public async Task GetSystemGlobalInfo(GetSystemOncologyInfoInDto inDto) + { + GetSystemGlobalInfoOutDto result = new GetSystemGlobalInfoOutDto() + { + IsMustGlobalReading = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == inDto.SystemCriterionId).Select(x => x.IsMustGlobalReading).FirstOrDefaultAsync(), + DictionaryList = await _readingCriterionDictionaryRepository.AsQueryable().Where(x => x.CriterionId == inDto.SystemCriterionId && x.ParentCode == ReadingCommon.CriterionDictionary.OncologyAssess) + .ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync() + + }; + + return result; + } + /// /// 获取系统肿瘤信息 /// diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index 01598e76b..e7c5b6874 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -697,6 +697,12 @@ namespace IRaCIS.Core.Application.Contracts } } + + /// + /// 是否必须全局阅片 + /// + public bool IsMustGlobalReading { get; set; } = false; + /// /// 修约小数点 /// diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index e05c614dc..f1e518206 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -392,8 +392,7 @@ namespace IRaCIS.Core.Application result.TrialCriterionId = trialCriterion.Id; result.FormType = trialCriterion.FormType; result.IsFromSystem = trialCriterion.ReadingQuestionCriterionSystemId != null; - - + result.IsMustGlobalReading = trialCriterion.IsMustGlobalReading; result.IsSystemCriterion = trialCriterion.ReadingQuestionCriterionSystemId != null; }; diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs index ba3bf9724..400593611 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionSystem.cs @@ -65,6 +65,11 @@ namespace IRaCIS.Core.Domain.Models /// public bool IsOncologyReading { get; set; } = false; + /// + /// 是否必须全局阅片 + /// + public bool IsMustGlobalReading { get; set; } = false; + [JsonIgnore] public List ReadingQuestionSystemList { get; set; } = new List(); diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs index 110f0a399..37d48fafe 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs @@ -210,6 +210,11 @@ namespace IRaCIS.Core.Domain.Models /// public DateTime? ReadingInfoSignTime { get; set; } + /// + /// 是否必须全局阅片 + /// + public bool IsMustGlobalReading { get; set; } = false; + #endregion ///