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