diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index dedb2ba2b..34ca08b3b 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -884,6 +884,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc subjectCode = inQuery.SubjectCode; } + TaskState? taskState = null; if (inQuery.VisitTaskId != null) { //考虑到一致性分析,必须要这个编号进行过滤 @@ -894,20 +895,24 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc SubjectCode = t.IsAnalysisCreate ? t.BlindSubjectCode : t.Subject.Code, SubjectId = t.SubjectId, t.DoctorUserId, - t.IsAnalysisCreate + t.IsAnalysisCreate, + t.TaskState }).FirstNotNullAsync(); subjectId = taskInfo.SubjectId; subjectCode = taskInfo.SubjectCode; doctorUserId = (Guid)taskInfo.DoctorUserId!; isAnalysisCreate = taskInfo.IsAnalysisCreate; + + taskState = taskInfo.TaskState; } var query = _visitTaskRepository.Where(t => t.SubjectId == subjectId && t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId && t.SourceSubjectVisitId != null && t.DoctorUserId == doctorUserId) - //满足 有序,或者随机只看到当前任务的dicom 非dicom检查 + //满足 有序,或者随机只看到当前任务的dicom 非dicom检查 .WhereIf(inQuery.VisitTaskId == null, t => t.TaskState == TaskState.Effect)//从待阅列表进入,要筛选出有效的,任务可能重阅了,也要看到该任务的的 .WhereIf(criterionInfo.IsReadingTaskViewInOrder != ReadingOrder.SubjectRandom && inQuery.VisitTaskId != null, t => t.Id == inQuery.VisitTaskId) + .WhereIf(taskState == TaskState.Effect, t => t.TaskState == TaskState.Effect)//subject 随机可能当前阅片人有退回任务,此时传递了任务Id,但是要看整个subject得,要只留生效的 .ProjectTo(_mapper.ConfigurationProvider); //这里过滤是否是一致性分析的