医保上传相关修改

scpwxyy
yewj 10 months ago
parent e1c30a18ed
commit ecec5fa184

@ -107,7 +107,7 @@
<dependency> <dependency>
<groupId>com.alibaba</groupId> <groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId> <artifactId>fastjson</artifactId>
<version>2.0.4</version> <version>1.2.73</version>
</dependency> </dependency>
<!--fastjson--> <!--fastjson-->
<!-- <dependency>--> <!-- <dependency>-->

@ -1,10 +1,18 @@
package com.glxp.mipsdl.controller; package com.glxp.mipsdl.controller;
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 cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.glxp.mipsdl.dao.basic.BasicUdirelDao; import com.glxp.mipsdl.dao.basic.BasicUdirelDao;
import com.glxp.mipsdl.entity.basic.BasicUdirelEntity; import com.glxp.mipsdl.entity.basic.BasicUdirelEntity;
@ -43,7 +51,8 @@ public class YbApiController {
public BaseResponse getYb1201(@RequestBody BaseYljg1201Request baseYljg1201Request) { public BaseResponse getYb1201(@RequestBody BaseYljg1201Request baseYljg1201Request) {
String jsonStr = JSONUtil.toJsonStr(baseYljg1201Request); String jsonStr = JSONUtil.toJsonStr(baseYljg1201Request);
log.error("【1201】医药机构信息获取请求参数" + jsonStr); log.error("【1201】医药机构信息获取请求参数" + jsonStr);
return ResultVOUtils.success(ybClient.ybPost("1201", jsonStr)); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ResultVOUtils.success(ybClient.ybPost("1201", dataJson));
} }
@ -54,7 +63,8 @@ public class YbApiController {
public BaseResponse getYb1301(@RequestBody DictRequest dictRequest) { public BaseResponse getYb1301(@RequestBody DictRequest dictRequest) {
String jsonStr = JSONUtil.toJsonStr(dictRequest.getData()); String jsonStr = JSONUtil.toJsonStr(dictRequest.getData());
log.error("【1301】通用字典下载接口请求参数" + jsonStr); log.error("【1301】通用字典下载接口请求参数" + jsonStr);
return ResultVOUtils.success(ybClient.ybPost(dictRequest.getApiCode(), jsonStr)); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ResultVOUtils.success(ybClient.ybPost(dictRequest.getApiCode(), dataJson));
} }
@ -64,21 +74,65 @@ public class YbApiController {
@PostMapping("/udiwms/erp/yb/order/upload/test") @PostMapping("/udiwms/erp/yb/order/upload/test")
public BaseResponse testUpload(@RequestBody DictRequest dictRequest) { public BaseResponse testUpload(@RequestBody DictRequest dictRequest) {
String jsonStr = JSONUtil.toJsonStr(dictRequest.getOrder()); String jsonStr = JSONUtil.toJsonStr(dictRequest.getOrder());
return ResultVOUtils.success(ybClient.ybPost(dictRequest.getApiCode(), jsonStr)); JSONObject dataJson = JSONObject.parseObject(jsonStr);
// JSONArray jsonObject = dataJson.getJSONArray("selinfoDetail");
return ResultVOUtils.success(ybClient.ybPost(dictRequest.getApiCode(), dataJson));
} }
@PostMapping("/udiwms/erp/yb/sign") @PostMapping("/udiwms/erp/yb/sign")
public BaseResponse signNo(@RequestBody BaseYbRequest baseYbRequest) { public BaseResponse signNo(@RequestBody BaseYbRequest baseYbRequest) {
SignRequest signRequest = baseYbRequest.getSignIn(); SignRequest signRequest = baseYbRequest.getSignIn();
signRequest.setCurrenttime(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN)); // signRequest.setCurrenttime(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN));
String password = signRequest.getCurrenttime() + signRequest.getPassword(); // String password = signRequest.getCurrenttime() + signRequest.getPassword();
// 该字符串通过32位的MD5算法加密字母大写生成密文86B31EDFE60F7BA28765DF860D56B7B2 // // 该字符串通过32位的MD5算法加密字母大写生成密文86B31EDFE60F7BA28765DF860D56B7B2
password = SecureUtil.md5(password).toUpperCase(); // password = SecureUtil.md5(password).toUpperCase();
signRequest.setPassword(password); // signRequest.setPassword(password);
String jsonStr = JSONUtil.toJsonStr(baseYbRequest); String jsonStr = JSONUtil.toJsonStr(baseYbRequest);
log.error("【1201】医药机构信息获取请求参数" + jsonStr); log.error("【1201】医药机构信息获取请求参数" + jsonStr);
return ResultVOUtils.success(ybClient.ybPost("9001", jsonStr)); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ResultVOUtils.success(ybClient.ybPost("9001", dataJson));
}
@PostMapping("/udiwms/erp/yb/test")
public ChsMedicalResponse test() {
String url = "http://api.fj.hsip.gov.cn/sias/base/api/gafe/rest";
String appId = "H35062500006";
String appSecret = "2156B331D45F53B02BFF05C3942E60D7";
String infno = "9001";
SignTypeEnum signType = SignTypeEnum.SM3;
String signKey = "C9C9F54F74BD35DE5242885762E99E8E";
EncryptionModeEnum encType = EncryptionModeEnum.SM4;
String encKey = "D9C9F54F74BD35DE5242885762E99E8E";
try {
ZephyrMedicalClient client = new ZephyrMedicalClient(url, infno, appId, appSecret, signType, signKey, encType, encKey);
ZephyrMedicalRequest req = new ZephyrMedicalRequest();
req.setMsgid("H35062500006202405301706277464");
req.setMdtrtAreaAdmdvs("350625");
req.setInsuplcAdmdvs("350625");
req.setOpter("测试");
req.setOpterType("1");
req.setOpterName("测试");
req.setInfTime("2024-05-30 17:17:11");
req.setFixmedinsCode("H35062500006");
req.setFixmedinsName("漳州市长泰区医院");
JSONObject data = new JSONObject();
JSONObject params = new JSONObject();
data.put("opter_no", "178823");
data.put("opterNo", "178823");
data.put("ip", "10.3.53.4");
data.put("mac", "40-A5-EF-22-93-A9");
params.put("signIn", data);
req.setInput(params);
ChsMedicalResponse resp = client.execute(req);
log.error(resp.getInfCode());//错误码
log.error(resp.getErrMsg()); // 错误信息
log.error(resp.getOutput()); //回参对象
return resp;
} catch (ZephyrApiException e) {
e.printStackTrace();
}
return null;
} }
@ -163,7 +217,8 @@ public class YbApiController {
BaseXsck3505Request baseXsck3505Request = new BaseXsck3505Request(); BaseXsck3505Request baseXsck3505Request = new BaseXsck3505Request();
baseXsck3505Request.setSelinfoDetail(xsck3505Requests); baseXsck3505Request.setSelinfoDetail(xsck3505Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck3505Request); String jsonStr = JSONUtil.toJsonStr(baseXsck3505Request);
ybClient.ybPost("3505A", jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPost("3505A", dataJson);
} }
} }
} }

