Merge remote-tracking branch 'origin/master'

master
x_z 3 years ago
commit ed40658354

@ -172,6 +172,17 @@
<artifactId>okhttp</artifactId>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.3</version>
</dependency>
</dependencies>
<build>

@ -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<String> 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 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<root>" +
"<serverName>getMasterialInput</serverName>" +
"</root>";
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 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<root>" +
"<serverName>" +
methodName +
"</serverName>" +
"</root>";
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<BaseResponse>() {
});
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<BaseResponse>() {
});
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<BaseResponse>() {
});
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<BaseResponse>() {
});
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<BaseResponse>() {
});
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<BaseResponse>() {
});
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("<root")) {
SAXReader saxReader = new SAXReader();
try {
Document document = DocumentHelper.parseText(response);
} catch (DocumentException e) {
e.printStackTrace();
}
}
try {
BaseResponse baseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
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<BaseResponse>() {
});
return baseResponse;
} catch (
Exception e) {
e.printStackTrace();
}
return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果" + "" + response + ")");
}
}

@ -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 ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><serverName>getMasterialInput</serverName></root>";
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, "失败");
}
}

@ -38,4 +38,5 @@ public class TestController {
// return ResultVOUtils.success(phxyyClient.getWarehouse(udiwmsWarehouseRequest));
// }
}

@ -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, "暂不支持联通性测试!");

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

@ -18,4 +18,5 @@ public class BasicThirdSysDetailEntity {
private Integer fromType;
private String localAction;
private String thirdAction;
private String orderTypeUrl;
}

@ -0,0 +1,10 @@
package com.glxp.mipsdl.admin.entity.zy;
import lombok.Data;
@Data
public class ZaZyHeareRequest {
private String msgHeader;
private String msgBody;
}

@ -176,7 +176,7 @@ public class OkHttpCli {
response.close();
}
}
return "";
return response.code() + " " + response.message();
}
}

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

@ -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<UdiwmsOrderDetail> item; //单据详情数组

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

@ -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<UdiwmsOrderDetail> item; //单据详情数组
}

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

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

@ -4,7 +4,7 @@
<!-- /home/glxpdata/udiwms/UDIC_UCLOUD_SERVER/-->
<!-- D:\\udiwms\\logs\\UDIC_UCLOUD_SERVER\\-->
<property name="log.path" value="/home/glxpdata/udiwms/UDIC_UCLOUD_SERVER/" />
<property name="log.path" value="D:\\udiwms\\logs\\UDIC_UCLOUD_SERVER\\" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

@ -12,4 +12,28 @@
and basic_third_sys_detail.thirdSysFk = #{thirdSys}
and basic_third_sys.enabled = 1
</select>
<select id="selectByOrderType" parameterType="Map"
resultType="com.glxp.mipsdl.admin.entity.phxyy.BasicThirdSysDetailEntity">
select basic_third_sys_detail.*, basic_third_sys.thridUrl, basic_third_sys_bus_api.url orderTypeUrl
FROM basic_third_sys_detail
inner join basic_third_sys on basic_third_sys_detail.thirdSysFk = basic_third_sys.thirdId
left join basic_third_sys_bus_api
on basic_third_sys_bus_api.thirdSys = basic_third_sys_detail.thirdSysFk
<where>
basic_third_sys.enabled = 1
<if test="key != ''and key != null">
AND basic_third_sys_detail.key = #{key}
</if>
<if test="thirdSys != ''and thirdSys != null">
AND basic_third_sys_detail.thirdSysFk = #{thirdSys}
</if>
<if test="thirdBuyCode != ''and thirdBuyCode != null">
AND basic_third_sys_bus_api.thirdBuyCode = #{thirdBuyCode}
</if>
</where>
group by basic_third_sys_detail.id limit 1
</select>
</mapper>

@ -1,4 +1,6 @@
package com.glxp.mipsdl.admin;
public class ApiTest {
}

@ -1,15 +1,26 @@
package com.glxp.mipsdl.admin;
import com.glxp.mipsdl.admin.client.http.ZaxyyXmlClient;
import com.glxp.mipsdl.admin.http.UHttpUtils;
import org.junit.Test;
import javax.annotation.Resource;
public class JsonTest {
@Test
public void teS() {
String json1 = "{\\\"invspec\\\":\\\"\\\\\\\\\\\",\\\"invtype\\\":\\\"国械注准20163461377\\\"}";
String json ="{\\\"invname\\\":\\\"Glucose Oxidase\\\\\\\"Amano\\\\\\\" 2\\\"}";
String json1 = "{\\\"invspec\\\":\\\"\\\\\\\\\\\",\\\"invtype\\\":\\\"国械注准20163461377\\\"}";
String json = "{\\\"invname\\\":\\\"Glucose Oxidase\\\\\\\"Amano\\\\\\\" 2\\\"}";
System.out.println(json1);
System.out.println(UHttpUtils.formatResponse(json1));
}
@Resource
ZaxyyXmlClient xmlClient;
@Test
public void teS1() {
xmlClient.testWebservice();
}
}

Loading…
Cancel
Save