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