From 11270c57dc0638853b1e367a7a3c64f9c03afdfb Mon Sep 17 00:00:00 2001
From: chenhc <2369838784@qq.com>
Date: Tue, 9 Apr 2024 11:44:57 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E7=AC=AC=E4=B8=89=E6=96=B9=E6=98=8E?=
=?UTF-8?q?=E7=BB=86=E4=B8=8B=E8=BD=BD=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../glxp/api/entity/thrsys/ThrInvOrder.java | 20 ++++++++++++++++++
.../req/thrsys/FilterThrInvOrderRequest.java | 13 ++++++++++++
.../api/res/inv/ThrInvResultResponse.java | 10 +++++++++
.../api/res/thrsys/ThrInvOrderResponse.java | 21 +++++++++++++++++++
.../thrsys/impl/ThrInvOrderServiceImpl.java | 13 ++++++++++--
.../mapper/thrsys/ThrInvOrderMapper.xml | 18 ++++++++++++++++
src/main/resources/schemas/schema_v2.4.sql | 14 +++++++++++++
7 files changed, 107 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java
index 07bf94f92..e142ae8b3 100644
--- a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java
+++ b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java
@@ -132,4 +132,24 @@ public class ThrInvOrder implements Serializable {
private static final long serialVersionUID = 1L;
+ /**
+ * 患者编码
+ */
+ private String sickerCode;
+
+ /**
+ * 患者名称
+ */
+ private String sickerName;
+
+ /**
+ * 收费时间
+ */
+ private Date chargeTime;
+
+ /**
+ * 收费人员
+ */
+ private String chargeUser;
+
}
diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrInvOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrInvOrderRequest.java
index fe0ec9e62..937890f4f 100644
--- a/src/main/java/com/glxp/api/req/thrsys/FilterThrInvOrderRequest.java
+++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrInvOrderRequest.java
@@ -33,4 +33,17 @@ public class FilterThrInvOrderRequest extends ListPageRequest {
* 来源类型,1收费,2普耗,3高耗
*/
private Integer sourceType;
+
+ /**
+ * 患者信息 编号、姓名
+ */
+ private String sicker;
+ /**
+ * 收费开始日期
+ */
+ private String chargeStartDate; //起始日期
+ /**
+ * 收费结束日期
+ */
+ private String chargeEndDate; //结束日期
}
diff --git a/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java b/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java
index 4b3f809ae..9f8ed28a6 100644
--- a/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java
+++ b/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java
@@ -1,5 +1,6 @@
package com.glxp.api.res.inv;
+import cn.hutool.core.date.DateTime;
import lombok.Data;
import java.math.BigDecimal;
@@ -165,5 +166,14 @@ public class ThrInvResultResponse {
*/
private String sickerName;
+ /**
+ * 收费时间
+ */
+ private String chargeTime;
+
+ /**
+ * 收费人员
+ */
+ private String chargeUser;
}
diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java
index ba4caad16..476d5e34c 100644
--- a/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java
+++ b/src/main/java/com/glxp/api/res/thrsys/ThrInvOrderResponse.java
@@ -116,4 +116,25 @@ public class ThrInvOrderResponse {
*/
private String toBillNo;
+
+ /**
+ * 患者编码
+ */
+ private String sickerCode;
+
+ /**
+ * 患者名称
+ */
+ private String sickerName;
+
+ /**
+ * 收费时间
+ */
+ private Date chargeTime;
+
+ /**
+ * 收费人员
+ */
+ private String chargeUser;
+
}
diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java
index 0cbea4c81..d0e83de7c 100644
--- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java
@@ -107,6 +107,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
// 设置要输出的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public BaseResponse handleExternalThrInvSfOrder(FilterInvProductRequest filterInvProductRequest) {
@@ -204,8 +205,16 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
handleExternalConvertThrInvGhOrderDetail(invResultResponses, thrInvOrderDetails, billNo, thirdSys, thrInvOrder);
if (CollectionUtil.isNotEmpty(thrInvOrderDetails)) {
- handleExternalConvertThrInvOrder(billNo, filterInvProductRequest, thrInvOrder, invResultResponses.get(0), Constant.THR_INV_GH_ORDER_TYPE);
-
+ ThrInvResultResponse thrInvResultResponse = invResultResponses.get(0);
+ handleExternalConvertThrInvOrder(billNo, filterInvProductRequest, thrInvOrder, thrInvResultResponse, Constant.THR_INV_GH_ORDER_TYPE);
+ thrInvOrder.setSickerCode(thrInvResultResponse.getSickerCode());
+ thrInvOrder.setSickerName(thrInvResultResponse.getSickerName());
+ thrInvOrder.setCreateUser(thrInvResultResponse.getChargeUser());
+ try {
+ thrInvOrder.setChargeTime(sdf2.parse(thrInvResultResponse.getChargeTime()));
+ } catch (ParseException e) {
+ log.error("第三方高耗收费明细下载--收费时间转化出错,原数据:【"+thrInvResultResponse.getChargeTime() + "】");
+ }
//保存数据
thrInvOrderMapper.insert(thrInvOrder);
thrInvOrderDetailMapper.insertBatch(thrInvOrderDetails);
diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrInvOrderMapper.xml b/src/main/resources/mybatis/mapper/thrsys/ThrInvOrderMapper.xml
index a1d131af6..573a0c51b 100644
--- a/src/main/resources/mybatis/mapper/thrsys/ThrInvOrderMapper.xml
+++ b/src/main/resources/mybatis/mapper/thrsys/ThrInvOrderMapper.xml
@@ -30,6 +30,24 @@
AND sourceType = #{sourceType}
+
+
+ = DATE_FORMAT(#{chargeStartDate}, '%Y-%m-%d')
+ ]]>
+
+
+
+
+
+ AND (
+ sickerCode like concat('%', #{sicker}, '%')
+ OR
+ sickerName like concat('%', #{sicker}, '%')
+ )
+
ORDER BY tio.billdate DESC
diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql
index 846658875..8c62af4de 100644
--- a/src/main/resources/schemas/schema_v2.4.sql
+++ b/src/main/resources/schemas/schema_v2.4.sql
@@ -1991,3 +1991,17 @@ INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `
`status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (2092, '科室医保分类', 1643, 8, 'basic/consume/materialCategory', 'basic/consume/materialCategory', NULL, 1, 0, 'C', '0', '0',
NULL, NULL, '超级用户', '2024-04-08 16:08:55', NULL, NULL, NULL);
+
+
+CALL Pro_Temp_ColumnWork('thr_inv_order', 'sickerCode',
+ 'varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''患者编码''',
+ 1);
+CALL Pro_Temp_ColumnWork('thr_inv_order', 'sickerName',
+ ' varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''患者名称''',
+ 1);
+CALL Pro_Temp_ColumnWork('thr_inv_order', 'chargeTime',
+ ' datetime(0) NULL DEFAULT NULL COMMENT''收费时间''',
+ 1);
+CALL Pro_Temp_ColumnWork('thr_inv_order', 'chargeUser',
+ ' varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''收费人员''',
+ 1);