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