diff --git a/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs b/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs index c04dff33f..5f7f3e5f1 100644 --- a/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs +++ b/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs @@ -12,6 +12,7 @@ using FellowOakDicom.Network.Client; using FellowOakDicom.Network; using IRaCIS.Application.Contracts; using IRaCIS.Core.Domain.Share; +using IRaCIS.Core.Infrastructure; namespace IRaCIS.Core.Application.Service { /// @@ -81,6 +82,13 @@ namespace IRaCIS.Core.Application.Service { var find = await _dicomAERepository.FirstOrDefaultAsync(t => t.Id == dicomAEId); + var hirClient = await _dicomAERepository.FirstOrDefaultAsync(t => t.PacsTypeEnum == PacsType.HIRClient); + + if (hirClient == null) + { + throw new BusinessValidationFailedException(_localizer["Patient_NoPacsClientAE"]); + } + if (find == null) { @@ -92,7 +100,7 @@ namespace IRaCIS.Core.Application.Service try { - var client = DicomClientFactory.Create(find.IP, find.Port, false, "test-callingAE", find.CalledAE); + var client = DicomClientFactory.Create(find.IP, find.Port, false, hirClient.CalledAE, find.CalledAE); client.NegotiateAsyncOps(); diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 86cb61818..d9ec150a6 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -2914,9 +2914,9 @@ namespace IRaCIS.Application.Services #endregion - private bool CEchoTest(DicomAE find) + private bool CEchoTest(DicomAE find,string clientAE) { - var client = DicomClientFactory.Create(find.IP, find.Port, false, "test-callingAE", find.CalledAE); + var client = DicomClientFactory.Create(find.IP, find.Port, false, clientAE, find.CalledAE); client.NegotiateAsyncOps(); @@ -2969,7 +2969,7 @@ namespace IRaCIS.Application.Services if (find != null) { //测试失败 - if (!CEchoTest(find)) + if (!CEchoTest(find,hirClient.CalledAE)) { throw new BusinessValidationFailedException(_localizer["Patient_PacsAENotOnline"]); }