diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index c30f36659..b45106a0f 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -112,12 +112,24 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc var prefix = path.Substring(1, path.LastIndexOf('/') - 1); //每次都用一个新的名字 - var maskFileName = $"{Path.GetFileName(path)}.{batchId}_MaskDicom"; + var maskFileName = string.Empty; - if (path.Contains("_MaskDicom")) + if (path.Contains(".MaskDicom_")) { //清理缓存的里面的遮盖图,多次遮盖同一张图时,清除缓存很重要 await _oSSService.DeleteFromPrefix(path, true); //清理缓存的里面的遮盖图,多次遮盖同一张图时,清除缓存很重要 + + //本身就是遮盖的图,那么就要要替换guid + var length = Guid.Empty.ToString().Length + ".MaskDicom_".Length ; + + var restorePath = item.Path[..^length]; + + maskFileName = $"{Path.GetFileName(restorePath)}.MaskDicom_{batchId}"; + } + else + { + //没有遮盖的,直接加上.批次_MaskDicom + maskFileName = $"{Path.GetFileName(path)}.MaskDicom_{batchId}"; } await _oSSService.UploadToOSSAsync(outPutStream, prefix, maskFileName, false); @@ -174,11 +186,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc foreach (var item in idPathList) { - if (item.Path.EndsWith("_MaskDicom")) + if (item.Path.Contains(".MaskDicom_")) { await _oSSService.DeleteFromPrefix(item.Path, true); - var length = Guid.Empty.ToString().Length + "_MaskDicom".Length + 1; + var length = Guid.Empty.ToString().Length + ".MaskDicom_".Length; var newPath = item.Path[..^length]; okList.Add(new InstanceIdPath() { Id = item.Id, Path = newPath }); @@ -186,16 +198,16 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { Path = newPath, IsMasked = false }); } - if (item.Path.EndsWith(".")) - { - await _oSSService.DeleteFromPrefix(item.Path, true); + //if (item.Path.EndsWith(".")) + //{ + // await _oSSService.DeleteFromPrefix(item.Path, true); - var newPath = item.Path[..^1]; + // var newPath = item.Path[..^1]; - okList.Add(new InstanceIdPath() { Id = item.Id, Path = newPath }); + // okList.Add(new InstanceIdPath() { Id = item.Id, Path = newPath }); - await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { Path = newPath, IsMasked = false }); - } + // await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { Path = newPath, IsMasked = false }); + //} }