diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 138f7bcbd..ac89912c7 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -3412,6 +3412,15 @@ namespace IRaCIS.Core.Application.Service throw new BusinessValidationFailedException(_localizer["ReadingImage_IDMust"]); } + if (inDto.SubjectCode.IsNotNullOrEmpty() && inDto.SubjectId != null) + { + if (! (await _visitTaskRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId + && x.SubjectId == inDto.SubjectId && (x.BlindSubjectCode == inDto.SubjectCode || x.Subject.Code == inDto.SubjectCode)))) + { + throw new BusinessValidationFailedException(_localizer["ReadingImage_SubjectCodeError"]); + } + } + #region 跳过阅片 var clearSkipReadingCache = await _fusionCache.GetOrDefaultAsync(CacheKeys.SkipReadingCacheKey(_userInfo.UserRoleId)); @@ -3776,11 +3785,12 @@ namespace IRaCIS.Core.Application.Service }); await _visitTaskRepository.SaveChangesAsync(); _userInfo.IsNotNeedInspection = true; + await AddDefaultValueToTask(inDto.VisitTaskId); await _readingCalculateService.AddTaskLesionAnswerFromLastTask(new AddTaskLesionAnswerFromLastTaskInDto() { VisitTaskId = inDto.VisitTaskId }); - await AddDefaultValueToTask(inDto.VisitTaskId); + return new ResetReadingTaskOutDto() { }; } ///