diff --git a/api-sync/pom.xml b/api-sync/pom.xml index 2fac8c0..57b7849 100644 --- a/api-sync/pom.xml +++ b/api-sync/pom.xml @@ -172,6 +172,17 @@ okhttp 3.10.0 + + org.apache.cxf + cxf-spring-boot-starter-jaxws + 3.5.2 + + + + org.dom4j + dom4j + 2.1.3 + diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyClient.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyClient.java new file mode 100644 index 0000000..1416c2c --- /dev/null +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyClient.java @@ -0,0 +1,288 @@ +package com.glxp.mipsdl.admin.client.http; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.mipsdl.admin.config.ThirdSysConfig; +import com.glxp.mipsdl.admin.dao.phxyy.BasicThirdSysDetailDao; +import com.glxp.mipsdl.admin.entity.phxyy.BasicThirdSysDetailEntity; +import com.glxp.mipsdl.admin.entity.zy.ZaZyHeareRequest; +import com.glxp.mipsdl.admin.req.UdiwmsOnhandRequest; +import com.glxp.mipsdl.admin.req.UdiwmsOrderRequest; +import com.glxp.mipsdl.admin.req.UdiwmsPreInOrderRequest; +import com.glxp.mipsdl.admin.req.ZaxzyyOrderRequest; +import com.glxp.mipsdl.admin.req.phxyy.PhBusTypeRequest; +import com.glxp.mipsdl.admin.req.phxyy.PhProductRequest; +import com.glxp.mipsdl.admin.req.phxyy.PhUnitRequest; +import com.glxp.mipsdl.admin.req.phxyy.PhWarehouseRequest; +import com.glxp.mipsdl.admin.service.phxyy.BasicThirdSysBusApiService; +import com.glxp.mipsdl.admin.service.phxyy.BussinessOriginTypeService; +import com.glxp.mipsdl.admin.util.HttpClient; +import com.glxp.mipsdl.common.res.BaseResponse; +import com.glxp.mipsdl.common.util.ResultVOUtils; +import lombok.extern.slf4j.Slf4j; +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.DocumentHelper; +import org.dom4j.io.SAXReader; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +public class ZaxyyClient { + + @Resource + private ThirdSysConfig thirdSysConfig; + @Resource + private HttpClient httpClient; + + + String[] getHeaderArray() { + List headArray = new ArrayList<>(); + headArray.add("Content-Type"); + headArray.add("application/json"); + if (StrUtil.isNotEmpty(thirdSysConfig.getThirdSysConfig().getApikey())) { + headArray.add("api_key"); + headArray.add(thirdSysConfig.getThirdSysConfig().getApikey()); + } + if (StrUtil.isNotEmpty(thirdSysConfig.getThirdSysConfig().getSecretkey())) { + headArray.add("secret_key"); + headArray.add(thirdSysConfig.getThirdSysConfig().getSecretkey()); + } + String[] strArray = new String[headArray.size()]; + headArray.toArray(strArray); + return strArray; + } + + @Resource + private BasicThirdSysBusApiService basicThirdSysBusApiService; + @Resource + private BussinessOriginTypeService bussinessOriginTypeService; + @Resource + private BasicThirdSysDetailDao basicThirdSysDetailDao; + + + public BaseResponse testConnect() { + String msgHead = "" + + "" + + "getMasterialInput" + + ""; + + + String msgBody = "{\"billNo\":\"ZY202205070001\",\"billdate\":\"2022-05-07\",\"corpId\":\"65119908299161\",\"corpName\":\"福建片仔癀诊断技术有限公司\",\"billType\":\"采购入库\",\"billFlag\":\"1\",\"thirdSys\":\"thirdId\",\"locInvCode\":\"11001\",\"locInvName\":\"总仓库\",\"inoutType\":\"1\",\"remark\":\"\",\"item\":[{\"billNo\":\"ZY202205070001\",\"productId\":\"7864\",\"productName\":\"通用脊柱内固定器-6.0 连接棒\",\"standard\":\"70-450mm/理贝尔\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"batchNo\":\"202003\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国食药监械(准)字 2006 第 3460057 号\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]},{\"productId\":\"7901\",\"productName\":\"亲水性丙烯酸折叠式人工晶状体 Hydrophilic AcrylicFoldableIntraocular Lens\",\"standard\":\"S1AW00\",\"batchNo\":\"202103\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国械注进 20153162635\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]}]}"; + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(msgHead); + zaZyHeareRequest.setMsgBody(msgBody); + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl(), zaZyHeareRequest, getHeaderArray()); + log.info(response); + return ResultVOUtils.error(500, "连接成功!"); + } + + + public String getMsgHeader(String methodName) { + String msgHead = "" + + "" + + "" + + methodName + + "" + + ""; + return msgHead; + } + + public BaseResponse getUnit(PhUnitRequest unitRequest) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("corpUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialUnit")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(unitRequest)); + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse getProducts(PhProductRequest udiwmsProductRequest) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("piQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialDict")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsProductRequest)); + + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse getOrderTypes(PhBusTypeRequest udiwmsBusTypeRequest) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("busTypeQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialType")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsBusTypeRequest)); + + + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse getOrders(UdiwmsOrderRequest udiwmsOrderRequest) { + + +// if (StrUtil.isEmpty(udiwmsOrderRequest.getBillType())) { +// return ResultVOUtils.error(500, "单据类型不能未空"); +// } +// if (StrUtil.isEmpty(udiwmsOrderRequest.getThirdSys())) { +// return ResultVOUtils.error(500, "第三方系统ID不能为空"); +// } +// BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.findByKey(udiwmsOrderRequest.getBillType(), thirdSysConfig.getThirdSysConfig().getThirdId()); +// udiwmsOrderRequest.setBillType(bussinessOriginTypeResponse.getThirdAction()); + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialApply")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsOrderRequest)); + +// BasicThirdSysBusApiEntity basicThirdSysBusApiEntity = basicThirdSysBusApiService.selectByKey(bussinessOriginTypeResponse.getThirdAction(), bussinessOriginTypeResponse.getThirdSys(), 1); + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("orderQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse submitOrders(ZaxzyyOrderRequest udiwmsOrderRequest) { + if (StrUtil.isEmpty(udiwmsOrderRequest.getBillType())) { + return ResultVOUtils.error(500, "单据类型不能未空"); + } + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByOrderType("orderSubmitUrl", thirdSysConfig.getThirdSysConfig().getThirdId(), udiwmsOrderRequest.getBillType()); + + String interStr = ""; + if (StrUtil.isNotEmpty(basicThirdSysDetailEntity.getOrderTypeUrl())) { + interStr = basicThirdSysDetailEntity.getOrderTypeUrl(); + + } else { + interStr = basicThirdSysDetailEntity.getValue(); + } + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("saveMasterialInput")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsOrderRequest)); + + + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + interStr, zaZyHeareRequest, getHeaderArray()); + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + + public BaseResponse submitPreInOrders(UdiwmsPreInOrderRequest udiwmsPreInOrderRequest) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("preInOrderSubmit", thirdSysConfig.getThirdSysConfig().getThirdId()); + String interStr = ""; + interStr = basicThirdSysDetailEntity.getValue(); + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("saveMaterialHight")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsPreInOrderRequest)); + + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + interStr, zaZyHeareRequest, getHeaderArray()); + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse getInvProducts(UdiwmsOnhandRequest udiwmsOnhandRequest) { + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("invPiUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialStorage")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsOnhandRequest)); + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + + if (response.contains("() { + }); + return baseResponse; + } catch (Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + + public BaseResponse getWarehouse(PhWarehouseRequest udiwmsWarehouseRequest) { + + ZaZyHeareRequest zaZyHeareRequest = new ZaZyHeareRequest(); + zaZyHeareRequest.setMsgHeader(getMsgHeader("getMaterialDept")); + zaZyHeareRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsWarehouseRequest)); + + BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailDao.selectByKey("warehouseQueryUrl", thirdSysConfig.getThirdSysConfig().getThirdId()); + String response = httpClient.postJson(thirdSysConfig.getThirdSysConfig().getThirdSysUrl() + basicThirdSysDetailEntity.getValue(), zaZyHeareRequest, getHeaderArray()); + + try { + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + return baseResponse; + } catch ( + Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "(" + response + ")"); + } + +} diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyXmlClient.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyXmlClient.java new file mode 100644 index 0000000..084cac6 --- /dev/null +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/client/http/ZaxyyXmlClient.java @@ -0,0 +1,30 @@ +package com.glxp.mipsdl.admin.client.http; + +import com.glxp.mipsdl.common.res.BaseResponse; +import com.glxp.mipsdl.common.util.ResultVOUtils; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; +import org.springframework.stereotype.Service; + +@Service +public class ZaxyyXmlClient { + + public BaseResponse testWebservice() { + JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); + Client client = dcf.createClient("http://192.168.8.41:8081/ZoesoftHipService.asmx"); + // 设置出口拦截器,拦截器实现 org.apache.cxf.interceptor.Interceptor 接口即可 +// client.getOutInterceptors().add(new CustomInterceptor()); + + String head ="getMasterialInput"; + Object[] objects; + try { + objects = client.invoke("getMasterialInput", "{\"billNo\":\"ZY202205070001\",\"billdate\":\"2022-05-07\",\"corpId\":\"65119908299161\",\"corpName\":\"福建片仔癀诊断技术有限公司\",\"billType\":\"采购入库\",\"billFlag\":\"1\",\"thirdSys\":\"thirdId\",\"locInvCode\":\"11001\",\"locInvName\":\"总仓库\",\"inoutType\":\"1\",\"remark\":\"\",\"item\":[{\"billNo\":\"ZY202205070001\",\"productId\":\"7864\",\"productName\":\"通用脊柱内固定器-6.0 连接棒\",\"standard\":\"70-450mm/理贝尔\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"batchNo\":\"202003\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国食药监械(准)字 2006 第 3460057 号\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]},{\"productId\":\"7901\",\"productName\":\"亲水性丙烯酸折叠式人工晶状体 Hydrophilic AcrylicFoldableIntraocular Lens\",\"standard\":\"S1AW00\",\"batchNo\":\"202103\",\"expireDate\":\"2025-01-03\",\"productDate\":\"2021-03-01\",\"count\":10,\"measname\":\"计量单位\",\"registerNo\":\"国械注进 20153162635\",\"price\":10.0,\"secSalesInvNo\":\"21232424\",\"invoiceDate\":\"2323243\",\"secSalesListNo\":\"42342\",\"firstSalesInvNo\":\"423424\",\"remark\":\"\",\"remakr1\":\"\",\"remakr2\":\"\",\"codeList\":[{\"code\":\"01069125473843801121041410210290075\",\"nameCode\":\"06912547384380\",\"count\":1}]}]}"); + System.out.println("响应 : " + objects[0]); + } catch (java.lang.Exception e) { + e.printStackTrace(); + } + return ResultVOUtils.error(500, "失败"); + } + + +} diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/TestController.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/TestController.java index f6902d4..7a7aff7 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/TestController.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/TestController.java @@ -38,4 +38,5 @@ public class TestController { // return ResultVOUtils.success(phxyyClient.getWarehouse(udiwmsWarehouseRequest)); // } + } diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/UdiWmsController.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/UdiWmsController.java index 6bd1a1b..c4ed208 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/UdiWmsController.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/controller/UdiWmsController.java @@ -2,10 +2,7 @@ package com.glxp.mipsdl.admin.controller; import cn.hutool.core.bean.BeanUtil; import com.glxp.mipsdl.admin.annotation.AuthRuleAnnotation; -import com.glxp.mipsdl.admin.client.http.TestClient; -import com.glxp.mipsdl.admin.client.http.UdPlatClient; -import com.glxp.mipsdl.admin.client.http.YyUCloud31Client; -import com.glxp.mipsdl.admin.client.http.PhxyyClient; +import com.glxp.mipsdl.admin.client.http.*; import com.glxp.mipsdl.admin.http.request.USignRequest; import com.glxp.mipsdl.admin.req.*; import com.glxp.mipsdl.admin.req.phxyy.*; @@ -36,6 +33,8 @@ public class UdiWmsController { private UdPlatClient udPlatClient; @Resource private PhxyyClient phxyyClient; + @Resource + private ZaxyyClient zaxyyClient; //获取erp往来单位信息接口 @AuthRuleAnnotation("") @@ -55,6 +54,10 @@ public class UdiWmsController { PhUnitRequest phUnitRequest = new PhUnitRequest(); BeanUtil.copyProperties(testUnitRequest, phUnitRequest); return phxyyClient.getUnit(phUnitRequest); + } else if (curFlag.equals("ZAXZYY")) { + PhUnitRequest phUnitRequest = new PhUnitRequest(); + BeanUtil.copyProperties(testUnitRequest, phUnitRequest); + return zaxyyClient.getUnit(phUnitRequest); } else return ResultVOUtils.error(500, "当前第三方系统不支持往来单位信息查询!"); } @@ -73,6 +76,10 @@ public class UdiWmsController { PhProductRequest phProductRequest = new PhProductRequest(); BeanUtil.copyProperties(udiwmsProductRequest, phProductRequest); return phxyyClient.getProducts(phProductRequest); + } else if (curFlag.equals("ZAXZYY")) { + PhProductRequest phProductRequest = new PhProductRequest(); + BeanUtil.copyProperties(udiwmsProductRequest, phProductRequest); + return zaxyyClient.getProducts(phProductRequest); } return ResultVOUtils.error(500, "当前第三方系统不支持产品信息查询!"); } @@ -94,6 +101,10 @@ public class UdiWmsController { PhWarehouseRequest phWarehouseRequest = new PhWarehouseRequest(); BeanUtil.copyProperties(udiwmsWarehouseRequest, phWarehouseRequest); return phxyyClient.getWarehouse(phWarehouseRequest); + } else if (curFlag.equals("ZAXZYY")) { + PhWarehouseRequest phWarehouseRequest = new PhWarehouseRequest(); + BeanUtil.copyProperties(udiwmsWarehouseRequest, phWarehouseRequest); + return zaxyyClient.getWarehouse(phWarehouseRequest); } else return ResultVOUtils.error(500, "当前第三方系统不支持仓库货位号查询!"); } @@ -103,11 +114,15 @@ public class UdiWmsController { @PostMapping("/udiwms/erp/getOrders") public BaseResponse getOrders(@RequestBody UdiwmsOrderRequest udiwmsOrderRequest) { if (curFlag.equals("YONGYOU_U8_V3.1")) { - return pzhzdClient.getOrders(udiwmsOrderRequest); + } else if (curFlag.equals("TEST")) { return testClient.getOrders(udiwmsOrderRequest); - } else - return ResultVOUtils.error(500, "当前第三方系统不支持业务单据查询!"); + } else if (curFlag.equals("YONGYOU_U8_V3.1")) { + return pzhzdClient.getOrders(udiwmsOrderRequest); + } else if (curFlag.equals("ZAXZYY")) { + return zaxyyClient.getOrders(udiwmsOrderRequest); + } + return ResultVOUtils.error(500, "当前第三方系统不支持业务单据查询!"); } @@ -121,6 +136,10 @@ public class UdiWmsController { PhBusTypeRequest phBusTypeRequest = new PhBusTypeRequest(); BeanUtil.copyProperties(udiwmsBusTypeRequest, phBusTypeRequest); return phxyyClient.getOrderTypes(phBusTypeRequest); + } else if (curFlag.equals("ZAXZYY")) { + PhBusTypeRequest phBusTypeRequest = new PhBusTypeRequest(); + BeanUtil.copyProperties(udiwmsBusTypeRequest, phBusTypeRequest); + return zaxyyClient.getOrderTypes(phBusTypeRequest); } else return ResultVOUtils.error(500, "当前第三方系统不支持业务单据类型查询!"); @@ -136,6 +155,23 @@ public class UdiWmsController { PhOrderRequest phOrderRequest = new PhOrderRequest(); BeanUtil.copyProperties(udiwmsOrderRequest, phOrderRequest); return phxyyClient.submitOrders(phOrderRequest); + } else if (curFlag.equals("ZAXZYY")) { + ZaxzyyOrderRequest zaxzyyOrderRequest = new ZaxzyyOrderRequest(); + BeanUtil.copyProperties(udiwmsOrderRequest, zaxzyyOrderRequest); + zaxzyyOrderRequest.setLocInvCode(udiwmsOrderRequest.getLocStorageCode()); + zaxzyyOrderRequest.setLocInvName(udiwmsOrderRequest.getLocStorageName()); + return zaxyyClient.submitOrders(zaxzyyOrderRequest); + } + return ResultVOUtils.error(500, "当前第三方系统不支持提交单据!"); + } + + + //提交单据 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/erp/preIn/submitOrders") + public BaseResponse submitPreInOrders(@RequestBody UdiwmsPreInOrderRequest udiwmsPreInOrderRequest) { + if (curFlag.equals("ZAXZYY")) { + return zaxyyClient.submitPreInOrders(udiwmsPreInOrderRequest); } return ResultVOUtils.error(500, "当前第三方系统不支持提交单据!"); } @@ -173,6 +209,8 @@ public class UdiWmsController { return pzhzdClient.getInvProducts(udiwmsOnhandRequest); } else if (curFlag.equals("TEST")) { return testClient.getEnvProduct(udiwmsOnhandRequest); + } else if (curFlag.equals("ZAXZYY")) { + return zaxyyClient.getInvProducts(udiwmsOnhandRequest); } else return ResultVOUtils.error(500, "未设置系统版本!"); @@ -229,6 +267,8 @@ public class UdiWmsController { return ResultVOUtils.success("连接成功!"); } else if (curFlag.equals("PHXYY")) { return phxyyClient.testConnect(); + } else if (curFlag.equals("ZAXZYY")) { + return zaxyyClient.testConnect(); } else return ResultVOUtils.error(500, "暂不支持联通性测试!"); diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/dao/phxyy/BasicThirdSysDetailDao.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/dao/phxyy/BasicThirdSysDetailDao.java index 2cfbcee..a92dcb9 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/dao/phxyy/BasicThirdSysDetailDao.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/dao/phxyy/BasicThirdSysDetailDao.java @@ -7,4 +7,6 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface BasicThirdSysDetailDao { BasicThirdSysDetailEntity selectByKey(@Param("key") String key, @Param("thirdSys") String thirdSys); + + BasicThirdSysDetailEntity selectByOrderType(@Param("key") String key, @Param("thirdSys") String thirdSys, @Param("thirdBuyCode") String thirdBuyCode); } diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/phxyy/BasicThirdSysDetailEntity.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/phxyy/BasicThirdSysDetailEntity.java index 05b5faa..2f124e0 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/phxyy/BasicThirdSysDetailEntity.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/phxyy/BasicThirdSysDetailEntity.java @@ -18,4 +18,5 @@ public class BasicThirdSysDetailEntity { private Integer fromType; private String localAction; private String thirdAction; + private String orderTypeUrl; } diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/zy/ZaZyHeareRequest.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/zy/ZaZyHeareRequest.java new file mode 100644 index 0000000..4fe1317 --- /dev/null +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/entity/zy/ZaZyHeareRequest.java @@ -0,0 +1,10 @@ +package com.glxp.mipsdl.admin.entity.zy; + +import lombok.Data; + +@Data +public class ZaZyHeareRequest { + + private String msgHeader; + private String msgBody; +} diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/http/OkHttpCli.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/http/OkHttpCli.java index 5780a0e..60d16fb 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/http/OkHttpCli.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/http/OkHttpCli.java @@ -176,7 +176,7 @@ public class OkHttpCli { response.close(); } } - return ""; + return response.code() + " " + response.message(); } } diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderDetail.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderDetail.java index 4173d4b..65166ef 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderDetail.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderDetail.java @@ -3,10 +3,10 @@ package com.glxp.mipsdl.admin.req; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Data public class UdiwmsOrderDetail { - private String productId; //产品编码 private String productName; //产品名称 private BigDecimal price; //单价 @@ -21,11 +21,43 @@ public class UdiwmsOrderDetail { private String firstSalesInvNo; //销售发票号(第一票) private String registerNo; //注册/备案证号 private String manufactory; //生产厂家 + private String measname;//计量单位 private Integer count; //数量 private String remark; //备注 private String remark1; //备注1/规格型号ID private String remark2; //备注2/型号 private String remark3; //备注3/规格 + private List codeList; + + public static class CodeDetaiEntity { + private String code; + private String nameCode; + private Integer count; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getNameCode() { + return nameCode; + } + + public void setNameCode(String nameCode) { + this.nameCode = nameCode; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + } } diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderRequest.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderRequest.java index 3d4cc25..6624a2e 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderRequest.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsOrderRequest.java @@ -17,7 +17,6 @@ public class UdiwmsOrderRequest { private Integer page; private Integer inoutType; - private String billDate; //单据日期 private String billType; //单据类型 private String billName; //单据类型 @@ -32,10 +31,12 @@ public class UdiwmsOrderRequest { private String detailCode; //明细编码 private String thirdSys; //第三方系统ID private String status; //单据状态 + private String locInvCode; + private String locInvName; private String locStorageCode; + private String actor; private String locStorageName; - private List item; //单据详情数组 diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsPreInOrderRequest.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsPreInOrderRequest.java new file mode 100644 index 0000000..56cc354 --- /dev/null +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/UdiwmsPreInOrderRequest.java @@ -0,0 +1,41 @@ +package com.glxp.mipsdl.admin.req; + +import lombok.Data; + +import java.util.List; + +@Data +public class UdiwmsPreInOrderRequest { + + + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String locInvCode; + private String locInvName; + private String actor; + private String thirdSys; + private String remark; + private List items; + + @Data + public static class ItemDTO { + private String code; + private String productId; + private String productName; + private String standard; + private String expireDate; + private String productDate; + private String batchNo; + private Integer count; + private String measname; + private String registerNo; + private Double price; + private String secSalesInvNo; + private String invoiceDate; + private String secSalesListNo; + private String firstSalesInvNo; + private String remark; + } +} diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/req/ZaxzyyOrderRequest.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/ZaxzyyOrderRequest.java new file mode 100644 index 0000000..fb2dacc --- /dev/null +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/req/ZaxzyyOrderRequest.java @@ -0,0 +1,25 @@ +package com.glxp.mipsdl.admin.req; + +import lombok.Data; + +import java.util.List; + +@Data +public class ZaxzyyOrderRequest { + + + private String billNo; //单据号 + private String billFlag; //单据状态,0.未签字,1.已签字 + private Integer inoutType; //出入库类型 1.入库 2.出库 + private String billDate; //单据日期 + private String billType; //单据类型 + private String remark; //备注 + private String corpId; //第三方单据往来单位ID + private String corpName; //往来单位 + private String locInvCode; + private String locInvName; + private String thirdSys; + private String actor; + private List item; //单据详情数组 + +} diff --git a/api-sync/src/main/java/com/glxp/mipsdl/admin/util/HttpClient.java b/api-sync/src/main/java/com/glxp/mipsdl/admin/util/HttpClient.java index 543cbeb..afbe535 100644 --- a/api-sync/src/main/java/com/glxp/mipsdl/admin/util/HttpClient.java +++ b/api-sync/src/main/java/com/glxp/mipsdl/admin/util/HttpClient.java @@ -1,5 +1,6 @@ package com.glxp.mipsdl.admin.util; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.glxp.mipsdl.admin.http.OkHttpCli; import org.slf4j.Logger; @@ -69,7 +70,10 @@ public class HttpClient { String json = JSONObject.toJSON(object).toString(); logger.info(url + "\n" + json); String response = okHttpCli.doPostJson(url, json, headers); - logger.info(response); + logger.error(response); + if (StrUtil.isEmpty(response)) { + + } return response; } diff --git a/api-sync/src/main/resources/application-pro.properties b/api-sync/src/main/resources/application-pro.properties index e08bfc6..40cb1f1 100644 --- a/api-sync/src/main/resources/application-pro.properties +++ b/api-sync/src/main/resources/application-pro.properties @@ -23,15 +23,16 @@ server.connectionTimeout=180000 #U8参数 #udi管理系统IP地址(上传文件解析后回传) UDIWMS_IP=http://127.0.0.1:9991 -#UDIWMS_IP=http://139.9.178.73:8080/UDI_WMS_MC +#UDIWMS_IP=http://192.168.0.66:8500/UDI_WMS_MC API_KEY=1102 API_SECRET=4dc07484afd34e8083ba96e8fe564224 #文件导入 #0.NULL(空,未配置),1.GLXP(自定义规范标准),2.ZHIYE_V1(智业V1,诏安医院),3.YG_UDPLAT_V1(阳光采购平台),4.PHXYY(平和县医院) -FILE_VERSION_FLAG=PHXYY +FILE_VERSION_FLAG=ZHIYE_V1 #接口实时获取 -#0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(诏安县医院) -ONLINE_VESRION_FLAG=TEST +#0.NULL(空,未配置),1.YONGYOU_U8_V3.1(用友3.1版本,片仔癀诊断) 2.YG_UDPLAT_V1.0(阳光采购平台) 3.TEST(标准接口,测试用),4.PHXYY(平和县医院) +#5.ZAXZYY(诏安县医院) +ONLINE_VESRION_FLAG=ZAXZYY THIRD_ID=thirdId ok.http.connect-timeout=3000 ok.http.read-timeout=3000 diff --git a/api-sync/src/main/resources/logback-spring.xml b/api-sync/src/main/resources/logback-spring.xml index ab0f956..432e012 100644 --- a/api-sync/src/main/resources/logback-spring.xml +++ b/api-sync/src/main/resources/logback-spring.xml @@ -4,7 +4,7 @@ - +