diff --git a/pom.xml b/pom.xml
index 5c31f27..425837d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,7 @@
com.alibaba
fastjson
- 2.0.4
+ 1.2.73
diff --git a/src/main/java/com/glxp/mipsdl/controller/YbApiController.java b/src/main/java/com/glxp/mipsdl/controller/YbApiController.java
index 5e8bc4c..fb01a9c 100644
--- a/src/main/java/com/glxp/mipsdl/controller/YbApiController.java
+++ b/src/main/java/com/glxp/mipsdl/controller/YbApiController.java
@@ -1,10 +1,18 @@
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.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.SecureUtil;
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.glxp.mipsdl.dao.basic.BasicUdirelDao;
import com.glxp.mipsdl.entity.basic.BasicUdirelEntity;
@@ -43,7 +51,8 @@ public class YbApiController {
public BaseResponse getYb1201(@RequestBody BaseYljg1201Request baseYljg1201Request) {
String jsonStr = JSONUtil.toJsonStr(baseYljg1201Request);
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) {
String jsonStr = JSONUtil.toJsonStr(dictRequest.getData());
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")
public BaseResponse testUpload(@RequestBody DictRequest dictRequest) {
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")
public BaseResponse signNo(@RequestBody BaseYbRequest baseYbRequest) {
SignRequest signRequest = baseYbRequest.getSignIn();
- signRequest.setCurrenttime(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN));
- String password = signRequest.getCurrenttime() + signRequest.getPassword();
- // 该字符串通过32位的MD5算法加密(字母大写)生成密文86B31EDFE60F7BA28765DF860D56B7B2
- password = SecureUtil.md5(password).toUpperCase();
- signRequest.setPassword(password);
+// signRequest.setCurrenttime(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN));
+// String password = signRequest.getCurrenttime() + signRequest.getPassword();
+// // 该字符串通过32位的MD5算法加密(字母大写)生成密文86B31EDFE60F7BA28765DF860D56B7B2
+// password = SecureUtil.md5(password).toUpperCase();
+// signRequest.setPassword(password);
String jsonStr = JSONUtil.toJsonStr(baseYbRequest);
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.setSelinfoDetail(xsck3505Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck3505Request);
- ybClient.ybPost("3505A", jsonStr);
+ JSONObject dataJson = JSONObject.parseObject(jsonStr);
+ ybClient.ybPost("3505A", dataJson);
}
}
}
diff --git a/src/main/java/com/glxp/mipsdl/entity/ctqyy/VInsurNationGoodsPhysic.java b/src/main/java/com/glxp/mipsdl/entity/ctqyy/VInsurNationGoodsPhysic.java
index 4397e80..977c857 100644
--- a/src/main/java/com/glxp/mipsdl/entity/ctqyy/VInsurNationGoodsPhysic.java
+++ b/src/main/java/com/glxp/mipsdl/entity/ctqyy/VInsurNationGoodsPhysic.java
@@ -70,10 +70,10 @@ public class VInsurNationGoodsPhysic implements Serializable {
private String MANU_LOTNUM;
@TableField(value = "MANU_DATE")
- private Date MANU_DATE;
+ private String MANU_DATE;
@TableField(value = "EXPY_END")
- private Date EXPY_END;
+ private String EXPY_END;
@TableField(value = "RX_FLAG")
private String RX_FLAG;
@@ -109,7 +109,7 @@ public class VInsurNationGoodsPhysic implements Serializable {
private Integer SEL_RETN_CNT;
@TableField(value = "SEL_RETN_TIME")
- private Date SEL_RETN_TIME;
+ private String SEL_RETN_TIME;
@TableField(value = "SEL_RETN_OPTER_NAME")
private String SEL_RETN_OPTER_NAME;
diff --git a/src/main/java/com/glxp/mipsdl/req/yb/DictRequest.java b/src/main/java/com/glxp/mipsdl/req/yb/DictRequest.java
index 2c30aa8..07b6633 100644
--- a/src/main/java/com/glxp/mipsdl/req/yb/DictRequest.java
+++ b/src/main/java/com/glxp/mipsdl/req/yb/DictRequest.java
@@ -2,6 +2,8 @@ package com.glxp.mipsdl.req.yb;
import lombok.Data;
+import java.util.List;
+
@Data
public class DictRequest {
@@ -10,6 +12,8 @@ public class DictRequest {
BaseXsck3505Request order;
+ private List list;
+
@Data
public static class DataInfo {
private String ver;
diff --git a/src/main/java/com/glxp/mipsdl/req/yb/Xsck3505Request.java b/src/main/java/com/glxp/mipsdl/req/yb/Xsck3505Request.java
index 159ad90..6d871e4 100644
--- a/src/main/java/com/glxp/mipsdl/req/yb/Xsck3505Request.java
+++ b/src/main/java/com/glxp/mipsdl/req/yb/Xsck3505Request.java
@@ -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;
/**
* 销售/退货经办人姓名
diff --git a/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java b/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java
index 4ff5fe9..6014eec 100644
--- a/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java
+++ b/src/main/java/com/glxp/mipsdl/service/yb/YbClient.java
@@ -23,7 +23,7 @@ public class YbClient {
@Resource
ThrYbSetupService thrYbSetupService;
- public ChsMedicalResponse ybPost(String apiNo, String data) {
+ public ChsMedicalResponse ybPost(String apiNo, JSONObject data) {
log.info("[" + apiNo + "]医保接口请求参数:" + data);
ThrYbSetup thrYbSetup = thrYbSetupService.getSetUp();
@@ -47,9 +47,9 @@ public class YbClient {
req.setInfTime(DateUtil.formatDateTime(new Date()));
req.setFixmedinsCode(thrYbSetup.getFixmedins_code());
req.setFixmedinsName(thrYbSetup.getFixmedins_name());
- com.alibaba.fastjson.JSONObject dataJson = JSONObject.parseObject(data, com.alibaba.fastjson.JSONObject.class);
- req.setInput(dataJson);
-// req.setSignNo(thrYbSetup.getSignNo());
+
+ req.setInput(data);
+ req.setSignNo(thrYbSetup.getSignNo());
log.info("【" + apiNo + "】医保接口请求参数:" + JSONObject.toJSONString(req));
ChsMedicalResponse resp = client.execute(req);
return resp;