From 8ae0b0d621de235ef1827f93db3535853714604c Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 13 Nov 2025 16:25:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=90=8E=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=A3=80=E6=9F=A5=E7=89=B9=E6=AE=8A=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) 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)