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