修改动态导表

This commit is contained in:
2024-10-23 17:44:09 +08:00
parent 5ee5bac4ad
commit a701c082d9
9 changed files with 278 additions and 244 deletions
@@ -1057,6 +1057,12 @@ namespace IRaCIS.Core.Application.Contracts
}
public class DymamicQuestionInfo
{
public QuestionMark? QuestionMark { get; set; }
public string QuestionName { get; set; }
public string TranslateDicName { get; set; }
}
public class CommonQuesionInfo
@@ -1069,9 +1075,90 @@ namespace IRaCIS.Core.Application.Contracts
public string TranslateDicName { get; set; }
}
public class CommonEvaluationExport : OverallTumorEvaluationExport
public class CommonEvaluationExport
{
public List<CommonQuesionInfo> QuestionAnswerList { get; set; }
public String TrialSiteCode { get; set; } = String.Empty;
public string SubjectCode { get; set; } = String.Empty;
public Guid Id { get; set; }
public Guid? DoctorUserId { get; set; }
public string TaskName { get; set; }
public string TaskBlindName { get; set; }
public decimal VisitTaskNum { get; set; }
public bool? IsBaseline { get; set; }
[DictionaryTranslateAttribute("ArmEnum")]
public Arm ArmEnum { get; set; }
public string UserName { get; set; }
public ReadingTaskState ReadingTaskState { get; set; }
public ReadingCategory ReadingCategory { get; set; }
//裁判结果选择的访视或者全局任务Id
public Arm? JudgeArmEnum { get; set; }
//裁判选择标记
//根据裁判的任务结果 设置访视任务的这个字段 该字段表示 裁判认同该任务的结果
[DictionaryTranslateAttribute("YesOrNo")]
public bool? IsJudgeSelect { get; set; }
//在当前访视触发裁判,或者在截止日期小于等于当前访视的阅片期触发裁判
[DictionaryTranslateAttribute("YesOrNo")]
public bool IsTrigerJudge { get; set; }
//(如果是访视点裁判,则仅在所选阅片人对应访视 显示;如果是阅片期裁判,则在所选阅片人 阅片期内的所有访视 显示此原因)
public string JudgeNote { get; set; } = string.Empty;
public string VisitNote { get; set; }
}
public class CommonLessionExport : CommonEvaluationExport
{
/// <summary>
/// 最终导出的病灶信息
/// </summary>
public List<CommonLessionQuestionAnswerInfo> LessionAnswerList { get; set; }
[JsonIgnore]
public List<CommonLessionInfo> LesionList { get; set; } = new List<CommonLessionInfo>();
}
public class CommonLessionInfo
{
//病灶编号
public string LessionCode { get; set; }
public string LessionType { get; set; }
//病灶答案
public List<CommonLessionQuestionAnswerInfo> LessionAnswerList { get; set; }
}
public class CommonLessionQuestionAnswerInfo
{
public string LessionCode { get; set; }
public string LessionType { get; set; }
public QuestionMark? QuestionMark { get; set; }
public string QuestionName { get; set; }
public string QuestionValue { get; set; }
public string TranslateDicName { get; set; }
}
@@ -1146,7 +1233,7 @@ namespace IRaCIS.Core.Application.Contracts
//在当前访视触发裁判,或者在截止日期小于等于当前访视的阅片期触发裁判
[DictionaryTranslateAttribute("YesOrNo")]
[DictionaryTranslateAttribute("YesOrNo")]
public bool IsTrigerJudge { get; set; }
//(如果是访视点裁判,则仅在所选阅片人对应访视 显示;如果是阅片期裁判,则在所选阅片人 阅片期内的所有访视 显示此原因)
@@ -200,7 +200,7 @@ namespace IRaCIS.Core.Application.Service
Guid trialReadingCriterionId = Guid.Empty;
ArbitrationRule? arbitrationRule = null;
CriterionType? criterionType = null;
ReadingExportType? readingExportType = null;
ExportResult readingExportType = ExportResult.None;
CreateMap<VisitTask, OverallTumorEvaluationExport>()
// .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName))
@@ -242,10 +242,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
.ForMember(o => o.QuestionAnswerList, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList
.Where(c => readingExportType == ReadingExportType.ReadingResult ?
c.ReadingQuestionTrial.ExportResultStr.Contains(((int)ExportResult.TableOfAssessmentResults).ToString()) :
(readingExportType == ReadingExportType.ReadingDetailResult ? c.ReadingQuestionTrial.ExportResultStr.Contains(((int)ExportResult.DetailedTableOfAssessmentResults).ToString()) :
c.ReadingQuestionTrial.ExportResultStr.Contains(((int)ExportResult.DetailedTableOfAdjudicationResults).ToString())))
.Where(c => c.ReadingQuestionTrial.ExportResultStr.Contains(((int)readingExportType).ToString()))
.OrderBy(k => k.ReadingQuestionTrial.ShowOrder)
.Select(c => new CommonQuesionInfo()
{
@@ -256,6 +253,23 @@ namespace IRaCIS.Core.Application.Service
})))
;
CreateMap<VisitTask, CommonLessionExport>().IncludeBase<VisitTask, CommonEvaluationExport>()
.ForMember(o => o.LesionList, t => t.MapFrom(u => u.LesionList));
CreateMap<ReadingTableAnswerRowInfo, CommonLessionInfo>()
.ForMember(o => o.LessionCode, t => t.MapFrom(u => u.RowMark))
.ForMember(o => o.LessionType, t => t.MapFrom(u => (int?)u.ReadingQuestionTrial.LesionType))
.ForMember(o => o.LessionAnswerList, t => t.MapFrom(u => u.LesionAnswerList));
CreateMap<ReadingTableQuestionAnswer, CommonLessionQuestionAnswerInfo>()
.ForMember(o => o.LessionCode, t => t.MapFrom(u => u.Lesion.RowMark))
.ForMember(o => o.LessionType, t => t.MapFrom(u => (int?)u.ReadingQuestionTrial.LesionType))
.ForMember(o => o.QuestionMark, t => t.MapFrom(u => u.ReadingTableQuestionTrial.QuestionMark))
.ForMember(o => o.QuestionName, t => t.MapFrom(u => isEn_Us ? u.ReadingTableQuestionTrial.QuestionEnName : u.ReadingTableQuestionTrial.QuestionName))
.ForMember(o => o.QuestionValue, t => t.MapFrom(u => u.Answer))
.ForMember(o => o.TranslateDicName, t => t.MapFrom(u => u.ReadingTableQuestionTrial.DictionaryCode))
;
CreateMap<VisitTask, RECIST1Point1EvaluationOfTumorEfficacyExport>().IncludeBase<VisitTask, OverallTumorEvaluationExport>()
.ForMember(o => o.TargetlesionEvaluationResult, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.TargetLesion).FirstOrDefault()!.Answer))