diff --git a/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs b/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs index 7f5568e..dfb61f2 100644 --- a/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs +++ b/src/Shentun.Peis.Application/ChargeRequests/ChargeRequestAppService.cs @@ -31,6 +31,8 @@ namespace Shentun.Peis.ChargeRequests private readonly ChargeRequestManager _chargeRequestManager; private readonly ChargeRequestAsbitemManager _chargeRequestAsbitemManager; private readonly IUnitOfWorkManager _unitOfWorkManager; + private readonly IRepository _thirdInterfaceRepository; + public ChargeRequestAppService( IRepository chargeRequestRepository, IRepository chargeRequestAsbitemRepository, @@ -40,8 +42,8 @@ namespace Shentun.Peis.ChargeRequests IRepository asbitemRepository, ChargeRequestManager chargeRequestManager, ChargeRequestAsbitemManager chargeRequestAsbitemManager, - IUnitOfWorkManager unitOfWorkManager - ) + IUnitOfWorkManager unitOfWorkManager, + IRepository thirdInterfaceRepository) { _chargeRequestRepository = chargeRequestRepository; _chargeRequestAsbitemRepository = chargeRequestAsbitemRepository; @@ -52,6 +54,7 @@ namespace Shentun.Peis.ChargeRequests _chargeRequestAsbitemManager = chargeRequestAsbitemManager; _unitOfWorkManager = unitOfWorkManager; _asbitemRepository = asbitemRepository; + _thirdInterfaceRepository = thirdInterfaceRepository; } /// /// 创建申请单 @@ -66,7 +69,16 @@ namespace Shentun.Peis.ChargeRequests throw new UserFriendlyException("input参数不能为空"); } - //var patientRegister = await _patientRegisterRepository.GetAsync(input.PatientRegisterId); + var patientRegisterEnt = await _patientRegisterRepository.FirstOrDefaultAsync(f => f.Id == input.PatientRegisterId); + if (patientRegisterEnt == null) + throw new UserFriendlyException("人员不存在"); + + var isThirdInterface = await _thirdInterfaceRepository.CountAsync(o => o.ThirdInterfaceType == ThirdInterfaceTypeFlag.ChargeRequest + && o.MedicalCenterId == patientRegisterEnt.MedicalCenterId && o.IsActive == 'Y'); + + if (isThirdInterface == 0) + return null; + var list = (from registerCheck in await _registerCheckRepository.GetQueryableAsync() join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId @@ -158,7 +170,7 @@ namespace Shentun.Peis.ChargeRequests await unitOfWork.CompleteAsync(); } - + ChargeRequestDto result = new ChargeRequestDto(); @@ -188,7 +200,7 @@ namespace Shentun.Peis.ChargeRequests await unitOfWork.CompleteAsync(); } - + ChargeRequestDto result = new ChargeRequestDto();