diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 83a2a13d1..e2224e663 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -129,13 +129,10 @@ namespace IRaCIS.Application.Services public async Task<(List, object)> GetRelatedVisitTask(GetRelatedVisitTaskInDto inDto) { var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync(); - - if (taskInfo.TaskState != TaskState.Effect) - { - throw new BusinessValidationFailedException($"当前任务已失效!"); - } var baselineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskInfo.SubjectId && x.IsBaseLine && !x.IsLostVisit).Select(x => x.Id).FirstNotNullAsync(); - var result = await _visitTaskRepository.Where(x => + var result = await _visitTaskRepository + .WhereIf(taskInfo.TaskState != TaskState.Effect,x=>x.Id== inDto.VisitTaskId) + .Where(x => (x.TrialId == taskInfo.TrialId && x.SubjectId == taskInfo.SubjectId && x.ArmEnum == taskInfo.ArmEnum && @@ -342,12 +339,15 @@ namespace IRaCIS.Application.Services var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync(); - if (visitTaskInfo.TaskState != TaskState.Effect) - { - throw new BusinessValidationFailedException($"当前任务已失效!"); - } + //if (visitTaskInfo.TaskState != TaskState.Effect) + //{ + // throw new BusinessValidationFailedException($"当前任务已失效!"); + //} result.ReadingTaskState = visitTaskInfo.ReadingTaskState; - var taskInfoList = await _visitTaskRepository.Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect + var taskInfoList = await _visitTaskRepository + // 失效的只查看自己 + .WhereIf(visitTaskInfo.TaskState != TaskState.Effect,x=>x.Id== indto.VisitTaskId) + .Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect &&x.ArmEnum== visitTaskInfo.ArmEnum &&x.TrialReadingCriterionId==visitTaskInfo.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned) || x.Id == indto.VisitTaskId @@ -536,10 +536,10 @@ namespace IRaCIS.Application.Services var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); - if (taskinfo.TaskState != TaskState.Effect) - { - throw new BusinessValidationFailedException($"当前任务已失效!"); - } + //if (taskinfo.TaskState != TaskState.Effect) + //{ + // throw new BusinessValidationFailedException($"当前任务已失效!"); + //} result.ReadingTaskState = taskinfo.ReadingTaskState; var baseLineVisitId = await _subjectVisitRepository.Where(x => x.SubjectId == taskinfo.SubjectId && x.IsBaseLine).Select(x => x.Id).FirstOrDefaultAsync();