From 3cba1e5b788f008aa9cc1499f7e0840eb27c769b Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 30 Aug 2022 18:00:05 +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 --- .../IRaCIS.Core.Application.xml | 19 ++++ .../Reading/Dto/ReadingImageTaskViewModel.cs | 88 +++++++++++++++++++ .../Reading/ReadingCalculateService.cs | 4 +- .../Reading/ReadingImageTaskService.cs | 75 +++++++++++++--- 4 files changed, 173 insertions(+), 13 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index b98441b03..ecb452a10 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1555,6 +1555,11 @@ 文件路径 + + + 序号标记 + + 分页名称 @@ -3525,6 +3530,20 @@ 阅片计算 + + + 计算任务 + + + + + + + 自动计算 + + + + 获取SOD diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 6852c140a..4c7e4a9c2 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -9,7 +9,95 @@ using System.Threading.Tasks; namespace IRaCIS.Core.Application.Service.Reading.Dto { #region 阅片问题 + + public class GetReadingReportEvaluationOutDto + { + public List VisitTaskList { get; set; } + public List Questions { get; set; } + } + + public class VisitTaskGroupInfo + { + public Guid QuestionId { get; set; } + + + + public string QuestionName { get; set; } + + public string GroupName { get; set; } + + public int ShowOrder { get; set; } + + + + public List QuestionList = new List(); + } + + + public class VisitTaskQuestionInfo + { + public Guid QuestionId { get; set; } + + + public string QuestionName { get; set; } + + public string GroupName { get; set; } + + public int ShowOrder { get; set; } + + public string Answer { get; set; } = string.Empty; + + public List TableRowQuestionList = new List(); + } + + + public class VistTaskTableQuestionRowInfo + { + public int RowIndex { get; set; } + + /// + /// 序号标记 + /// + public string OrderMark { get; set; } = string.Empty; + + + public List TableQuestionList = new List(); + } + + + public class VistTaskTableQuestionInfo + { + public Guid QuestionId { get; set; } + + public Guid TableQuestionId { get; set; } + + public string QuestionName { get; set; } + + + + public int ShowOrder { get; set; } + + public string Answer { get; set; } = string.Empty; + } + + + + public class VisitTaskInfo + { + public Guid VisitTaskId { get; set; } + + public string TaskName { get; set; } + + public decimal VisitTaskNum { get; set; } + } + + public class GetReadingReportEvaluationInDto + { + public Guid SubjectId { get; set; } + + public Guid TrialId { get; set; } + } public class GetReadingQuestionAndAnswerOutDto { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs index dde950bb2..6b5bab33e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs @@ -105,7 +105,7 @@ namespace IRaCIS.Core.Application.Service CriterionId= criterionId, TrialId=visitTask.TrialId, }; - await ReadingCalculate(readingData); + //await ReadingCalculate(readingData); } @@ -118,7 +118,7 @@ namespace IRaCIS.Core.Application.Service { var needAddList = new List(); - foreach (var item in inDto.QuestionInfo) + foreach (var item in inDto.QuestionInfo.Where(x => x.QuestionType != null)) { switch (item.QuestionType) { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index f61a6cfa8..45944ef0b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -109,22 +109,75 @@ namespace IRaCIS.Application.Services #region 表格问题相关 - //public async Task<> GetVisitReadingQuestion(GetVisitReadingQuestionInDto inDto) + //public async Task<> GetReadingReportEvaluation(GetReadingReportEvaluationInDto indto) //{ - // var readingTrialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstNotNullAsync(); - // List qusetionList = await GetReadingAnswerView(readingTrialCriterion.Id, inDto.VisitTaskId); + // GetReadingReportEvaluationOutDto result = new GetReadingReportEvaluationOutDto(); - - - // var groupList = qusetionList.Where(x => x.Type == "group" || (x.ParentId == null && x.GroupName.IsNullOrEmpty())).ToList(); - // groupList.ForEach(x => + // var taskInfoList = await _visitTaskRepository.Where(x => x.SubjectId == indto.SubjectId && x.TaskState == TaskState.Effect + // && x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned + // ).OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo() // { - // this.FindChildQuestion(x, qusetionList); - // }); + // VisitTaskId = x.Id, + // TaskName = x.TaskName, + // VisitTaskNum = x.VisitTaskNum, + // }).ToListAsync(); - // groupList = groupList.Where(x => !(x.Type == "group" && x.Childrens.Count() == 0)).ToList(); - // result.SinglePage = groupList; + // var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList(); + + // var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == indto.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync(); + // var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).ToListAsync(); + // var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).ToListAsync(); + + + // var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); + // var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync(); + + + // // 第一级 + + // List questions = questionList.Where(x => x.Type == "group").OrderBy(x => x.ShowOrder).Select(x => new VisitTaskGroupInfo() + // { + // QuestionId = x.Id, + // GroupName=x.GroupName, + // QuestionName = x.QuestionName, + // ShowOrder = x.ShowOrder, + // }).ToList(); + + // foreach (var item in questions) + // { + // item.QuestionList = questionList.Where(x => x.GroupName == item.GroupName).OrderBy(x => x.ShowOrder).Select(x => new VisitTaskQuestionInfo() + // { + // GroupName = x.GroupName, + // QuestionId = x.Id, + // QuestionName = x.QuestionName, + // ShowOrder = x.ShowOrder, + + // }).ToList(); + + // foreach (var question in item.QuestionList) + // { + // question.TableRowQuestionList = new List() + // { + + + // }; + // VistTaskTableQuestionRowInfo questionInfo = new VistTaskTableQuestionRowInfo() + // { + + // RowIndex = 0, + // OrderMark = String.Empty, + // TableQuestionList=tableQuestionList.Where(x=>x.ReadingQuestionId== question.QuestionId).Select(x=> new VistTaskTableQuestionInfo() { + // Answer=String.Empty, + // GroupName=question + + // }) + + // } + // } + // } + + //} ///