From a0b06fbc28153e608780db3fc592e04b67c00baa Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 17 Sep 2025 16:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=B4=E6=8A=A4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Common/TrialImageDownloadService.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs b/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs index f43b076b9..e77c1a066 100644 --- a/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs +++ b/IRaCIS.Core.Application/Service/Common/TrialImageDownloadService.cs @@ -1597,7 +1597,7 @@ namespace IRaCIS.Core.Application.Service Console.WriteLine($"恢复SOPInstanceUID{sopInstanceUid},当前数量{restoreCount}"); - await ArchiveDicomFileAsync(dicomFile.Dataset, trialId, item.SubjectId, item.SubjectVisitId); + await ArchiveDicomFileAsync(dicomFile, trialId, item.SubjectId, item.SubjectVisitId,item.Key); #endregion @@ -1696,8 +1696,10 @@ namespace IRaCIS.Core.Application.Service /// /// /// - public async Task ArchiveDicomFileAsync(DicomDataset dataset, Guid trialId, Guid subjectId, Guid subjectVisitId) + public async Task ArchiveDicomFileAsync(DicomFile dicomFile, Guid trialId, Guid subjectId, Guid subjectVisitId,string path) { + var dataset = dicomFile.Dataset; + string studyInstanceUid = dataset.GetString(DicomTag.StudyInstanceUID); string seriesInstanceUid = dataset.GetString(DicomTag.SeriesInstanceUID); string sopInstanceUid = dataset.GetString(DicomTag.SOPInstanceUID); @@ -1764,7 +1766,7 @@ namespace IRaCIS.Core.Application.Service } - var transferSyntaxUID = dataset.GetSingleValueOrDefault(DicomTag.TransferSyntaxUID, string.Empty); + var transferSyntaxUID = dicomFile.FileMetaInfo.GetSingleValueOrDefault(DicomTag.TransferSyntaxUID, string.Empty); var isEncapsulated = false; if (transferSyntaxUID.IsNotNullOrEmpty()) @@ -1791,9 +1793,9 @@ namespace IRaCIS.Core.Application.Service SopInstanceUid = sopInstanceUid, SOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.SOPClassUID, string.Empty), - MediaStorageSOPClassUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPClassUID, string.Empty), + MediaStorageSOPClassUID = dicomFile.FileMetaInfo.GetSingleValueOrDefault(DicomTag.MediaStorageSOPClassUID, string.Empty), TransferSytaxUID = transferSyntaxUID, - MediaStorageSOPInstanceUID = dataset.GetSingleValueOrDefault(DicomTag.MediaStorageSOPInstanceUID, string.Empty), + MediaStorageSOPInstanceUID = dicomFile.FileMetaInfo.GetSingleValueOrDefault(DicomTag.MediaStorageSOPInstanceUID, string.Empty), IsEncapsulated = isEncapsulated, InstanceNumber = dataset.GetSingleValueOrDefault(DicomTag.InstanceNumber, 1), @@ -1815,6 +1817,9 @@ namespace IRaCIS.Core.Application.Service ++findStudy.InstanceCount; ++findSerice.InstanceCount; + + //賦值路徑 + findInstance.Path = path; }