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);