From 40cbd732266a81b5d9322e07960c44beb3ac09b5 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 25 Jul 2025 10:35:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9dicom=20=E5=8F=96tag=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index f54330dc8..a633537db 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -229,9 +229,16 @@ namespace IRaCIS.Core.SCP.Service public async Task OnCStoreRequestAsync(DicomCStoreRequest request) { - string studyInstanceUid = request.Dataset.GetString(DicomTag.StudyInstanceUID); - string seriesInstanceUid = request.Dataset.GetString(DicomTag.SeriesInstanceUID); - string sopInstanceUid = request.Dataset.GetString(DicomTag.SOPInstanceUID); + string studyInstanceUid = request.Dataset.GetSingleValueOrDefault(DicomTag.StudyInstanceUID, string.Empty); + string seriesInstanceUid = request.Dataset.GetSingleValueOrDefault(DicomTag.SeriesInstanceUID, string.Empty); + string sopInstanceUid = request.Dataset.GetSingleValueOrDefault(DicomTag.SOPInstanceUID, string.Empty); + + if (studyInstanceUid.IsNullOrEmpty() || seriesInstanceUid.IsNullOrEmpty() || sopInstanceUid.IsNullOrEmpty()) + { + Log.Logger.Error($"接收数据读取StudyInstanceUID:{studyInstanceUid}、SeriesInstanceUID:{seriesInstanceUid}、SOPInstanceUID:{sopInstanceUid}有空 "); + + return new DicomCStoreResponse(request, DicomStatus.Success); + } Guid seriesId = IdentifierHelper.CreateGuid(studyInstanceUid, seriesInstanceUid); Guid instanceId = IdentifierHelper.CreateGuid(studyInstanceUid, seriesInstanceUid, sopInstanceUid);