diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index d882f48a2..91d526245 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -95,6 +95,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string VisitName { get; set; } + public bool IsHaveChange { get; set; } + + public string VisitRemark { get; set; } = string.Empty; + /// /// 评估结果 /// @@ -124,9 +128,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string TrialEvaluationReason { get; set; } = string.Empty; + + /// + /// 是否显示详情 + /// + public bool IsShowDetail { get; set; } + //任务阅片状态 public ReadingTaskState ReadingTaskState { get; set; } + public Guid GlobalTaskId { get; set; } + public List OncologyVisits { get; set; } = new List(); } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index 74aed7506..006ec98d3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -116,9 +116,10 @@ namespace IRaCIS.Application.Services GetOncologyReadingInfoOutDto result = new GetOncologyReadingInfoOutDto() { TrialEvaluationResult= trialCriterion.EvaluationResult, + IsShowDetail= trialCriterion.IsShowDetail, TrialEvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason, OncologyTaskId = inDto.VisitTaskId, - ReadingTaskState= taskInfo.ReadingTaskState, + ReadingTaskState= taskInfo.ReadingTaskState, }; // 先找到是R1还是R2的阅片 先找到全局阅片 @@ -151,6 +152,13 @@ namespace IRaCIS.Application.Services visitTask = await _visitTaskRepository.Where(x=>x.Id== judgeResultTaskId).FirstOrDefaultAsync(); } + // 获取全局阅片信息 + var globalTaskReadingInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() + { + UsingOriginalData = true, + VisitTaskId = visitTask.Id + }); + // 找到对应的访视 @@ -182,6 +190,8 @@ namespace IRaCIS.Application.Services x.EvaluationReason = oncologyData.EvaluationReason; } + x.IsHaveChange = globalTaskReadingInfo.TaskList.Where(y => y.VisitTaskId == y.VisitTaskId).SelectMany(y => y.AfterQuestionList).Any(y => y.IsHaveChange); + x.VisitRemark = globalTaskReadingInfo.TaskList.Where(y => y.VisitTaskId == y.VisitTaskId).SelectMany(y => y.AfterQuestionList).Where(y => y.QuestionId == null).Select(x => x.Answer).FirstOrDefault() ?? String.Empty; }); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index d4fbfc786..737876a23 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -657,6 +657,11 @@ namespace IRaCIS.Core.Application.Contracts /// 评估原因 /// public string EvaluationReason { get; set; } = string.Empty; + + /// + /// 是否显示详情 + /// + public bool IsShowDetail { get; set; } } public class GetOncologySetOutDto @@ -673,6 +678,12 @@ namespace IRaCIS.Core.Application.Contracts /// 评估原因 /// public string EvaluationReason { get; set; } = string.Empty; + + + /// + /// 是否显示详情 + /// + public bool IsShowDetail { get; set; } } public class GetOncologySetInDto diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index 12c8fa657..fe6476a0f 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -136,6 +136,7 @@ namespace IRaCIS.Core.Application { EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason, EvaluationResult= trialCriterion.EvaluationResult, + IsShowDetail=trialCriterion.IsShowDetail, IsSign = signTime != null, }; } @@ -157,6 +158,8 @@ namespace IRaCIS.Core.Application { EvaluationResult = inDto.EvaluationResult, EvaluationReason = inDto.EvaluationReason, + IsShowDetail=inDto.IsShowDetail, + }); var result = await _readingQuestionCriterionTrialRepository.SaveChangesAsync(); diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs index 9e890a5f6..5c8a06cd8 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs @@ -83,6 +83,12 @@ namespace IRaCIS.Core.Domain.Models /// public string EvaluationReason { get; set; } = "肿瘤学阅片评估原因请依据临床数据填写,在与影像学结果不一致时必填。"; + + /// + /// 是否显示详情 + /// + public bool IsShowDetail { get; set; } + /// /// 项目 ///