From 2923d9e761454643da7790e905d9b2deddd9a895 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Thu, 30 Mar 2023 13:36:42 +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 --- .../Service/Reading/Dto/VisitTaskDto.cs | 44 +++++++++---------- .../ReadingGlobalTaskService.cs | 9 ++-- .../ReadingImageTaskService.cs | 6 +-- .../General/GeneralCalculateService.cs | 9 +++- IRaCIS.Core.Domain/Allocation/VisitTask.cs | 35 +-------------- .../Common/ReadingCommon.cs | 16 +++++++ 6 files changed, 56 insertions(+), 63 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/VisitTaskDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/VisitTaskDto.cs index 6bb245d0b..b5f65682c 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/VisitTaskDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/VisitTaskDto.cs @@ -243,31 +243,31 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsConvertedTask { get; set; } - [NotMapped] - public List CrterionDictionaryGroup - { - get - { + //[NotMapped] + //public List CrterionDictionaryGroup + //{ + // get + // { - //try - //{ - // if (this.IsConvertedTask) - // { - // return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.Converted }; - // } - // else - // { - // return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.BeforeConvert }; - // } - //} - //catch (Exception) - //{ + // try + // { + // if (this.IsConvertedTask) + // { + // return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.Converted }; + // } + // else + // { + // return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.BeforeConvert }; + // } + // } + // catch (Exception) + // { - return new List(); - //} + // return new List(); + // } - } - } + // } + // } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index b29de6508..db36bd188 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -230,7 +230,7 @@ namespace IRaCIS.Application.Services VisitNum = x.SourceSubjectVisit.VisitNum, IsBaseLine = x.SourceSubjectVisit.IsBaseLine, VisitId = x.SourceSubjectVisitId.Value, - CrterionDictionaryGroup= x.CrterionDictionaryGroup, + //CrterionDictionaryGroup= x.CrterionDictionaryGroup, BeforeQuestionList = x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.GlobalReadingShowType!=GlobalReadingShowType.NotShow).OrderBy(y => y.ReadingQuestionTrial.ShowOrder) .Select(y => new GlobalQuestionInfo() { @@ -255,9 +255,12 @@ namespace IRaCIS.Application.Services }).ToList() }).ToListAsync(); + result.TaskList.ForEach(x => + { + x.CrterionDictionaryGroup = ReadingCommon.GetCrterionDictionaryGroup(x.IsConvertedTask); + }); - - var globalReadingQuestion = await _readingGlobalTaskInfoRepository.Where(x => x.GlobalTaskId == inDto.VisitTaskId).ToListAsync(); + var globalReadingQuestion = await _readingGlobalTaskInfoRepository.Where(x => x.GlobalTaskId == inDto.VisitTaskId).ToListAsync(); var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync(); // Before的Answer取自于 上一次全局阅片的结果, 如果没有上一次全局阅片的结果 取访视的答案 diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 438621ad7..1e1f70dc0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -641,9 +641,10 @@ namespace IRaCIS.Application.Services answers = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == visitTaskId).ToListAsync(); var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); + questions.ForEach(x => { - x.CrterionDictionaryGroup = taskinfo.CrterionDictionaryGroup; + x.CrterionDictionaryGroup = ReadingCommon.GetCrterionDictionaryGroup(taskinfo.IsConvertedTask); }); if (taskinfo.IsConvertedTask && taskinfo.BeforeConvertedTaskId != null) @@ -872,8 +873,7 @@ namespace IRaCIS.Application.Services qusetionList.ForEach(x => { - - x.CrterionDictionaryGroup = taskInfo.CrterionDictionaryGroup; + x.CrterionDictionaryGroup = ReadingCommon.GetCrterionDictionaryGroup(taskInfo.IsConvertedTask); }); } else diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs index ac5fc0623..583dd715f 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/GeneralCalculateService.cs @@ -175,16 +175,23 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate BlindName = x.TaskBlindName, IsBaseLine = x.SourceSubjectVisit.IsBaseLine, VisitTaskId = x.Id, - CrterionDictionaryGroup= x.CrterionDictionaryGroup, + TaskName = x.TaskName, LatestScanDate= x.SourceSubjectVisit!=null?x.SourceSubjectVisit.LatestScanDate : null, VisitTaskNum = x.VisitTaskNum, IsConvertedTask=x.IsConvertedTask, BeforeConvertedTaskId=x.BeforeConvertedTaskId, + //CrterionDictionaryGroup = x.CrterionDictionaryGroup, IsCurrentTask = x.Id == visitTaskId, }).ToListAsync(); + + taskInfoList.ForEach(x => + { + x.CrterionDictionaryGroup = ReadingCommon.GetCrterionDictionaryGroup(x.IsConvertedTask); + }); + var taskIds = taskInfoList.Select(x => x.VisitTaskId).ToList(); var isHaveAdditionalTaskIds = await _readingTaskQuestionAnswerRepository.Where(x => taskIds.Contains(x.VisitTaskId) && isAdditionalQuestionId.Contains(x.ReadingQuestionTrialId)).Select(x => x.VisitTaskId).Distinct().ToListAsync(); diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index 55f7ac0a8..047541361 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -314,40 +314,7 @@ namespace IRaCIS.Core.Domain.Models && t.ArmEnum == ArmEnum) || BeforeConvertedTaskId != null ).Any(); - //[NotMapped] - public List CrterionDictionaryGroup - { - get - { - - try - { - - var isConverted= Subject.SubjectVisitTaskList.Where(t => (t.TrialReadingCriterionId == TrialReadingCriterionId - && t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null - && t.TaskState == TaskState.Effect && - t.VisitTaskNum < VisitTaskNum - && t.IsSelfAnalysis == IsSelfAnalysis - && t.ArmEnum == ArmEnum) || BeforeConvertedTaskId != null - ).Any(); - - if (isConverted) - { - return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.Converted }; - } - else - { - return new List() { Share.CrterionDictionaryGroup.General, Share.CrterionDictionaryGroup.BeforeConvert }; - } - } - catch (Exception) - { - - return new List(); - } - - } - } + diff --git a/IRaCIS.Core.Infra.EFCore/Common/ReadingCommon.cs b/IRaCIS.Core.Infra.EFCore/Common/ReadingCommon.cs index e9a472140..1ea97ae51 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/ReadingCommon.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/ReadingCommon.cs @@ -42,6 +42,22 @@ namespace IRaCIS.Core.Infra.EFCore.Common //}; } + /// + /// 获取DictionaryGroup + /// + public static List GetCrterionDictionaryGroup(bool isConvertedTask) + { + + if (isConvertedTask) + { + return new List() { CrterionDictionaryGroup.General, CrterionDictionaryGroup.Converted }; + } + else + { + return new List() { CrterionDictionaryGroup.General, CrterionDictionaryGroup.BeforeConvert }; + } + } + /// /// 获取语言名称 ///