流程生产订单整单完工修改备料计划完成

This commit is contained in:
lj 2024-12-14 17:11:31 +08:00
parent 85b8ae339c
commit 9389b5397e
1 changed files with 87 additions and 0 deletions

View File

@ -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<PMOAggVO> bp = new GCUpdateBPTemplate<PMOAggVO>(PMOPluginPoint.FINISH);
addFinishBeforeRule(bp.getAroundProcesser());
addFinishAfterRule(bp.getAroundProcesser());
return (PMOAggVO[])bp.update(fullBills, originBills);
}
private void addFinishBeforeRule(CompareAroundProcesser<PMOAggVO> processer) {
IFilterRule<PMOAggVO> filterStatusRule = new PMOFilterBillStatusRule(PMOConstLang.getMSG_ACTION_NO_AUDIT(), PMOFBillstatusEnum.AUDIT);
processer.addBeforeRule(filterStatusRule);
IRule<PMOAggVO> fillFinishRule = new PMOFillFinishValueRule(false);
processer.addBeforeRule(fillFinishRule);
}
private void addFinishAfterRule(CompareAroundProcesser<PMOAggVO> processer) {
IRule<PMOAggVO> finishPutPlanRule = new PMOFinishAutoFinishPutPlanRule();
processer.addAfterRule(finishPutPlanRule);
/** 同步修改备料计划完成(生产订单强制完工时) */
IRule<PMOAggVO> pMOToFinishPickMRule = new PMOToFinishPickMRule();
processer.addAfterRule(pMOToFinishPickMRule);
}
public PMOAggVO[] finishCancel(PMOAggVO[] fullBills, PMOAggVO[] originBills) {
GCUpdateBPTemplate<PMOAggVO> bp = new GCUpdateBPTemplate<PMOAggVO>(PMOPluginPoint.UNFINISH);
addFinishCancelBeforeRule(bp.getAroundProcesser());
addFinishCancelAfterRule(bp.getAroundProcesser());
return (PMOAggVO[])bp.update(fullBills, originBills);
}
private void addFinishCancelBeforeRule(CompareAroundProcesser<PMOAggVO> processer) {
IFilterRule<PMOAggVO> filterStatusRule = new PMOFilterBillStatusRule(PMOConstLang.getMSG_ACTION_NO_AUDIT(), PMOFBillstatusEnum.AUDIT);
processer.addBeforeRule(filterStatusRule);
IRule<PMOAggVO> fillFinishRule = new PMOFillFinishValueRule(true);
processer.addBeforeRule(fillFinishRule);
}
private void addFinishCancelAfterRule(CompareAroundProcesser<PMOAggVO> 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
*/