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);