From 0e4d414e77c1ea45008f5746a8db21c559ee6140 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Sat, 7 May 2022 18:38:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A3=80=E6=9F=A5=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=93=8D=E4=BD=9C=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QC/Interface/INoneDicomStudyService.cs | 4 ++-- .../Service/QC/NoneDicomStudyService.cs | 17 ++++++++++++++--- .../Service/QC/QCOperationService.cs | 4 +--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs index 633f6a49f..0393b5df1 100644 --- a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs @@ -13,8 +13,8 @@ namespace IRaCIS.Core.Application.Contracts public interface INoneDicomStudyService { Task> AddOrUpdateNoneDicomStudy(NoneDicomStudyAddOrEdit addOrEditNoneDicomStudy); - Task DeleteNoneDicomStudy(Guid noneDicomStudyId); - Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId); + Task DeleteNoneDicomStudy(Guid noneDicomStudyId, Guid subjectVisitId); + Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId); Task> GetNoneDicomStudyFileList(Guid noneDicomStudyId); Task> GetNoneDicomStudyList(Guid subjectVisitId); Task> GetVisitNoneDicomStudyFileList(Guid subjectVisitId); diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs index a144b2e7b..50dc9c719 100644 --- a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs @@ -120,9 +120,14 @@ namespace IRaCIS.Core.Application.Contracts [TypeFilter(typeof(TrialResourceFilter))] [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}")] - public async Task DeleteNoneDicomStudy(Guid noneDicomStudyId) + public async Task DeleteNoneDicomStudy(Guid noneDicomStudyId,Guid subjectVisitId) { - + //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 + if (await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && + (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)))) + { + return ResponseOutput.NotOk("CRC Has Submited Image,can not delete"); + } await _noneDicomStudyRepository.DeleteFromQueryAsync( noneDicomStudyId); @@ -139,8 +144,14 @@ namespace IRaCIS.Core.Application.Contracts [HttpDelete("{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyFileId:guid}")] [TypeFilter(typeof(TrialResourceFilter))] - public async Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId) + public async Task DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId, Guid subjectVisitId) { + //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 + if (await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && + (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload)))) + { + return ResponseOutput.NotOk("CRC Has Submited Image,can not delete"); + } //var subjectVisitId = await _noneDicomStudyFileRepository.Where(t => t.Id == noneDicomStudyFileId).Select(t => t.NoneDicomStudy.SubjectVisitId).FirstOrDefaultAsync(); var success = await _noneDicomStudyFileRepository.DeleteFromQueryAsync(t => t.Id == noneDicomStudyFileId,true); diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index b49b9f417..4e04d8a7a 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -861,9 +861,7 @@ namespace IRaCIS.Core.Application.Image.QA //提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除 if (await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted && - (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload))) - || - await _subjectVisitRepository.AnyAsync(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.Submitted)) + (!t.QCChallengeList.Any(u => u.ReuploadEnum == QCChanllengeReuploadEnum.QCAgreeUpload))) ) { return ResponseOutput.NotOk("CRC Has Submited Image,can not delete"); }