From c737c494a7ae8965ce7cecb6ecc5869ba87d00b9 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 17 Mar 2023 14:35:06 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Fixed/CriterionAdditionalAssessment.cs | 30 +++++++++++++++++-- .../ReadingImageTaskService.cs | 14 +++++++-- .../TrialSiteUser/DTO/TrialConfigDTO.cs | 8 ++++- .../Service/TrialSiteUser/_MapConfig.cs | 11 ++++++- 4 files changed, 56 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs index d086ce9e1..a8721bdbe 100644 --- a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs +++ b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs @@ -1,6 +1,7 @@ using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share.Reading; +using MassTransit; using NPOI.POIFS.NIO; using System; using System.Collections.Generic; @@ -30,14 +31,37 @@ namespace IRaCIS.Core.Application.Service public static List SystemDefeaultAdditionalAssessmentList { get; set; } = new List(); static AdditionalAssessment() { + + var gropId = NewId.NextGuid(); //Resist1.1 脑转移 默认评估问题 SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment() { CriterionType = CriterionType.RECIST1Point1, AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis, - AdditionalQuestionList = new List(){ new ReadingQuestionTrial() + AdditionalQuestionList = new List(){ + + new ReadingQuestionTrial() { LimitEdit=LimitEdit.OnlyBaseLine, + Id=gropId, + IsJudgeQuestion=false, + IsShowInDicom=false, + GlobalReadingShowType=GlobalReadingShowType.NotShow, + QuestionEnName="脑转移评估", + QuestionName="Brain Metastasis Assessment", + Type="group", + QuestionGenre=TableQuestionType.Customize, + DataSource=DataSources.ManualEntry, + ShowQuestion=ShowQuestion.Show, + + + IsAdditional=true + } , + + new ReadingQuestionTrial() + { + GroupId=gropId, + LimitEdit=LimitEdit.OnlyBaseLine, DictionaryCode="ReadingYesOrNo", IsJudgeQuestion=false, IsShowInDicom=false, @@ -51,7 +75,9 @@ namespace IRaCIS.Core.Application.Service IsAdditional=true - } } + } , + + } }); } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 66eb29044..f4792ca6b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -133,12 +133,12 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task<(List,bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto) + public async Task<(List,bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto) { var answerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId).IgnoreAutoIncludes().ToListAsync(); var taskInfo = await _visitTaskRepository.Where(x => inDto.VisitTaskId == x.Id).FirstNotNullAsync(); - var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId).IgnoreAutoIncludes().IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync(); + var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId).IgnoreAutoIncludes().IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync(); result.ForEach(x => { @@ -151,8 +151,16 @@ namespace IRaCIS.Application.Services }); + var resultData = result.Where(x => x.Type == "group").ToList(); - return (result,true); + resultData.ForEach(x => + { + x.Childrens = result.Where(y => y.GroupId == x.Id).ToList(); + + }); + + + return (resultData, true); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index cf3c2906c..17eaad0cd 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -550,10 +550,16 @@ namespace IRaCIS.Core.Application.Contracts public int? ParentQuestionShowOrder { get; set; } - public string Answer { get; set; } = string.Empty; + } + public class TrialAdditionaQuestion: TrialReadQuestion + { + public List Childrens { get; set; } = new List(); + public string Answer { get; set; } = string.Empty; + } + public class TrialJudgeQuestion { diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs index 55b688ef4..9741f1e55 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs @@ -243,7 +243,16 @@ namespace IRaCIS.Core.Application.Service CreateMap(); - + CreateMap() + .ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName)) + .ForMember(d => d.GroupEnName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupEnName : s.GroupInfo.GroupEnName)) + .ForMember(t => t.PageName, u => u.MapFrom(c => c.ReadingCriterionPage.PageName)) + .ForMember(d => d.ParentQuestionGenre, u => u.MapFrom(s => s.ParentReadingQuestionTrial.QuestionGenre)) + .ForMember(d => d.ParentDictionaryCode, u => u.MapFrom(s => s.ParentReadingQuestionTrial.DictionaryCode)) + .ForMember(t => t.ParentQuestionName, u => u.MapFrom(c => c.ParentReadingQuestionTrial.QuestionName)) + .ForMember(t => t.RelevanceShowOrder, u => u.MapFrom(c => c.RelevanceReadingQuestionTrial.ShowOrder)) + .ForMember(t => t.ParentQuestionShowOrder, u => u.MapFrom(c => c.ParentReadingQuestionTrial.ShowOrder)); + CreateMap() .ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName)) .ForMember(d => d.GroupEnName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupEnName : s.GroupInfo.GroupEnName)) From 18e53c6974f7a52d882cd75bddfe5d2fa8555ebd Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 17 Mar 2023 14:59:24 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Fixed/CriterionAdditionalAssessment.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs index cfb289554..2b5f94cb4 100644 --- a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs +++ b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs @@ -47,8 +47,9 @@ namespace IRaCIS.Core.Application.Service IsJudgeQuestion=false, IsShowInDicom=false, GlobalReadingShowType=GlobalReadingShowType.NotShow, - QuestionEnName="脑转移评估", - QuestionName="Brain Metastasis Assessment", + + QuestionName="脑转移评估", + QuestionEnName="Brain Metastasis Assessment", Type="group", QuestionGenre=TableQuestionType.Customize, DataSource=DataSources.ManualEntry, From 616cc5e2866eaa409d8d0ef839826a9860fde691 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 17 Mar 2023 15:18:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Fixed/CriterionAdditionalAssessment.cs | 8 ++++---- .../Service/TrialSiteUser/TrialConfigService.cs | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs index 2b5f94cb4..23a142666 100644 --- a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs +++ b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs @@ -25,11 +25,11 @@ namespace IRaCIS.Core.Application.Service } - public static class AdditionalAssessment + public class AdditionalAssessment { - public static List SystemDefeaultAdditionalAssessmentList { get; set; } = new List(); - static AdditionalAssessment() + public List SystemDefeaultAdditionalAssessmentList { get; set; } = new List(); + public AdditionalAssessment() { var gropId = NewId.NextGuid(); @@ -83,7 +83,7 @@ namespace IRaCIS.Core.Application.Service } - public static List GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null) + public List GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null) { return SystemDefeaultAdditionalAssessmentList.Where(t => t.CriterionType == criterionType) diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index c3701c13d..4711debda 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -567,7 +567,8 @@ namespace IRaCIS.Core.Application { if (!await _trialCriterionAdditionalAssessmentTypeRepository.AnyAsync(t => t.TrialReadingCriterionId == inDto.TrialReadingCriterionId)) { - var addList = AdditionalAssessment.GetSystemDefeaultAdditionalAssessmentList(inDto.CriterionType); + AdditionalAssessment additional = new AdditionalAssessment(); + var addList = additional.GetSystemDefeaultAdditionalAssessmentList(inDto.CriterionType); foreach (var addItem in addList) { @@ -622,8 +623,8 @@ namespace IRaCIS.Core.Application if (updateItem.IsSelected == true) { //添加默认问题 - - var addTypeList = AdditionalAssessment.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType); + AdditionalAssessment additional = new AdditionalAssessment(); + var addTypeList = additional.GetSystemDefeaultAdditionalAssessmentList(updateItem.CriterionType, updateItem.AdditionalAssessmentType); foreach (var addType in addTypeList) { From 6ed1ae85c2cd2462c9435c7928cf2b8270f350e5 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 17 Mar 2023 15:23:16 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Fixed/CriterionAdditionalAssessment.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs index 23a142666..ea2665111 100644 --- a/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs +++ b/IRaCIS.Core.Application/Service/Fixed/CriterionAdditionalAssessment.cs @@ -50,6 +50,8 @@ namespace IRaCIS.Core.Application.Service QuestionName="脑转移评估", QuestionEnName="Brain Metastasis Assessment", + GroupName="脑转移评估", + GroupEnName="Brain Metastasis Assessment", Type="group", QuestionGenre=TableQuestionType.Customize, DataSource=DataSources.ManualEntry,