diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 62330802a..8e099415b 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1696,6 +1696,9 @@ namespace IRaCIS.Core.Application.Image.QA //删除 软删除的物理文件 var instancePathList = await _dicomInstanceRepository.Where(t => (t.DicomSerie.IsDeleted || t.IsDeleted) && t.SubjectVisitId == subjectVisitId, false, true) .Select(t => t.Path).ToListAsync(); + var noneDicomFileList = await _noneDicomStudyFileRepository.Where(t => (t.NoneDicomStudy.IsDeleted ||t.IsDeleted) && t.NoneDicomStudy.SubjectVisitId == subjectVisitId, false, true) + .Select(t => t.Path).ToListAsync(); + //维护统一状态 dbSubjectVisit.ReadingStatus = ReadingStatusEnum.ConsistencyCheck; @@ -1733,8 +1736,14 @@ 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()); + } @@ -1790,8 +1799,9 @@ namespace IRaCIS.Core.Application.Image.QA //删除影像 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 _oSSService.DeleteObjects(instancePathList.Select(t => t.TrimStart('/')).ToList()); - + await _oSSService.DeleteObjects(noneDicomFileList.Select(t => t.TrimStart('/')).ToList()); } else {