重构采购入库同步 MES 接口逻辑
This commit is contained in:
parent
0bdb98af27
commit
63880a6a10
|
@ -1,6 +1,5 @@
|
||||||
package nc.bs.ic.m45.sign.rule;
|
package nc.bs.ic.m45.sign.rule;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import nc.bs.dao.BaseDAO;
|
import nc.bs.dao.BaseDAO;
|
||||||
import nc.bs.framework.common.NCLocator;
|
import nc.bs.framework.common.NCLocator;
|
||||||
|
@ -50,27 +49,13 @@ public class AfterSigningSynchronizeRuleMES implements IRule<PurchaseInVO> {
|
||||||
|
|
||||||
// 初始化HTTP请求工具类
|
// 初始化HTTP请求工具类
|
||||||
IHttpPostOtherSys httpPostOtherSys = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
|
IHttpPostOtherSys httpPostOtherSys = NCLocator.getInstance().lookup(IHttpPostOtherSys.class);
|
||||||
|
|
||||||
for (PurchaseInVO purchaseInVO : purchaseInVOs) {
|
for (PurchaseInVO purchaseInVO : purchaseInVOs) {
|
||||||
// 判断是否需要同步到MES
|
|
||||||
if (!isSyncToMES(purchaseInVO)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
PurchaseInHeadVO hvo = (PurchaseInHeadVO) purchaseInVO.getParentVO();
|
PurchaseInHeadVO hvo = (PurchaseInHeadVO) purchaseInVO.getParentVO();
|
||||||
PurchaseInBodyVO[] bvos = (PurchaseInBodyVO[]) purchaseInVO.getChildrenVO();
|
PurchaseInBodyVO[] bvos = (PurchaseInBodyVO[]) purchaseInVO.getChildrenVO();
|
||||||
// 构建请求参数
|
// 构建请求参数
|
||||||
JSONObject requestParam = buildSyncData(hvo, bvos);
|
JSONObject syncData = buildSyncData(hvo, bvos);
|
||||||
|
if (syncData != null) {
|
||||||
if (requestParam != null) {
|
httpPostOtherSys.sendToExternalSystem(ADD_URL, syncData);
|
||||||
// 获取操作类型
|
|
||||||
String operationType = (String) requestParam.get("operation_type");
|
|
||||||
// 根据操作类型选择URL
|
|
||||||
String url = "I".equals(operationType) ? ADD_URL : DELETE_URL;
|
|
||||||
obmlog.debug("采购入库同步MES-开始处理单据: " + hvo.getVbillcode());
|
|
||||||
obmlog.debug("采购入库同步MES-请求参数: " + requestParam.toJSONString());
|
|
||||||
// 调用MES接口
|
|
||||||
httpPostOtherSys.sendToExternalSystem(url, requestParam);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -79,20 +64,15 @@ public class AfterSigningSynchronizeRuleMES implements IRule<PurchaseInVO> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断是否需要同步到MES
|
|
||||||
*/
|
|
||||||
private boolean isSyncToMES(PurchaseInVO purchaseInVO) {
|
|
||||||
// 此处根据业务规则判断是否需要同步
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建符合MES系统接口规范的请求数据
|
* 构建符合MES系统接口规范的请求数据
|
||||||
*/
|
*/
|
||||||
private JSONObject buildSyncData(PurchaseInHeadVO hvo, PurchaseInBodyVO[] bvos) throws BusinessException {
|
private JSONObject buildSyncData(PurchaseInHeadVO hvo, PurchaseInBodyVO[] bvos) throws BusinessException {
|
||||||
obmlog.debug("采购入库同步MES-开始构建数据: " + hvo.getVbillcode());
|
obmlog.debug("采购入库同步MES-开始构建数据: " + hvo.getVbillcode());
|
||||||
|
// if (!hvo.getPk_org().equals("0001A110000000000677")) {
|
||||||
|
// obmlog.debug("AfterSigningSynchronizeRule-跳过处理销售出库单,因为此单据组织非电缆: " + hvo.getVbillcode());
|
||||||
|
// return null;
|
||||||
|
// }
|
||||||
JSONObject requestData = new JSONObject();
|
JSONObject requestData = new JSONObject();
|
||||||
// 设置操作类型
|
// 设置操作类型
|
||||||
requestData.put("operation_type", "I"); // 签字为新增操作
|
requestData.put("operation_type", "I"); // 签字为新增操作
|
||||||
|
|
Loading…
Reference in New Issue