From e8343532a1d5eb7fca569192847399ad2c75df5d Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Tue, 31 Mar 2026 10:46:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GetRequestAsbitemByLisRequestIdListDto.cs | 24 ++++++ .../LisRequests/GetSendLisRequestListDto.cs | 30 +++++++ .../GetSendLisRequestListInputDto.cs | 20 +++++ ...sRequestListByPatientRegisterIdInputDto.cs | 20 +++++ .../LisRequests/LisRequestAppService.cs | 79 +++++++++++++++++++ .../RegisterChecks/RegisterCheckAppService.cs | 8 +- 6 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 src/Shentun.Peis.Application.Contracts/LisRequests/GetRequestAsbitemByLisRequestIdListDto.cs create mode 100644 src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListDto.cs create mode 100644 src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListInputDto.cs create mode 100644 src/Shentun.Peis.Application.Contracts/RegisterChecks/GetPacsRequestListByPatientRegisterIdInputDto.cs diff --git a/src/Shentun.Peis.Application.Contracts/LisRequests/GetRequestAsbitemByLisRequestIdListDto.cs b/src/Shentun.Peis.Application.Contracts/LisRequests/GetRequestAsbitemByLisRequestIdListDto.cs new file mode 100644 index 00000000..250f6721 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/LisRequests/GetRequestAsbitemByLisRequestIdListDto.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Text; + +namespace Shentun.Peis.LisRequests +{ + public class GetRequestAsbitemByLisRequestIdListDto + { + public string AsbitemName { get; set; } + + public short Amount { get; set; } + + /// + /// 标准价格 + /// + public decimal StandardPrice { get; set; } + + /// + /// 实收价格 + /// + public decimal ChargePrice { get; set; } + } +} diff --git a/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListDto.cs b/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListDto.cs new file mode 100644 index 00000000..f7b364e2 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListDto.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.LisRequests +{ + public class GetSendLisRequestListDto + { + + /// + /// 申请Id + /// + public Guid LisRequestId { get; set; } + + /// + /// 姓名 + /// + public string PatientName { get; set; } + + /// + /// 申请单号 + /// + public string LisRequestNo { get; set; } + + /// + /// 申请时间 + /// + public string RequestDate { get; set; } + } +} diff --git a/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListInputDto.cs b/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListInputDto.cs new file mode 100644 index 00000000..4a56cee5 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/LisRequests/GetSendLisRequestListInputDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.LisRequests +{ + public class GetSendLisRequestListInputDto + { + /// + /// 人员id + /// + public Guid PatientRegisterId { get; set; } + + /// + /// 执行状态 0-未发送 1-已发送 2-已签收 3-已接收结果 + /// 暂时只启用0 1 + /// + public char ExecFlag { get; set; } + } +} diff --git a/src/Shentun.Peis.Application.Contracts/RegisterChecks/GetPacsRequestListByPatientRegisterIdInputDto.cs b/src/Shentun.Peis.Application.Contracts/RegisterChecks/GetPacsRequestListByPatientRegisterIdInputDto.cs new file mode 100644 index 00000000..3bb3e691 --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/RegisterChecks/GetPacsRequestListByPatientRegisterIdInputDto.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.RegisterChecks +{ + public class GetPacsRequestListByPatientRegisterIdInputDto + { + /// + /// 人员id + /// + public Guid PatientRegisterId { get; set; } + + /// + /// 执行状态 0-未发送 1-已发送 2-已签收 3-已接收结果 + /// 暂时只启用0 1 + /// + public char ExecFlag { get; set; } + } +} diff --git a/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs b/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs index 6c501d08..a9b8b984 100644 --- a/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs +++ b/src/Shentun.Peis.Application/LisRequests/LisRequestAppService.cs @@ -841,6 +841,85 @@ namespace Shentun.Peis.LisRequests #region 申请单操作 + /// + /// lis申请单记录 未发生 已发送 都能查 + /// + /// + /// + [HttpPost("api/app/LisRequest/GetSendLisRequestList")] + public async Task> GetSendLisRequestListAsync(GetSendLisRequestListInputDto input) + { + + var query = 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 patientRegister.Id == input.PatientRegisterId + && lisRequest.ExecFlag == input.ExecFlag + select new + { + patientRegister = new + { + patientRegister.PatientName + }, + lisRequest + }; + + var entListDto = query.ToList().Select(s => new GetSendLisRequestListDto + { + LisRequestId = s.lisRequest.Id, + LisRequestNo = s.lisRequest.LisRequestNo, + PatientName = s.patientRegister.PatientName, + RequestDate = DataHelper.ConversionDateToString(s.lisRequest.CreationTime) + }).ToList(); + + return entListDto; + + } + + + /// + /// 根据lis申请单获取申请单的项目 + /// + /// + /// + [HttpPost("api/app/LisRequest/GetRequestAsbitemByLisRequestIdList")] + public async Task> GetRequestAsbitemByLisRequestIdListAsync(LisRequestIdInputDto input) + { + + var query = from lisRequest in await _lisRequestRepository.GetQueryableAsync() + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on lisRequest.Id equals registerCheckAsbitem.LisRequestId + join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id + where lisRequest.Id == input.LisRequestId + select new + { + registerCheckAsbitem, + asbitem + }; + + var entListDto = query.ToList().Select(s => new GetRequestAsbitemByLisRequestIdListDto + { + AsbitemName = s.asbitem.DisplayName, + ChargePrice = s.registerCheckAsbitem.ChargePrice, + Amount = s.registerCheckAsbitem.Amount, + StandardPrice = s.registerCheckAsbitem.StandardPrice + }).ToList(); + + return entListDto; + } + + + /// + /// 创建申请单,根据人员id + /// + /// + /// + [HttpPost("api/app/LisRequest/CreateLisRequestByPatientRegisterId")] + public async Task CreateLisRequestByPatientRegisterIdAsync(PatientRegisterIdInputDto input) + { + //生成LIS条码 + await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId); + } /// diff --git a/src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs b/src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs index 8e426816..7a85f21d 100644 --- a/src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs +++ b/src/Shentun.Peis.Application/RegisterChecks/RegisterCheckAppService.cs @@ -1101,8 +1101,13 @@ namespace Shentun.Peis.RegisterChecks #region 申请单操作 + /// + /// 根据人员id获取 pacs申请单记录 + /// + /// + /// [HttpPost("api/app/RegisterCheck/GetPacsRequestListByPatientRegisterId")] - public async Task> GetPacsRequestListByPatientRegisterIdAsync(PatientRegisterIdInputDto input) + public async Task> GetPacsRequestListByPatientRegisterIdAsync(GetPacsRequestListByPatientRegisterIdInputDto input) { var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId @@ -1115,6 +1120,7 @@ namespace Shentun.Peis.RegisterChecks && asbitem.BarcodeMode == '0' && asbitem.IsCheck == 'Y' && itemType.IsCheckRequest == 'Y' + && registerCheck.ExecFlag == input.ExecFlag select new { patientRegister = new