医保接口封装

dtxyy
yewj 10 months ago
parent 37b2ad9f8a
commit ddd6b11265

@ -111,6 +111,11 @@
<artifactId>fastjson2</artifactId> <artifactId>fastjson2</artifactId>
<version>2.0.24</version> <version>2.0.24</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.4</version>
</dependency>
<!--Hutool工具包--> <!--Hutool工具包-->
<dependency> <dependency>
@ -146,6 +151,11 @@
<artifactId>dom4j</artifactId> <artifactId>dom4j</artifactId>
<version>2.1.3</version> <version>2.1.3</version>
</dependency> </dependency>
<dependency>
<groupId>com.glxp</groupId>
<artifactId>yb</artifactId>
<version>zephyr1.7.0</version>
</dependency>
<!--okhttp--> <!--okhttp-->
<!-- <dependency>--> <!-- <dependency>-->

@ -0,0 +1,11 @@
package com.glxp.mipsdl.controller;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class YbApiController {
// public void get
}

@ -0,0 +1,86 @@
package com.glxp.mipsdl.entity.system;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
@Data
@TableName(value = "thr_yb_setup")
public class ThrYbSetup implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
@TableField(value = "url")
private String url;
@TableField(value = "appId")
private String appId;
@TableField(value = "appSecret")
private String appSecret;
@TableField(value = "signKey")
private String signKey;
@TableField(value = "encKey")
private String encKey;
/**
*
*/
@TableField(value = "mdtrtarea_admvs")
private String mdtrtarea_admvs;
/**
*
*/
@TableField(value = "insuplc_admdvs")
private String insuplc_admdvs;
/**
*
*/
@TableField(value = "opter")
private String opter;
/**
*
*/
@TableField(value = "opter_name")
private String opter_name;
/**
*
*/
@TableField(value = "fixmedins_code")
private String fixmedins_code;
/**
*
*/
@TableField(value = "fixmedins_name")
private String fixmedins_name;
/**
*
*/
@TableField(value = "infver")
private String infver;
/**
*
*/
@TableField(value = "recer_sys_code")
private String recer_sys_code;
/**
*
*/
@TableField(value = "opter_type")
private String opter_type;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,8 @@
package com.glxp.mipsdl.entity.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ThrYbSetupMapper extends BaseMapper<ThrYbSetup> {
}

@ -0,0 +1,72 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
public class Kcbg3502Request {
/**
*
*/
private String med_list_codg;
/**
*
*/
private String inv_chg_type;
/**
*
*/
private String fixmedins_hilist_id;
/**
*
*/
private String fixmedins_hilist_name;
/**
*
*/
private String fixmedins_bchno;
/**
*
*/
private BigDecimal pric;
/**
*
*/
private Integer cnt;
/**
*
*/
private String rx_flag;
/**
*
*/
private Date inv_chg_time;
/**
*
*/
private String inv_chg_opter_name;
/**
*
*/
private String memo;
/**
*
*/
private String trdn_flag;
/**
*
*/
private String drugtracinfo;
/**
*
*/
private String drug_trac_codg;
}

@ -0,0 +1,64 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class Pcsc3501Request {
/**
*
*/
private String med_list_codg;
/**
*
*/
private String fixmedins_hilist_id;
/**
*
*/
private String fixmedins_hilist_name;
/**
*
*/
private String rx_flag;
/**
*
*/
private Date invdate;
/**
*
*/
private Integer inv_cnt;
/**
*
*/
private String manu_lotnum;
/**
*
*/
private String fixmedins_bchno;
/**
*
*/
private Date manu_date;
/**
*
*/
private Date expy_end;
/**
*
*/
private String memo;
/**
*
*/
private String drugtracinfo;
}

