From ed0cd87bfbe1c97ba7de2df9d3f15e6ae0a2bfb8 Mon Sep 17 00:00:00 2001 From: "DESKTOP-G961P6V\\Zhh" <839860190@qq.com> Date: Tue, 30 Apr 2024 11:07:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E8=B4=B9=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChargeRequests/ChargeRequestAppService.cs | 4 +-- .../ChargeRequests/ChargeRequestManager.cs | 32 ++++++++++++++++--- .../LisRequests/LisRequestManager.cs | 21 +++++++++++- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs b/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs index 2e822c8..f842f8f 100644 --- a/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs +++ b/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs @@ -193,8 +193,8 @@ namespace Shentun.Peis.ChargeRequests return result; } - [HttpPost("api/app/ChargeRequest/GetChargeRequestsByPatientRegisterId")] - public async Task> GetChargeRequestAsbitemsByPatientRegisterIdAsync(ChargeRequestIdInputDto input) + [HttpPost("api/app/ChargeRequest/GetChargeRequestAsbitemsByChargeQuestId")] + public async Task> GetChargeRequestAsbitemsByChargeQuestIdAsync(ChargeRequestIdInputDto input) { if (input == null) { diff --git a/src/Shentun.Peis.Domain/ChargeRequests/ChargeRequestManager.cs b/src/Shentun.Peis.Domain/ChargeRequests/ChargeRequestManager.cs index 4191d89..73bee83 100644 --- a/src/Shentun.Peis.Domain/ChargeRequests/ChargeRequestManager.cs +++ b/src/Shentun.Peis.Domain/ChargeRequests/ChargeRequestManager.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.Configuration; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; using Shentun.Peis.Enums; using Shentun.Peis.Models; using Shentun.Peis.PlugIns; @@ -20,6 +21,8 @@ namespace Shentun.Peis.ChargeRequests { private readonly IRepository _repository; private readonly IRepository _patientRegisterRepository; + private readonly IRepository _registerCheckRepository; + private readonly IRepository _registerCheckAsbitemRepository; private readonly IRepository _primarykeyBuilderRepository; private readonly SysParmValueManager _sysParmValueManager; private readonly IRepository _thirdInterfaceRepository; @@ -27,14 +30,17 @@ namespace Shentun.Peis.ChargeRequests IRepository primarykeyBuilderRepository, SysParmValueManager sysParmValueManager, IRepository patientRegisterRepository, - IRepository thirdInterfaceRepository) + IRepository thirdInterfaceRepository, + IRepository registerCheckRepository, + IRepository registerCheckAsbitemRepository) { _repository = repository; _primarykeyBuilderRepository = primarykeyBuilderRepository; _sysParmValueManager = sysParmValueManager; _patientRegisterRepository = patientRegisterRepository; _thirdInterfaceRepository = thirdInterfaceRepository; - + _registerCheckRepository = registerCheckRepository; + _registerCheckAsbitemRepository = registerCheckAsbitemRepository; } /// /// 创建 @@ -60,7 +66,25 @@ namespace Shentun.Peis.ChargeRequests public async Task SendThirChargeRequestAsync(Guid id,string funName) { - var thirdInterfaces = (await _thirdInterfaceRepository.GetListAsync(o => o.ThirdInterfaceType == ThirdInterfaceTypeFlag.ChargeRequest)) + var patientRegisterEntity = await (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join chargeRequest in await _repository.GetQueryableAsync() + on registerCheckAsbitem.LisRequestId equals chargeRequest.Id + where chargeRequest.Id == id + select new + { + patientRegister + }).FirstOrDefaultAsync(); + if (patientRegisterEntity == null) + { + return; + } + + var thirdInterfaces = (await _thirdInterfaceRepository.GetListAsync(o => o.ThirdInterfaceType == ThirdInterfaceTypeFlag.ChargeRequest + && o.MedicalCenterId == patientRegisterEntity.patientRegister.MedicalCenterId)) .OrderBy(o => o.DisplayOrder).ToList(); foreach (var thirdInterface in thirdInterfaces) { diff --git a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs index da8ec0a..65e6ffe 100644 --- a/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs +++ b/src/Shentun.Peis.Domain/LisRequests/LisRequestManager.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; +using Org.BouncyCastle.Asn1.Ocsp; using Shentun.Peis.Enums; using Shentun.Peis.Models; using Shentun.Peis.PlugIns; @@ -11,6 +12,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; +using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using Volo.Abp; @@ -321,7 +323,24 @@ namespace Shentun.Peis.LisRequests public async Task SendThirdLisRequestAsync(Guid id) { - var thirdInterfaces = (await _thirdInterfaceRepository.GetListAsync(o => o.ThirdInterfaceType == ThirdInterfaceTypeFlag.LisRequest)) + var patientRegisterEntity = await (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + join registerCheck in await _registerCheckRepository.GetQueryableAsync() + on patientRegister.Id equals registerCheck.PatientRegisterId + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() + on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId + join lisRequest in await _lisRequestRepository.GetQueryableAsync() + on registerCheckAsbitem.LisRequestId equals lisRequest.Id + where lisRequest.Id == id + select new + { + patientRegister + }).FirstOrDefaultAsync(); + if(patientRegisterEntity == null) + { + return; + } + var thirdInterfaces = (await _thirdInterfaceRepository.GetListAsync(o => o.ThirdInterfaceType == ThirdInterfaceTypeFlag.LisRequest + && o.MedicalCenterId == patientRegisterEntity.patientRegister.MedicalCenterId)) .OrderBy(o => o.DisplayOrder).ToList(); foreach (var thirdInterface in thirdInterfaces) {