From bc9e30287d1b6611c71de2d5858d788d359864b8 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 12 Dec 2022 16:35:58 +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 --- .../Allocation/VisitTaskHelpeService.cs | 53 ++++++++++--------- .../ReadingJudgeTaskService.cs | 2 + .../Service/Visit/SubjectVisitService.cs | 6 +-- 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs index d98c22b69..a3831c889 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs @@ -1001,38 +1001,43 @@ namespace IRaCIS.Core.Application.Service case GenerateTaskCategory.Global: - var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).FirstNotNullAsync(); + var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync(); - - foreach (var item in generateTaskCommand.ReadingGenerataTaskList) + // 需要添加全局任务再添加 + if (originalTaskInfo.TrialReadingCriterion.IsGlobalTask) { - item.VisitNum = originalTaskInfo.VisitTaskNum; - var task1 = await _visitTaskRepository.AddAsync(new VisitTask() + foreach (var item in generateTaskCommand.ReadingGenerataTaskList) { - TrialId = trialId, - SubjectId = item.SubjectId, - IsUrgent = item.IsUrgent, - VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global], - TaskName = item.ReadingName, - ArmEnum = originalTaskInfo.ArmEnum,//特殊 + item.VisitNum = originalTaskInfo.VisitTaskNum; + var task1 = await _visitTaskRepository.AddAsync(new VisitTask() + { + TrialId = trialId, + SubjectId = item.SubjectId, + IsUrgent = item.IsUrgent, + VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global], + TaskName = item.ReadingName, + ArmEnum = originalTaskInfo.ArmEnum,//特殊 - DoctorUserId = originalTaskInfo.DoctorUserId, - AllocateTime = DateTime.Now, - TaskAllocationState = TaskAllocationState.Allocated, - SuggesteFinishedTime = DateTime.Now.AddDays(7), + DoctorUserId = originalTaskInfo.DoctorUserId, + AllocateTime = DateTime.Now, + TaskAllocationState = TaskAllocationState.Allocated, + SuggesteFinishedTime = DateTime.Now.AddDays(7), - Code = currentMaxCodeInt + 1, - TaskBlindName = item.ReadingName, - SouceReadModuleId = item.ReadModuleId, - TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), - ReadingCategory = item.ReadingCategory, + Code = currentMaxCodeInt + 1, + TaskBlindName = item.ReadingName, + SouceReadModuleId = item.ReadModuleId, + TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), + ReadingCategory = item.ReadingCategory, - TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId, - }); + TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId, + }); - currentMaxCodeInt = currentMaxCodeInt + 1; - _provider.Set($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30)); + currentMaxCodeInt = currentMaxCodeInt + 1; + _provider.Set($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30)); + } } + + break; case GenerateTaskCategory.Oncology: diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index bc091a51f..6b6ff2cdc 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -366,6 +366,8 @@ namespace IRaCIS.Application.Services { // 访视 case ReadingCategory.Visit: + + // 判断是单访视裁判还是全局访视裁判 // 查找两个 访视的阅片答案 var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId)) join question in _readingQuestionTrialRepository.Where(x => x.IsJudgeQuestion) on new { ReadingQuestionTrialId = questionAnswet.ReadingQuestionTrialId } equals new { ReadingQuestionTrialId = question.Id } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 16eecc7b8..3e1d9960d 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -233,7 +233,7 @@ namespace IRaCIS.Core.Application.Services //series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList(); //处理多帧 - series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id) + series.InstancePathList = instanceList.OrderBy(t => t.InstanceNumber).Where(s => s.SeriesId == series.Id) .SelectMany(u => { @@ -319,10 +319,10 @@ namespace IRaCIS.Core.Application.Services item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).ToList(); var tempInstanceList = await _repository.Where(t => item.InstanceList.Contains(t.Id)).OrderBy(t => t.InstanceNumber) - .Select(t => new { t.Path, t.NumberOfFrames }).ToListAsync(); + .Select(t => new { t.Path, t.NumberOfFrames,t.InstanceNumber }).ToListAsync(); - item.InstancePathList = tempInstanceList.SelectMany(u => + item.InstancePathList = tempInstanceList.OrderBy(t => t.InstanceNumber).SelectMany(u => { if (u.NumberOfFrames > 1)