From 4dc1e1e5894e001dc653607b4da8840e8fa3a516 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 2 Dec 2025 16:50:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=AB=98=E5=8E=8BIMS=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nc/bs/uapbd/task/ims/MaterialOutGyImsPlugin.java | 7 +++++++ .../nc/bs/uapbd/task/ims/ProductReportGyImsPlugin.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/uapbd/src/private/nc/bs/uapbd/task/ims/MaterialOutGyImsPlugin.java b/uapbd/src/private/nc/bs/uapbd/task/ims/MaterialOutGyImsPlugin.java index 9532f44d..57f29a40 100644 --- a/uapbd/src/private/nc/bs/uapbd/task/ims/MaterialOutGyImsPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/task/ims/MaterialOutGyImsPlugin.java @@ -73,6 +73,13 @@ public class MaterialOutGyImsPlugin implements IBackgroundWorkPlugin { String csourcebillhid = detailList.get(0).get("vbdef16") + "";// 备料计划主键 // 查询备料计划的VO AggPickmVO[] pickmVOS = queryService.queryBillsByPks(new String[]{csourcebillhid}); + if (MMValueCheck.isEmpty(pickmVOS)) { + String updateSql = "update BIPOutMainTab set err_msg = '[err_msg]' where cgeneralhid = '[cgeneralhid]'"; + updateSql = updateSql.replace("[err_msg]", "备料计划未查询到,备料计划id:" + csourcebillhid); + updateSql = updateSql.replace("[cgeneralhid]", cgeneralhid); + GyImsDbUtil.update(updateSql); + continue; + } // 调用单据转换规则转换出流程材料出库的VO MaterialOutVO[] vos = (MaterialOutVO[]) PFPubService.runChangeData(MMBillType.PickMo.getCode(), ICBillType.MaterialOut.getCode(), pickmVOS, null, PfButtonClickContext.ClassifyByItfdef); diff --git a/uapbd/src/private/nc/bs/uapbd/task/ims/ProductReportGyImsPlugin.java b/uapbd/src/private/nc/bs/uapbd/task/ims/ProductReportGyImsPlugin.java index be9570a3..4ac3b91a 100644 --- a/uapbd/src/private/nc/bs/uapbd/task/ims/ProductReportGyImsPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/task/ims/ProductReportGyImsPlugin.java @@ -75,6 +75,13 @@ public class ProductReportGyImsPlugin implements IBackgroundWorkPlugin { String vbdef22 = detailList.get(0).get("vbdef22") + "";// 流程生产订单主键 // 查询流程生产订单的VO PMOAggVO[] pmoAggVOS = pmoQueryService.queryByPks(new String[]{vbdef22}); + if (MMValueCheck.isEmpty(pmoAggVOS)) { + String updateSql = "update BIPReportMainTab set err_msg = '[err_msg]' where pk_wr = '[pkWr]'"; + updateSql = updateSql.replace("[err_msg]", "流程生产订单未查询到,流程生产订单主键:" + vbdef22); + updateSql = updateSql.replace("[pkWr]", pkWr); + GyImsDbUtil.update(updateSql); + continue; + } // 调用单据转换规则转换出流程生产报告的VO AggWrVO[] vos = (AggWrVO[]) PFPubService.runChangeData(MMBillType.ProduceOrder.getCode(), MMBillType.ProduceReport.getCode(), pmoAggVOS, null, PfButtonClickContext.ClassifyByItfdef); From 1aac295eb67fec3fda45a1b6627b8bdb89fc5dab Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 2 Dec 2025 16:51:14 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=89=A9=E6=96=99=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/uapbd/material/config/action/material_file.xml | 5 +++++ .../uapbd/material/config/authorize/file_authorize.xml | 1 + 2 files changed, 6 insertions(+) diff --git a/uapbd/src/client/yyconfig/modules/uapbd/material/config/action/material_file.xml b/uapbd/src/client/yyconfig/modules/uapbd/material/config/action/material_file.xml index 239bda23..be3464da 100644 --- a/uapbd/src/client/yyconfig/modules/uapbd/material/config/action/material_file.xml +++ b/uapbd/src/client/yyconfig/modules/uapbd/material/config/action/material_file.xml @@ -20,4 +20,9 @@ nccloud.web.uapbd.material.action.MaterialPushToEpicMesAction + + uapbd.material.pushtowms + + nccloud.web.uapbd.material.action.MaterialPushToFLWMSAction + diff --git a/uapbd/src/client/yyconfig/modules/uapbd/material/config/authorize/file_authorize.xml b/uapbd/src/client/yyconfig/modules/uapbd/material/config/authorize/file_authorize.xml index bdaafb0a..58d162c6 100644 --- a/uapbd/src/client/yyconfig/modules/uapbd/material/config/authorize/file_authorize.xml +++ b/uapbd/src/client/yyconfig/modules/uapbd/material/config/authorize/file_authorize.xml @@ -6,6 +6,7 @@ uapbd.material.pushtoqms uapbd.material.pushtojmqy uapbd.material.pushtodldzmes + uapbd.material.pushtowms From bf5c6aeb5a74d35a1cadb923e6f8f5c9ef102ef6 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 2 Dec 2025 16:52:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=9C=9F=E7=A9=BAMES-=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=B1=BB=E5=9E=8B=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bp/rule/AfterPmoSyncZkMesRule.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPmoSyncZkMesRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPmoSyncZkMesRule.java index 533abed4..141b220b 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPmoSyncZkMesRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterPmoSyncZkMesRule.java @@ -28,6 +28,7 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; +import java.util.Set; import java.util.zip.GZIPInputStream; /** @@ -122,13 +123,17 @@ public class AfterPmoSyncZkMesRule implements IRule { private void buildSyncDelData(PMOAggVO[] useVOs) throws BusinessException { for (PMOAggVO vo : useVOs) { + PMOHeadVO headVO = vo.getParentVO(); + PMOItemVO[] itemVOS = vo.getChildrenVO(); // 判断是否是真空公司,不是则跳过 - String pkOrg = vo.getParentVO().getPk_org(); + String pkOrg = headVO.getPk_org(); String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); if (checkIfOrg(orgCode, configParams)) { continue; } - PMOItemVO[] itemVOS = vo.getChildrenVO(); + // 判断单据类型,部分类型的生产订单推送 + String vtrantypecode = headVO.getVtrantypecode(); + if (!checkBillType(vtrantypecode)) continue; // 组装数据 JSONArray contentArray = new JSONArray(); @@ -186,6 +191,24 @@ public class AfterPmoSyncZkMesRule implements IRule { return true; } + /** + * 判断单据类型 + * + * @param vtrantypecode 单据类型编码 + */ + private boolean checkBillType(String vtrantypecode) { + String typeCodeStr = configParams.get("pmoBillType"); + if (MMValueCheck.isNotEmpty(typeCodeStr)) { + if (typeCodeStr.contains(",")) { + Set codeSet = Set.of(typeCodeStr.split(",", -1)); + return codeSet.contains(vtrantypecode); + } else { + return typeCodeStr.equals(vtrantypecode); + } + } + return false; + } + /** * 业务请求方法 */ From ec4263dde12485c64d25aa232dd076c793f4ce3d Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 2 Dec 2025 19:10:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=AB=98=E5=8E=8BIMS-=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E5=85=A5=E5=BA=93-=E5=88=B6=E5=8D=95=E4=BA=BA=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nc/bs/uapbd/task/ims/ErpIaI2billFromGyImsPlugin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/uapbd/src/private/nc/bs/uapbd/task/ims/ErpIaI2billFromGyImsPlugin.java b/uapbd/src/private/nc/bs/uapbd/task/ims/ErpIaI2billFromGyImsPlugin.java index 9869905f..33cbcb67 100644 --- a/uapbd/src/private/nc/bs/uapbd/task/ims/ErpIaI2billFromGyImsPlugin.java +++ b/uapbd/src/private/nc/bs/uapbd/task/ims/ErpIaI2billFromGyImsPlugin.java @@ -76,7 +76,7 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { headJson.put("cpayfinorgvid", "C003");// 应付财务组织最新版本 headJson.put("cpayfinorgoid", "C003");// 应付财务组织 headJson.put("creator", "BIP"); - headJson.put("billmaker", MyHelper.getUserId((String) map.get("billmaker"))); + headJson.put("billmaker", map.get("billmaker")); if (map.get("dbilldate") != null && map.get("dbilldate") instanceof Timestamp dbilldate) { String dbilldateStr = DATETIME_FORMATTER.format(dbilldate); headJson.put("dbilldate", dbilldateStr); // 单据日期 @@ -130,7 +130,7 @@ public class ErpIaI2billFromGyImsPlugin implements IBackgroundWorkPlugin { if (body.get("dbizdate") != null && body.get("dbizdate") instanceof Timestamp dbizdate) { String creationtimeStr = DATETIME_FORMATTER.format(dbizdate); bodyJson.put("dbizdate", creationtimeStr); - }else{ + } else { bodyJson.put("dbizdate", "2025-12-01 20:42:24"); } bodyJsonArr.add(bodyJson);