From 5cda083a404dc7f956343a2a27998fcd876f1062 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 1 Aug 2022 12:06:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/VisitTaskService.cs | 2 +- .../Reading/ReadingImageTaskService.cs | 77 ++++++++++++++----- 2 files changed, 57 insertions(+), 22 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 899e0ee79..bd42c7e97 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1085,7 +1085,7 @@ namespace IRaCIS.Core.Application.Service.Allocation { var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id) .Where(x => !x.Subject.IsDeleted) - .Where(t => (t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) || t.ReReadingApplyState == ReReadingApplyState.HaveApplyed) + .Where(t => (t.ReadingTaskState != ReadingTaskState.HaveSigned || t.ReReadingApplyState == ReReadingApplyState.HaveApplyed) && t.TaskState == TaskState.Effect) .GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode }); var visitTaskQuery = visitGroupQuery.Select(x => new IRUnReadSubjectView() diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index bea8e4732..d177cb204 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -129,7 +129,7 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto) + public async Task<(GetGlobalReadingInfoOutDto,object)> GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto) { var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); if (taskInfo.ReadingCategory != ReadingCategory.Global) @@ -215,7 +215,28 @@ namespace IRaCIS.Application.Services }); - return result; + + var subjectCode = await _subjectRepository.Where(x => x.Id == taskInfo.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(); + + + var trialInfo = await _trialRepository.Where(x => x.Id == taskInfo.TrialId).Select(x => new + { + x.IsReadingShowPreviousResults, + x.IsReadingShowSubjectInfo, + x.ClinicalInformationTransmissionEnum, + }).FirstOrDefaultAsync(); + + return (result, new + { + VisitTaskId = taskInfo.Id, + SubjectId = taskInfo.SubjectId, + SubjectCode = taskInfo.BlindSubjectCode.IsNullOrEmpty() ? subjectCode : taskInfo.BlindSubjectCode, + ReadingCategory = taskInfo.ReadingCategory, + TaskBlindName = taskInfo.TaskBlindName, + IsReadingShowPreviousResults = trialInfo.IsReadingShowPreviousResults, + IsReadingShowSubjectInfo = trialInfo.IsReadingShowSubjectInfo, + + }); } #endregion @@ -692,15 +713,9 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task GetJudgeReadingInfo(GetJudgeReadingInfo inDto) + public async Task<(GetJudgeReadingInfoOutDto,object)> GetJudgeReadingInfo(GetJudgeReadingInfo inDto) { - var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => new - { - x.ReadingTaskState, - x.JudgeResultTaskId, - x.JudgeResultRemark, - x.JudgeResultImagePath, - }).FirstOrDefaultAsync(); + var visitTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstOrDefaultAsync(); GetJudgeReadingInfoOutDto judgeInfo = new GetJudgeReadingInfoOutDto() { ReadingTaskState = visitTask.ReadingTaskState, @@ -758,17 +773,17 @@ namespace IRaCIS.Application.Services break; case ReadingCategory.Global: - var taskOneInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() + var taskOneInfo = (await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() { UsingOriginalData = true, VisitTaskId = taskList[0].Id - }); + })).Item1; - var taskTwoInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() + var taskTwoInfo = (await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() { UsingOriginalData = true, VisitTaskId = taskList[1].Id - }); + })).Item1; foreach (var item in taskOneInfo.TaskList) @@ -855,8 +870,28 @@ namespace IRaCIS.Application.Services break; } - - return judgeInfo; + var subjectCode = await _subjectRepository.Where(x => x.Id == visitTask.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(); + + + var trialInfo = await _trialRepository.Where(x => x.Id == visitTask.TrialId).Select(x => new + { + x.IsReadingShowPreviousResults, + x.IsReadingShowSubjectInfo, + x.ClinicalInformationTransmissionEnum, + }).FirstOrDefaultAsync(); + + return (judgeInfo, new + { + VisitTaskId = visitTask.Id, + SubjectId = visitTask.SubjectId, + SubjectCode = visitTask.BlindSubjectCode.IsNullOrEmpty() ? subjectCode : visitTask.BlindSubjectCode, + ReadingCategory = visitTask.ReadingCategory, + TaskBlindName = visitTask.TaskBlindName, + IsReadingShowPreviousResults = trialInfo.IsReadingShowPreviousResults, + IsReadingShowSubjectInfo = trialInfo.IsReadingShowSubjectInfo, + + }); + } #endregion @@ -1267,17 +1302,17 @@ namespace IRaCIS.Application.Services noteEqual = ComputeJudgeResult(groupTasks); break; case ReadingCategory.Global: - var taskOneInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() + var taskOneInfo = (await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() { UsingOriginalData = true, VisitTaskId = visitTaskids[0] - }); + })).Item1; - var taskTwoInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() + var taskTwoInfo = (await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto() { UsingOriginalData = true, VisitTaskId = visitTaskids[1] - }); + })).Item1; // 判断两个任务是否 if (taskOneInfo.TaskList.Count() != taskTwoInfo.TaskList.Count()) @@ -1330,7 +1365,7 @@ namespace IRaCIS.Application.Services }); // 找到最后一个任务ID - var lastTask = taskOneInfo.TaskList.Last(); + var lastTask = taskOneInfo.Item1.TaskList.Last(); if (lastTask == null) {