Uat_Study
hang 2023-03-17 15:57:11 +08:00
commit d1a8b836cc
5 changed files with 67 additions and 14 deletions

View File

@ -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;
@ -24,20 +25,46 @@ namespace IRaCIS.Core.Application.Service
}
public static class AdditionalAssessment
public class AdditionalAssessment
{
public static List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
static AdditionalAssessment()
public List<CriterionAdditionalAssessment> SystemDefeaultAdditionalAssessmentList { get; set; } = new List<CriterionAdditionalAssessment>();
public AdditionalAssessment()
{
var gropId = NewId.NextGuid();
//Resist1.1 脑转移 默认评估问题
SystemDefeaultAdditionalAssessmentList.Add(new CriterionAdditionalAssessment()
{
CriterionType = CriterionType.RECIST1Point1,
AdditionalAssessmentType = AdditionalAssessmentType.BrainMetastasis,
AdditionalQuestionList = new List<ReadingQuestionTrial>(){ new ReadingQuestionTrial()
AdditionalQuestionList = new List<ReadingQuestionTrial>(){
new ReadingQuestionTrial()
{
LimitEdit=LimitEdit.OnlyBaseLine,
Id=gropId,
IsJudgeQuestion=false,
IsShowInDicom=false,
GlobalReadingShowType=GlobalReadingShowType.NotShow,
QuestionName="脑转移评估",
QuestionEnName="Brain Metastasis Assessment",
GroupName="脑转移评估",
GroupEnName="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,12 +78,14 @@ namespace IRaCIS.Core.Application.Service
IsAdditional=true
} }
} ,
}
});
}
public static List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null)
public List<CriterionAdditionalAssessment> GetSystemDefeaultAdditionalAssessmentList(CriterionType criterionType, AdditionalAssessmentType? additionalAssessmentType=null)
{
return SystemDefeaultAdditionalAssessmentList.Where(t => t.CriterionType == criterionType)

View File

@ -133,12 +133,12 @@ namespace IRaCIS.Application.Services
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<(List<TrialReadQuestion>,bool)> GetTaskAdditionalQuestion(GetTaskAdditionalQuestionInDto inDto)
public async Task<(List<TrialAdditionaQuestion>,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<TrialReadQuestion>(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
var result= await _readingQuestionTrialRepository.Where(x => x.IsAdditional && x.ReadingQuestionCriterionTrialId == taskInfo.TrialReadingCriterionId).IgnoreAutoIncludes().IgnoreQueryFilters().ProjectTo<TrialAdditionaQuestion>(_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);
}

View File

@ -550,8 +550,14 @@ namespace IRaCIS.Core.Application.Contracts
public int? ParentQuestionShowOrder { get; set; }
public string Answer { get; set; } = string.Empty;
}
public class TrialAdditionaQuestion: TrialReadQuestion
{
public List<TrialAdditionaQuestion> Childrens { get; set; } = new List<TrialAdditionaQuestion>();
public string Answer { get; set; } = string.Empty;
}
public class TrialJudgeQuestion

View File

@ -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)
{

View File

@ -243,6 +243,15 @@ namespace IRaCIS.Core.Application.Service
CreateMap<ReadingQuestionCriterionTrial, GetTrialReadingInfoOutDto>();
CreateMap<ReadingQuestionTrial, TrialAdditionaQuestion>()
.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<ReadingQuestionTrial, TrialReadQuestion>()
.ForMember(d => d.GroupName, u => u.MapFrom(s => s.GroupInfo == null ? s.GroupName : s.GroupInfo.GroupName))