@ -0,0 +1,204 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*
*/
@Data
public class Xsck3505Request {
/**
*
*/
private String med_list_codg;
/**
*
*/
private String fixmedins_hilist_id;
/**
*
*/
private String fixmedins_hilist_name;
/**
*
*/
private String fixmedins_bchno;
/**
*
*/
private String prsc_dr_cert_type;
/**
*
*/
private String prsc_dr_certno;
/**
*
*/
private String prsc_dr_name;
/**
*
*/
private String phar_cert_type;
/**
*
*/
private String phar_certno;
/**
*
*/
private String phar_name;
/**
*
*/
private String phar_prac_cert_no;
/**
*
*/
private String hi_feesetl_type;
/**
* ID
*/
private String setl_id;
/**
*
*/
private String mdtrt_sn;
/**
*
*/
private String psn_no;
/**
*
*/
private String psn_cert_type;
/**
*
*/
private String certno;
/**
*
*/
private String psn_name;
/**
*
*/
private String manu_lotnum;
/**
*
*/
private Date manu_date;
/**
*
*/
private Date expy_end;
/**
*
*/
private String rx_flag;
/**
*
*/
private String trdn_flag;
/**
*
*/
private BigDecimal finl_trns_pric;
/**
*
*/
private String rxno;
/**
*
*/
private String rx_circ_flag;
/**
*
*/
private String rtal_docno;
/**
*
*/
private String stoout_no;
/**
*
*/
private String bchno;
/**
*
*/
private String drug_prod_barc;
/**
*
*/
private String shelf_posi;
/**
* /退
*/
private Integer sel_retn_cnt;
/**
* /退
*/
private Date sel_retn_time;
/**
* /退
*/
private String sel_retn_opter_name;
/**
*
*/
private String memo;
/**
*
*/
private String mdtrt_setl_type;
/**
*
*/
private String drugtracinfo;
private String drug_trac_codg;
}

@ -0,0 +1,126 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 退
*/
@Data
public class Xsth3506Request {
/**
*
*/
private String med_list_codg;
/**
*
*/
private String fixmedins_hilist_id;
/**
*
*/
private String fixmedins_hilist_name;
/**
*
*/
private String fixmedins_bchno;
/**
* ID
*/
private String setl_id;
/**
*
*/
private String psn_no;
/**
*
*/
private String psn_cert_type;
/**
*
*/
private String certno;
/**
*
*/
private String psn_name;
/**
*
*/
private String manu_lotnum;
/**
*
*/
private Date manu_date;
/**
*
*/
private Date expy_end;
/**
*
*/
private String rx_flag;
/**
*
*/
private String trdn_flag;
/**
*
*/
private BigDecimal finl_trns_pric;
/**
* /退
*/
private BigDecimal sel_retn_cnt;
/**
* /退
*/
private Date sel_retn_time;
/**
* /退
*/
private String sel_retn_opter_name;
/**
*
*/
private String memo;
/**
*
*/
private String medins_prod_sel_no;
/**
*
*/
private String mdtrt_sn;
/**
*
*/
private String drugtracinfo;
}

@ -0,0 +1,24 @@
package com.glxp.mipsdl.req.yb;
import lombok.Data;
@Data
public class Yljg1201Request {
/**
*
*/
private String fixmedins_type;
/**
*
*/
private String fixmedins_name;
/**
*
*/
private String fixmedins_code;
}

@ -0,0 +1,54 @@
package com.glxp.mipsdl.res.yb;
import lombok.Data;
@Data
public class YbResponse {
/**
*
*/
private String retRslt;
/**
*
*/
private String msgRslt;
/**
*
*/
private String med_list_codg;
/**
*
*/
private String inv_chg_type;
/**
*
*/
private String fixmedins_hilist_id;
/**
*
*/
private String fixmedins_hilist_name;
/**
*
*/
private String fixmedins_bchno;
/**
*
*/
private String memo;
// Getters and Setters
// Getters and Setters
// Constructor, toString, equals, hashCode methods if necessary
}

@ -0,0 +1,24 @@
package com.glxp.mipsdl.service.system;
import cn.hutool.core.collection.CollUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.mipsdl.entity.system.ThrYbSetup;
import com.glxp.mipsdl.entity.system.ThrYbSetupMapper;
@Service
public class ThrYbSetupService extends ServiceImpl<ThrYbSetupMapper, ThrYbSetup> {
public ThrYbSetup getSetUp() {
List<ThrYbSetup> thrYbSetups = list();
if (CollUtil.isNotEmpty(thrYbSetups))
return thrYbSetups.get(0);
else
return null;
}
}

