Browse Source

检验单号获取项目

master
wxd 1 year ago
parent
commit
25837fcd13
  1. 11
      src/Shentun.Peis.Application.Contracts/RegisterChecks/LisRequestNosInputDto.cs
  2. 32
      src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs

11
src/Shentun.Peis.Application.Contracts/RegisterChecks/LisRequestNosInputDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.RegisterChecks
{
public class LisRequestNosInputDto
{
public List<string> LisRequestNos { get; set; } = new List<string>();
}
}

32
src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs

@ -2,6 +2,7 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Org.BouncyCastle.Asn1.Ocsp;
using Shentun.Peis.Asbitems;
using Shentun.Peis.Enums;
using Shentun.Peis.MenuInfos;
@ -53,6 +54,7 @@ namespace Shentun.Peis.RegisterChecks
private readonly ICurrentUser _currentUser;
private readonly IRepository<UserItemType> _userItemTypeRepository;
private readonly IRepository<Asbitem, Guid> _asbitemRepository;
private readonly IRepository<LisRequest, Guid> _lisRequestRepository;
public RegisterCheckAppService(IRepository<RegisterCheck, Guid> registerCheckRepository,
IRepository<RegisterCheckItem> registerCheckItemRepository,
@ -70,7 +72,8 @@ namespace Shentun.Peis.RegisterChecks
IRepository<UserItemType> userItemTypeRepository,
IRepository<Asbitem, Guid> asbitemRepository,
IRepository<RegisterCheckAsbitem> registerCheckAsbitemRepository,
IRepository<ItemType> itemTypeRepository)
IRepository<ItemType> itemTypeRepository,
IRepository<LisRequest, Guid> lisRequestRepository)
{
_registerCheckRepository = registerCheckRepository;
_userRepository = userRepository;
@ -89,6 +92,7 @@ namespace Shentun.Peis.RegisterChecks
_asbitemRepository = asbitemRepository;
_registerCheckAsbitemRepository = registerCheckAsbitemRepository;
_itemTypeRepository = itemTypeRepository;
_lisRequestRepository = lisRequestRepository;
}
/// <summary>
@ -554,6 +558,32 @@ namespace Shentun.Peis.RegisterChecks
}
/// <summary>
/// 根据检验条码号集合获取所有项目
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/RegisterCheck/GetRegisterCheckAsbitemsByLisRequestNos")]
public async Task<List<SimpleAsbitemDto>> GetRegisterCheckAsbitemsByLisRequestNosAsync(LisRequestNosInputDto input)
{
if (!input.LisRequestNos.Any())
throw new UserFriendlyException("检验条码号不能为空");
var entListDto = (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
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
where input.LisRequestNos.Contains(lisRequest.LisRequestNo) && asbitem.IsCheck == 'Y'
select new SimpleAsbitemDto
{
AsbitemId = registerCheckAsbitem.AsbitemId,
AsbitemName = asbitem.DisplayName
}).Distinct().ToList();
return entListDto;
}
/// <summary>
/// 批量修改医生 根据人员ID集合
/// </summary>

Loading…
Cancel
Save