diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index 70bb92f7e..928e68d56 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -65,6 +65,8 @@ namespace IRaCIS.Application.Services // 最后取哪组的数据 VisitTask visitTask = new VisitTask(); + List visitTaskIdList = new List(); + // 判断是否产生裁判 if (globalTaskInfo.JudgeVisitTaskId == null) @@ -79,6 +81,7 @@ namespace IRaCIS.Application.Services throw new BusinessValidationFailedException(_localizer["ReadingOncology_Abnormal"]); } visitTask = await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).FirstOrDefaultAsync(); + visitTaskIdList= await _visitTaskRepository.Where(x => x.Id == judgeResultTaskId).Select(x=>x.RelatedVisitTaskIdList).FirstNotNullAsync(); } result.GlobalTaskId = visitTask.Id; @@ -93,18 +96,7 @@ namespace IRaCIS.Application.Services // 找到对应的访视 - List oncologyVisits = 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.VisitTaskNum < taskInfo.VisitTaskNum) + List oncologyVisits = await _visitTaskRepository.Where(x => visitTaskIdList.Contains(x.Id)) .OrderBy(x => x.VisitTaskNum).Select(x => new OncologyVisitTaskInfo() { VisitName = x.SourceSubjectVisit.VisitName,