@ -70,10 +70,10 @@ public class VInsurNationGoodsPhysic implements Serializable {
private String MANU_LOTNUM; private String MANU_LOTNUM;
@TableField(value = "MANU_DATE") @TableField(value = "MANU_DATE")
private Date MANU_DATE; private String MANU_DATE;
@TableField(value = "EXPY_END") @TableField(value = "EXPY_END")
private Date EXPY_END; private String EXPY_END;
@TableField(value = "RX_FLAG") @TableField(value = "RX_FLAG")
private String RX_FLAG; private String RX_FLAG;
@ -109,7 +109,7 @@ public class VInsurNationGoodsPhysic implements Serializable {
private Integer SEL_RETN_CNT; private Integer SEL_RETN_CNT;
@TableField(value = "SEL_RETN_TIME") @TableField(value = "SEL_RETN_TIME")
private Date SEL_RETN_TIME; private String SEL_RETN_TIME;
@TableField(value = "SEL_RETN_OPTER_NAME") @TableField(value = "SEL_RETN_OPTER_NAME")
private String SEL_RETN_OPTER_NAME; private String SEL_RETN_OPTER_NAME;

@ -2,6 +2,8 @@ package com.glxp.mipsdl.req.yb;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class DictRequest { public class DictRequest {
@ -10,6 +12,8 @@ public class DictRequest {
BaseXsck3505Request order; BaseXsck3505Request order;
private List<Xsck3505Request> list;
@Data @Data
public static class DataInfo { public static class DataInfo {
private String ver; private String ver;

@ -117,12 +117,12 @@ public class Xsck3505Request {
/** /**
* *
*/ */
private Date manu_date; private String manu_date;
/** /**
* *
*/ */
private Date expy_end; private String expy_end;
/** /**
* *
@ -183,7 +183,7 @@ public class Xsck3505Request {
/** /**
* /退 * /退
*/ */
private Date sel_retn_time; private String sel_retn_time;
/** /**
* /退 * /退

@ -23,7 +23,7 @@ public class YbClient {
@Resource @Resource
ThrYbSetupService thrYbSetupService; ThrYbSetupService thrYbSetupService;
public ChsMedicalResponse ybPost(String apiNo, String data) { public ChsMedicalResponse ybPost(String apiNo, JSONObject data) {
log.info("[" + apiNo + "]医保接口请求参数:" + data); log.info("[" + apiNo + "]医保接口请求参数:" + data);
ThrYbSetup thrYbSetup = thrYbSetupService.getSetUp(); ThrYbSetup thrYbSetup = thrYbSetupService.getSetUp();
@ -47,9 +47,9 @@ public class YbClient {
req.setInfTime(DateUtil.formatDateTime(new Date())); req.setInfTime(DateUtil.formatDateTime(new Date()));
req.setFixmedinsCode(thrYbSetup.getFixmedins_code()); req.setFixmedinsCode(thrYbSetup.getFixmedins_code());
req.setFixmedinsName(thrYbSetup.getFixmedins_name()); req.setFixmedinsName(thrYbSetup.getFixmedins_name());
com.alibaba.fastjson.JSONObject dataJson = JSONObject.parseObject(data, com.alibaba.fastjson.JSONObject.class);
req.setInput(dataJson); req.setInput(data);
// req.setSignNo(thrYbSetup.getSignNo()); req.setSignNo(thrYbSetup.getSignNo());
log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req)); log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
ChsMedicalResponse resp = client.execute(req); ChsMedicalResponse resp = client.execute(req);
return resp; return resp;

Loading…
Cancel
Save