diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 1cb708aef..ab371dfac 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1085,7 +1085,7 @@ namespace IRaCIS.Core.Application.Image.QA //---CRC已经提交,不允许删除。 return ResponseOutput.NotOk(_localizer["QCOperation_CrcNoDelete"]); } - var waitDeleteStudyList = await _dicomStudyRepository.Where(x => ids.Contains(x.Id)).ToListAsync(); + var waitDeleteStudyList = await _dicomStudyRepository.Where(x => ids.Contains(x.Id),false,true).ToListAsync(); foreach (var study in waitDeleteStudyList) { @@ -1107,26 +1107,6 @@ namespace IRaCIS.Core.Application.Image.QA await _oSSService.DeleteFromPrefix(prefix, true); - //var success3 = await _dicomSeriesrepository.DeleteFromQueryAsync(t => t.StudyId == id, true); - //var success4 = await _repository.BatchDeleteAsync(t => t.StudyId == id); - - //删除 物理文件 - - //var instancePathList = await _dicomInstanceRepository.Where(t => t.StudyId == id) - // .Select(t => t.Path).ToListAsync(); - - //instancePathList.ForEach(path => - //{ - - // var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path); - - // if (System.IO.File.Exists(physicalPath)) - // { - // File.Delete(physicalPath); - // } - //}); - - } var subjectId = waitDeleteStudyList.Select(t => t.SubjectId).FirstOrDefault(); @@ -1995,8 +1975,11 @@ namespace IRaCIS.Core.Application.Image.QA dbSubjectVisit.ReadingStatus = trialConfig.IsImageConsistencyVerification ? ReadingStatusEnum.ConsistencyCheck : ReadingStatusEnum.TaskAllocate; //删除影像 + await _dicomStudyRepository.BatchDeleteNoTrackingAsync(t => t.IsDeleted && t.SubjectVisitId == subjectVisitId); + await _dicomSeriesRepository.BatchDeleteNoTrackingAsync(t => t.IsDeleted && t.SubjectVisitId == subjectVisitId); await _dicomInstanceRepository.BatchDeleteNoTrackingAsync(t => (t.DicomSerie.IsDeleted || t.IsDeleted) && t.SubjectVisitId == subjectVisitId); await _noneDicomStudyFileRepository.BatchDeleteNoTrackingAsync(t => (t.NoneDicomStudy.IsDeleted || t.IsDeleted) && t.NoneDicomStudy.SubjectVisitId == subjectVisitId); + await _noneDicomStudyRepository.BatchDeleteNoTrackingAsync(t => t.IsDeleted && t.SubjectVisitId == subjectVisitId); await _oSSService.DeleteObjects(instancePathList.Select(t => t.TrimStart('/')).ToList()); await _oSSService.DeleteObjects(noneDicomFileList.Select(t => t.TrimStart('/')).ToList()); }