lc/lc123/cloud/app/plugin/utils/BillCloseCancelUtils.java

95 lines
3.6 KiB
Java

package tqq9.lc123.cloud.app.plugin.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import kd.bos.util.StringUtils;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
//北广、通天晓关闭、取消、接口
public class BillCloseCancelUtils {
static String GZURL = ConfigUtils.getThirdConfigByNumber("GZ_POSTURL");//广州接口地址
static String BJ_URL = ConfigUtils.getThirdConfigByNumber("BJ_POSTURL");//北京接口地址
static String ttx_mainUrl = ConfigUtils.getThirdConfigByNumber("Ttx_MainURL");//通天晓接口地址
static String ttx_customerId = ConfigUtils.getThirdConfigByNumber("Ttx_CustomerId");//通天晓客户id
/**
* 通天晓单据取消接口
*
* @param orderType 单据类型
* @param warehouseCode 仓库编号
* @param billNo 单据编号
* @return 取消结果
*/
public static String wmsCancel(String orderType, String warehouseCode, String billNo) {
String method = "order.cancel";
String message = null;
Map<String, Object> request = new HashMap<>();
request.put("warehouseCode", warehouseCode);
request.put("ownerCode", "LICHI");
request.put("orderCode", billNo);
request.put("orderId", "");
request.put("orderType", orderType);
request.put("cancelReason", "");
Map<String, Object> finalMap = new HashMap<>();
finalMap.put("request", request);
StringBuilder xmlBuilder = new StringBuilder();
xmlBuilder.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
HttpRequestUtils.buildXml(xmlBuilder, finalMap, 0);
ttx_mainUrl = ttx_mainUrl + "?method=" + method + "&v=2.0&format=xml&customerId=" + ttx_customerId;
Map<String, String> headMap = new HashMap<>();
try {
String result = HttpRequestUtils.postXml(ttx_mainUrl, xmlBuilder.toString(), headMap);
if (StringUtils.isNotEmpty(result)) {
JSONObject jsonObject = HttpRequestUtils.xmlToJson(result);
JSONObject response = jsonObject.getJSONObject("response");
String flag = response.getString("flag");
String code = response.getString("code");
message = response.getString("message");
}
} catch (
IOException e) {
throw new RuntimeException(e);
}
return message;
}
/**
* 北广 收货通知单关闭(采购订单关闭)
*
* @param billNo 单据编号
* @param url 接口地址,北京还是广州
* @return 关闭结果
*/
public static String BGPurOrderCancel(String billNo, String url) {
String message = null;
String method = "/api/PU/Close_PurOrder";
// String BJ_URL = ConfigUtils.getThirdConfigByNumber("BJ_POSTURL");
Map<String, Object> bj_map = new HashMap<>();
bj_map.put("cPOCode", billNo);//成产商
String bjjsonBody = JSON.toJSONString(bj_map);
try {
String result = HttpRequestUtils.postJson(url + method, bjjsonBody, null);
ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(result);
if (null != rootNode) {
message = String.valueOf(rootNode.get("message"));
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return message;
}
}