From b3db554a7695e752e70c8260145b63e77510b336 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 15 Sep 2025 17:03:07 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ce789ea..1daa7cb 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 @@ -330,6 +330,7 @@ public class SyncEpicMesUtil { // Map vsncodeList = (Map) dao.executeQuery(vsncode, new MapProcessor()); ArrayList> vsncodeList = (ArrayList>)dao.executeQuery(vsncode, new MapListProcessor()); if (vsncodeList.isEmpty()) { + jsonArray.add(""); continue; } for (Map v: vsncodeList) { @@ -338,7 +339,7 @@ public class SyncEpicMesUtil { // String detailItem = (null!=materialtype ?materialtype:"") + hvo.getDbilldate().toStdString().substring(0, 3) + hvo.getDbilldate().toStdString().substring(5, 6) + code; // jsonArray.add(detailItem); } - obj.put("releaseNo", jsonArray); + obj.put("releaseNo", jsonArray.toString()); return obj; } From 170009f25ebe73b8ead9442459d38df10777b251 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 15 Sep 2025 17:19:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=89=BE=E6=99=AEMES-=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BC=A0=E5=87=BA=E5=8E=82=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pac0002/bp/rule/util/SyncEpicMesUtil.java | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) 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 1daa7cb..8011991 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 @@ -5,15 +5,11 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import nc.bs.dao.BaseDAO; -import nc.bs.framework.common.NCLocator; import nc.bs.logging.Log; -import nc.bs.trade.business.HYPubBO; import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.jdbc.framework.processor.MapListProcessor; import nc.jdbc.framework.processor.MapProcessor; -import nc.pub.billcode.itf.IBillcodeManage; -import nc.vo.bc.pmpub.project.ProjectHeadVO; import nc.vo.bd.bom.bom0202.entity.BomVO; import nc.vo.bd.material.MaterialVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; @@ -26,7 +22,6 @@ import nc.vo.pubapp.pattern.pub.SqlBuilder; import nccloud.commons.lang.StringUtils; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -188,7 +183,7 @@ public class SyncEpicMesUtil { JSONObject orderParam = new JSONObject(); orderParam.put("id", null); // 唯一标识(主键) orderParam.put("siteCode", deptParams.getOrDefault(deptCode, ""));// 工厂编码 - orderParam.put("contractNo", pmoItem.getVsalebillcode());// 合同号-取ERP的销售订单号 + orderParam.put("contractNo", pmoItem.getVfirstcode());// 合同号-取ERP的源头单据号-销售订单号 /*if (projectMap != null) { orderParam.put("contractNo", projectMap.get(ProjectHeadVO.PROJECT_CODE));// 合同号 orderParam.put("contractName", projectMap.get(ProjectHeadVO.PROJECT_NAME)); // 合同名称 @@ -322,22 +317,22 @@ public class SyncEpicMesUtil { obj.put("companyName", tr.get("name")); JSONArray jsonArray = new JSONArray(); for (PMOItemVO item : vo.getChildrenVO()) { - HYPubBO hybo = new HYPubBO(); -// List materialtype =(List) hybo.findColValue("mm_pmo_serialno", "vsncode", "cmoid = '" + item.getCmoid() + "' and dr = 0 "); -// IBillcodeManage billcodeManage = NCLocator.getInstance().lookup(IBillcodeManage.class);; -// String code = billcodeManage.getPreBillCode_RequiresNew("xxxxx-code-rule", hvo.getPk_group(), hvo.getPk_org()); - String vsncode = " select vsncode from mm_pmo_serialno where cmoid in ( '" + item.getCmoid() + "' ) and mm_pmo_serialno.dr = 0\t "; -// Map vsncodeList = (Map) dao.executeQuery(vsncode, new MapProcessor()); - ArrayList> vsncodeList = (ArrayList>)dao.executeQuery(vsncode, new MapListProcessor()); + // HYPubBO hybo = new HYPubBO(); + // List materialtype = (List) hybo.findColValue("mm_pmo_serialno", "vsncode", "cmoid = '" + item.getCmoid() + "' and dr = 0 "); + // IBillcodeManage billcodeManage = NCLocator.getInstance().lookup(IBillcodeManage.class); + // String code = billcodeManage.getPreBillCode_RequiresNew("xxxxx-code-rule", hvo.getPk_group(), hvo.getPk_org()); + String vsncode = " select vsncode from mm_pmo_serialno where cmoid in ( '" + item.getCmoid() + "' ) and mm_pmo_serialno.dr = 0 "; + // Map vsncodeList = (Map) dao.executeQuery(vsncode, new MapProcessor()); + ArrayList> vsncodeList = (ArrayList>) dao.executeQuery(vsncode, new MapListProcessor()); if (vsncodeList.isEmpty()) { jsonArray.add(""); continue; } - for (Map v: vsncodeList) { + for (Map v : vsncodeList) { jsonArray.add(v.get("vsncode")); } -// String detailItem = (null!=materialtype ?materialtype:"") + hvo.getDbilldate().toStdString().substring(0, 3) + hvo.getDbilldate().toStdString().substring(5, 6) + code; -// jsonArray.add(detailItem); + // String detailItem = (null != materialtype ? materialtype : "") + hvo.getDbilldate().toStdString().substring(0, 3) + hvo.getDbilldate().toStdString().substring(5, 6) + code; + // jsonArray.add(detailItem); } obj.put("releaseNo", jsonArray.toString()); From 1574c136cc71891168cdc9cb38afe5589891b448 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 15 Sep 2025 17:20:04 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=89=BE=E6=99=AEMES-=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=8F=96=E5=80=BC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MaterialToEpicMesListener.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java index c030c91..4a361de 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java @@ -115,8 +115,8 @@ public class MaterialToEpicMesListener implements IBusinessListener { singleObj.put("deputyUnit", unitMap.get("deputy_unitname"));// 副单位 singleObj.put("auditCode", "1");// 审核码 singleObj.put("statusCode", statusCode);// 状态码(Y表示启用,N表示停用) - singleObj.put("mrlTypeErp", getGoodsProject(pkMaterial));// 物料类型ERP(1:专用件,3:通用件) - singleObj.put("mrlType", mrlTypeCOde);// 物料分类编码 + // singleObj.put("mrlTypeErp", getGoodsProject(pkMaterial));// 物料类型ERP(1:专用件,3:通用件) + singleObj.put("mrlType", getGoodsType(pkMaterial));// 物料分类 制造1 其它0 singleObj.put("convertRate", unitMap.getOrDefault("convertRate", "1"));// 单位换算率 // singleObj.put("isCheck", "1");// 是否选中(1:是,0:否) pushData(singleObj); @@ -182,4 +182,15 @@ public class MaterialToEpicMesListener implements IBusinessListener { return mrlTypeErp; } + private String getGoodsType(String pkMaterial) throws BusinessException { + // 物料-库存信息-物料类型 DR=分销补货;FR=工厂补货;MR=制造件;PR=采购件;OT=委外件;ET=其他 + // mes物料类型 制造1 其它0 + String mesType = "0"; + String martype = MyHelper.transferField(MaterialStockVO.getDefaultTableName(), MaterialStockVO.MARTYPE, MaterialStockVO.PK_MATERIAL, pkMaterial); + if ("MR".equals(martype)) { + mesType = "1"; + } + return mesType; + } + }