医保上传相关修改

scpwxyy
yewj 10 months ago
parent e1c30a18ed
commit ecec5fa184

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

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

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

@ -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<Xsck3505Request> list;
@Data
public static class DataInfo {
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
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;

Loading…
Cancel
Save