From 0c44a83335f512b717f8dda8f8cfb439c25fb641 Mon Sep 17 00:00:00 2001 From: mzr Date: Wed, 17 Sep 2025 10:53:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=94=9F=E4=BA=A7=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=A0=E9=99=A4=E5=90=8C=E6=AD=A5=E8=89=BE=E6=99=AE?= =?UTF-8?q?MES=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java | 12 ++++++++++++ .../pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java | 1 + 2 files changed, 13 insertions(+) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java index 105459e..9b96863 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java @@ -10,6 +10,7 @@ import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.impl.pubapp.pattern.rule.IRule; import nc.util.mmf.framework.base.MMArrayUtil; +import nc.vo.bd.material.MaterialVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; @@ -85,14 +86,25 @@ public class AfterDelSyncEpicMesRule implements IRule { */ private void buildSyncData(PMOAggVO aggVO, JSONArray orderArr) throws BusinessException { PMOHeadVO headVo = aggVO.getParentVO(); + PMOItemVO pmoItem = aggVO.getChildrenVO()[0]; + String cdeptid = pmoItem.getCdeptid(); + // 物料 + String cmaterialid = pmoItem.getCmaterialid(); + String goodsCode = MyHelper.getStrValByCondition(MaterialVO.getDefaultTableName(), MaterialVO.CODE, + MaterialVO.PK_MATERIAL + " = '" + cmaterialid + "'"); // 组织 String pkOrg = headVo.getPk_org(); String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); + String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid); // 组装数据 JSONObject orderParam = new JSONObject(); orderParam.put("type", "D"); // 删除标识 orderParam.put("companyCode", orgCode);// 公司编码 orderParam.put("workOrderCode", headVo.getVbillcode());// 工单号 + // 根据自定义档案中的映射关系,部门编码转换为MES中的编码 + orderParam.put("siteCode", deptParams.getOrDefault(deptCode, ""));// 工厂编码 + orderParam.put("produCode", goodsCode); // 产品编码 + orderParam.put("qty", String.valueOf(pmoItem.getNastnum())); // 计划数量 orderArr.add(orderParam); } diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java index ee79efd..deda644 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java @@ -184,6 +184,7 @@ public class SyncEpicMesUtil { JSONObject data = new JSONObject(); JSONObject orderParam = new JSONObject(); orderParam.put("id", null); // 唯一标识(主键) + // 根据自定义档案中的映射关系,部门编码转换为MES中的编码 orderParam.put("siteCode", deptParams.getOrDefault(deptCode, ""));// 工厂编码 orderParam.put("contractNo", pmoItem.getVfirstcode());// 合同号-取ERP的源头单据号-销售订单号 /*if (projectMap != null) {