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"); }