diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 21fcbd28f..0dcbbe1bd 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1050,11 +1050,15 @@ namespace IRaCIS.Core.Application.Image.QA } else { - if (await _subjectVisitRepository.AnyAsync(t => t.Id == updateModalityCommand.SubjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && !t.QCChallengeList.Any(c => c.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload))) + if (!_dicomStudyRepository.Where(t => t.Id == updateModalityCommand.Id).Any(t => t.CreateTime > t.SubjectVisit.SubmitTime)) { - //---提交之后,不允许修改! - throw new BusinessValidationFailedException(_localizer["QCOperation_NoModifyAfterSubmit"]); + if (await _subjectVisitRepository.AnyAsync(t => t.Id == updateModalityCommand.SubjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && !t.QCChallengeList.Any(c => c.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload))) + { + //---提交之后,不允许修改! + throw new BusinessValidationFailedException(_localizer["QCOperation_NoModifyAfterSubmit"]); + } } + } @@ -1128,13 +1132,19 @@ namespace IRaCIS.Core.Application.Image.QA public async Task DeleteStudyList(Guid[] ids, Guid subjectVisitId, Guid trialId) { - //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 - if (await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && - (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)))) + if (!_dicomStudyRepository.Where(t => ids.Contains(t.Id)).All(t => t.CreateTime > t.SubjectVisit.SubmitTime)) { - //---CRC已经提交,不允许删除。 - return ResponseOutput.NotOk(_localizer["QCOperation_CrcNoDelete"]); + //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 + if (await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && + (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)))) + { + //---CRC已经提交,不允许删除。 + return ResponseOutput.NotOk(_localizer["QCOperation_CrcNoDelete"]); + } } + + + var waitDeleteStudyList = await _dicomStudyRepository.Where(x => ids.Contains(x.Id), false, true).ToListAsync(); foreach (var item in waitDeleteStudyList)