From 38f408d1de083a56a19a9da04c0f69e13fff959e Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 17 Jul 2025 14:20:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9dicomAE=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BD=BF=E7=94=A8c-find,=E5=90=8C=E6=97=B6=E5=9C=A8c-find?= =?UTF-8?q?=E5=89=8D=E4=B8=8D=E8=BF=9B=E8=A1=8C=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Management/UserService.cs | 11 +++++++---- .../Service/Visit/DicomAEService.cs | 10 +++++++--- .../Service/Visit/PatientService.cs | 8 ++++---- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index cb13569eb..fbd673128 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -279,7 +279,7 @@ namespace IRaCIS.Core.Application.Service [UnitOfWork] public async Task ResetPassword(Guid userId) { - var hospitalInfo = await _fusionCache.GetOrSetAsync(CacheKeys.Hospital,async _ => await CacheHelper.GetHospitalCode(_hirHospitalRepository), TimeSpan.FromDays(7)); + var hospitalInfo = await _fusionCache.GetOrSetAsync(CacheKeys.Hospital, async _ => await CacheHelper.GetHospitalCode(_hirHospitalRepository), TimeSpan.FromDays(7)); //var pwd = IRCEmailPasswordHelper.GenerateRandomPassword(10); @@ -363,7 +363,7 @@ namespace IRaCIS.Core.Application.Service await VerifyUserPwdAsync(userId, newPwd); - await _userRepository.UpdatePartialFromQueryAsync(t => t.Id == userId, u => new User() + await _userRepository.UpdatePartialFromQueryAsync(t => t.Id == userId, u => new User() { Password = newPwd, IsFirstAdd = false @@ -433,10 +433,13 @@ namespace IRaCIS.Core.Application.Service [UnitOfWork] public async Task> AddUser(UserCommand userAddModel) { - var hospitalInfo = await _fusionCache.GetOrSetAsync(CacheKeys.Hospital, async _ => await CacheHelper.GetHospitalCode(_hirHospitalRepository), TimeSpan.FromDays(7)); + var hospitalInfo = await _fusionCache.GetOrSetAsync(CacheKeys.Hospital, async _ => await CacheHelper.GetHospitalCode(_hirHospitalRepository), TimeSpan.FromDays(7)); + if (userAddModel.UserName.IsNotNullOrEmpty()) + { + await VerifyUserNameAsync(null, userAddModel.UserName); - await VerifyUserNameAsync(null, userAddModel.UserName); + } await VerifyUserEmailAsync(null, userAddModel.UserTypeId, userAddModel.EMail); diff --git a/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs b/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs index 5f7f3e5f1..411eb39f1 100644 --- a/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs +++ b/IRaCIS.Core.Application/Service/Visit/DicomAEService.cs @@ -13,6 +13,7 @@ using FellowOakDicom.Network; using IRaCIS.Application.Contracts; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; +using FellowOakDicom; namespace IRaCIS.Core.Application.Service { /// @@ -105,13 +106,13 @@ namespace IRaCIS.Core.Application.Service client.NegotiateAsyncOps(); - client.ServiceOptions.RequestTimeout = TimeSpan.FromSeconds(3); + client.ServiceOptions.RequestTimeout = TimeSpan.FromSeconds(5); - var request = new DicomCEchoRequest + var request = new DicomCFindRequest(DicomQueryRetrieveLevel.Study) { OnResponseReceived = (req, response) => { - Console.WriteLine($"C-ECHO Response: {response.Status}"); + //Console.WriteLine($"C-Find Response: {response.Status}"); if (response.Status == DicomStatus.Success) { @@ -124,6 +125,9 @@ namespace IRaCIS.Core.Application.Service } }; + // 设置你要查询的条件(比如 PatientID) + request.Dataset.Add(DicomTag.PatientID, "TEST123"); + await client.AddRequestAsync(request); diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 4918f5e1d..2caff3529 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -3043,10 +3043,10 @@ namespace IRaCIS.Application.Services if (find != null) { //测试失败 - if (!CEchoTest(find, hirClient.CalledAE)) - { - throw new BusinessValidationFailedException(_localizer["Patient_PacsAENotOnline"]); - } + //if (!CEchoTest(find, hirClient.CalledAE)) + //{ + // throw new BusinessValidationFailedException(_localizer["Patient_PacsAENotOnline"]); + //} var @lock = _distributedLockProvider.CreateLock($"CFind");