From bf5c6aeb5a74d35a1cadb923e6f8f5c9ef102ef6 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 2 Dec 2025 16:52:15 +0800 Subject: [PATCH] =?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; + } + /** * 业务请求方法 */