From 9389b5397e5bbd5d1a4c751252297fbecc716325 Mon Sep 17 00:00:00 2001 From: lj Date: Sat, 14 Dec 2024 17:11:31 +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=E6=95=B4=E5=8D=95=E5=AE=8C=E5=B7=A5=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=A4=87=E6=96=99=E8=AE=A1=E5=88=92=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java new file mode 100644 index 0000000..e746ac4 --- /dev/null +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.java @@ -0,0 +1,87 @@ + package nc.bs.mmpac.pmo.pac0002.bp; + + import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint; + import nc.bs.mmpac.pmo.pac0002.rule.PMOFilterBillStatusRule; + import nc.bs.mmpac.pmo.pac0002.rule.PMOFinishAutoFinishPutPlanRule; +import nc.bs.mmpac.pmo.pac0002.rule.PMOToFinishPickMRule; +import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFinishValueRule; + import nc.impl.pubapp.pattern.rule.IFilterRule; + import nc.impl.pubapp.pattern.rule.IRule; + import nc.impl.pubapp.pattern.rule.processer.CompareAroundProcesser; + import nc.util.mmf.framework.gc.GCUpdateBPTemplate; + import nc.vo.mmpac.pmo.pac0002.constant.PMOConstLang; + import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; + import nc.vo.mmpac.pmo.pac0002.enumeration.PMOFBillstatusEnum; + + public class PMOFinishBP + { + public PMOAggVO[] finish(PMOAggVO[] fullBills, PMOAggVO[] originBills) { + GCUpdateBPTemplate bp = new GCUpdateBPTemplate(PMOPluginPoint.FINISH); + + addFinishBeforeRule(bp.getAroundProcesser()); + + addFinishAfterRule(bp.getAroundProcesser()); + + return (PMOAggVO[])bp.update(fullBills, originBills); + } + + + + + + private void addFinishBeforeRule(CompareAroundProcesser processer) { + IFilterRule filterStatusRule = new PMOFilterBillStatusRule(PMOConstLang.getMSG_ACTION_NO_AUDIT(), PMOFBillstatusEnum.AUDIT); + processer.addBeforeRule(filterStatusRule); + + + + + + IRule fillFinishRule = new PMOFillFinishValueRule(false); + processer.addBeforeRule(fillFinishRule); + } + + + + private void addFinishAfterRule(CompareAroundProcesser processer) { + IRule finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule(); + processer.addAfterRule(finishPutPlanRule); + /** 同步修改备料计划完成(生产订单强制完工时) */ + IRule pMOToFinishPickMRule = new PMOToFinishPickMRule(); + processer.addAfterRule(pMOToFinishPickMRule); + } + + public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) { + GCUpdateBPTemplate bp = new GCUpdateBPTemplate(PMOPluginPoint.UNFINISH); + + addFinishCancelBeforeRule(bp.getAroundProcesser()); + + addFinishCancelAfterRule(bp.getAroundProcesser()); + + return (PMOAggVO[])bp.update(fullBills, originBills); + } + + + + + + private void addFinishCancelBeforeRule(CompareAroundProcesser processer) { + IFilterRule filterStatusRule = new PMOFilterBillStatusRule(PMOConstLang.getMSG_ACTION_NO_AUDIT(), PMOFBillstatusEnum.AUDIT); + processer.addBeforeRule(filterStatusRule); + + + + + + IRule fillFinishRule = new PMOFillFinishValueRule(true); + processer.addBeforeRule(fillFinishRule); + } + + private void addFinishCancelAfterRule(CompareAroundProcesser processer) {} + } + + +/* Location: E:\project\taikai\ncchome\modules\mmpac\META-INF\lib\mmpac_pmo.jar!/nc/bs/mmpac/pmo/pac0002/bp/PMOFinishBP.class + * Java compiler version: 8 (52.0) + * JD-Core Version: 1.0.7 + */ \ No newline at end of file