@ -0,0 +1,56 @@
package com.glxp.mipsdl.service.yb;
import cn.hsa.zephyr.apisdk.ZephyrMedicalClient;
import cn.hsa.zephyr.apisdk.internal.exception.ZephyrApiException;
import cn.hsa.zephyr.apisdk.internal.util.encrypt.EncryptionModeEnum;
import cn.hsa.zephyr.apisdk.internal.util.encrypt.SignTypeEnum;
import cn.hsa.zephyr.apisdk.request.ZephyrMedicalRequest;
import cn.hsa.zephyr.apisdk.response.ChsMedicalResponse;
import com.alibaba.fastjson.JSONObject;
import com.glxp.mipsdl.entity.system.ThrYbSetup;
import com.glxp.mipsdl.service.system.ThrYbSetupService;
import com.glxp.mipsdl.util.DateUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
@Service
public class YbClient {
@Resource
ThrYbSetupService thrYbSetupService;
public ChsMedicalResponse ybPost(String apiNo, JSONObject requestData) {
ThrYbSetup thrYbSetup = thrYbSetupService.getSetUp();
if (thrYbSetup == null)
throw new RuntimeException("未配置医保接口");
String infno = apiNo;
SignTypeEnum signType = SignTypeEnum.SM3;
EncryptionModeEnum encType = EncryptionModeEnum.SM4;
String msgId = thrYbSetup.getFixmedins_code() + DateUtil.formatYbDateTime(new Date()) + "0001";
try {
ZephyrMedicalClient client = new ZephyrMedicalClient(thrYbSetup.getUrl(), infno, thrYbSetup.getAppId(), thrYbSetup.getAppSecret(),
signType, thrYbSetup.getSignKey(), encType, thrYbSetup.getEncKey());
ZephyrMedicalRequest req = new ZephyrMedicalRequest();
req.setMsgid(msgId);
req.setMdtrtAreaAdmdvs(thrYbSetup.getMdtrtarea_admvs());
req.setInsuplcAdmdvs(thrYbSetup.getInsuplc_admdvs());
req.setOpter(thrYbSetup.getOpter());
req.setOpterType(thrYbSetup.getOpter_type());
req.setOpterName(thrYbSetup.getOpter_name());
req.setInfTime(DateUtil.formatDateTime(new Date()));
req.setFixmedinsCode(thrYbSetup.getFixmedins_code());
req.setFixmedinsName(thrYbSetup.getFixmedins_name());
req.setInput(requestData);
ChsMedicalResponse resp = client.execute(req);
return resp;
} catch (ZephyrApiException e) {
e.printStackTrace();
}
return null;
}
}

@ -64,6 +64,14 @@ public class DateUtil {
return dateString; return dateString;
} }
public static String formatYbDateTime(Date date) {
Date currentTime = date;
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
String dateString = formatter.format(currentTime);
return dateString;
}
/** /**
* yyyy-MM-dd * yyyy-MM-dd
*/ */

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.mipsdl.entity.system.ThrYbSetupMapper">
<resultMap id="BaseResultMap" type="com.glxp.mipsdl.entity.system.ThrYbSetup">
<!--@mbg.generated-->
<!--@Table thr_yb_setup-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="url" jdbcType="VARCHAR" property="url" />
<result column="appId" jdbcType="INTEGER" property="appId" />
<result column="appSecret" jdbcType="VARCHAR" property="appSecret" />
<result column="signKey" jdbcType="VARCHAR" property="signKey" />
<result column="encKey" jdbcType="VARCHAR" property="encKey" />
<result column="insuplc_admdvs" jdbcType="VARCHAR" property="insuplc_admdvs" />
<result column="opter" jdbcType="VARCHAR" property="opter" />
<result column="opter_name" jdbcType="VARCHAR" property="opter_name" />
<result column="fixmedins_code" jdbcType="VARCHAR" property="fixmedins_code" />
<result column="fixmedins_name" jdbcType="VARCHAR" property="fixmedins_name" />
<result column="infver" jdbcType="VARCHAR" property="infver" />
<result column="recer_sys_code" jdbcType="VARCHAR" property="recer_sys_code" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, url, appId, appSecret, signKey, encKey, insuplc_admdvs, opter, opter_name, fixmedins_code,
fixmedins_name, infver, recer_sys_code
</sql>
</mapper>
Loading…
Cancel
Save