diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index c595e069c..629dabb14 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -3212,7 +3212,6 @@ namespace IRaCIS.Application.Services // 冻结任务Id List reportRelatedTaskIdList = new List(); - if (isReadingTaskViewInOrder == ReadingOrder.InOrder) { @@ -3279,7 +3278,28 @@ namespace IRaCIS.Application.Services { if (taskInfo.ReadingCategory == ReadingCategory.Visit) { - relatedVisitTaskIdList.Add(taskInfo.Id); + switch(isReadingTaskViewInOrder) + { + case ReadingOrder.SubjectRandom: + + relatedVisitTaskIdList = await _visitTaskRepository.Where(x => + x.TrialId == taskInfo.TrialId && + x.SubjectId == taskInfo.SubjectId && + x.ReadingCategory == ReadingCategory.Visit && + x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && + x.ReadingTaskState == ReadingTaskState.HaveSigned && + x.IsAnalysisCreate == taskInfo.IsAnalysisCreate && + x.ArmEnum == taskInfo.ArmEnum && + x.IsSelfAnalysis == taskInfo.IsSelfAnalysis && + x.DoctorUserId == taskInfo.DoctorUserId && + x.TaskState == TaskState.Effect && x.Id != taskInfo.Id).Select(x => x.Id).ToListAsync(); + + break; + default: + relatedVisitTaskIdList.Add(taskInfo.Id); + break; + } + } }