From 9bb3a751d826657cb836c73ff3010493f759d417 Mon Sep 17 00:00:00 2001 From: mzr Date: Mon, 25 Aug 2025 19:02:45 +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=E8=B5=8B=E5=80=BC=E7=94=9F=E4=BA=A7BOM=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmo/pac0002/bp/rule/BeforePmoBomRule.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java new file mode 100644 index 0000000..29f12c6 --- /dev/null +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/BeforePmoBomRule.java @@ -0,0 +1,48 @@ +package nc.bs.mmpac.pmo.pac0002.bp.rule; + +import nc.bs.logging.Logger; +import nc.bs.uapbd.util.MyHelper; +import nc.impl.pubapp.pattern.rule.IRule; +import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; +import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; +import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; +import nc.vo.org.FactoryVO; +import nc.vo.pub.BusinessException; + +/** + * 流程生产订单赋值生产BOM字段 + * + * @author mzr + * @date 2025/7/15 + */ +public class BeforePmoBomRule implements IRule { + + @Override + public void process(PMOAggVO[] vos) { + try { + for (PMOAggVO vo : vos) { + PMOHeadVO headVO = vo.getParentVO(); + String pkOrg = headVO.getPk_org(); + + MyHelper.getStrValByCondition(FactoryVO.getDefaultTableName(), FactoryVO.CODE, + FactoryVO.PK_FACTORY + " = '" + pkOrg + "'"); + // 只有箱变公司才赋值生产BOM字段 + if (!"C030".equals(pkOrg)) { + continue; + } + // 箱变公司赋值生产BOM的相关字段 cbomversionid vbomversion + PMOItemVO[] pmoItemVOS = vo.getChildrenVO(); + for (PMOItemVO pmoItemVO : pmoItemVOS) { + // vsrctype 来源单据类型 来源销售订单的需要赋值 + if ("30".equals(pmoItemVO.getVsrctype())) { + pmoItemVO.setVbomversion(""); // 生产BOM版本号 + pmoItemVO.setCbomversionid(""); // 生产BOM版本 + } + } + } + } catch (BusinessException e) { + Logger.error("BeforePmoBomRule-exp:" + e.getMessage(), e); + throw new RuntimeException(e); + } + } +}