生产订单BP调整

This commit is contained in:
mzr 2025-10-24 09:09:58 +08:00
parent d2a5aa5e7f
commit 585471ac75
2 changed files with 17 additions and 77 deletions

View File

@ -195,7 +195,6 @@ public class PMOInsertBP {
IRule<PMOAggVO> saveBeforeCheckRule = new saveBeforeCheckRule();
processer.addBeforeRule(saveBeforeCheckRule);
processer.addBeforeRule(new BeforePmoWlbzJMRule());
processer.addBeforeRule(new BeforePmoBomRule());
}

View File

@ -7,82 +7,18 @@ package nc.bs.mmpac.pmo.pac0002.bp;
import nc.bs.mmpac.pmo.pac0002.bp.rule.AfterPlanStartTimeChangeRule;
import nc.bs.mmpac.pmo.pac0002.bp.rule.BeforePmoWlbzJMRule;
import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
import java.util.ArrayList;
import java.util.List;
import nc.bs.mmpac.pmo.pac0002.bp.rule.UpdateAfterToMesRule;
import nc.bs.mmpac.pmo.pac0002.pluginpoint.PMOPluginPoint;
import nc.bs.mmpac.pmo.pac0002.rule.PMOATOCheckRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOATPUpdateWithParaRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOAdjustReserveRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOBatchCodeEditRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOBatchCodeEditSynPickmRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOBillStatusToFreeRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOCffileidInserAndUpdatetRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOCheckRownoChangedRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOCheckVBillCodeByPutPlanRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOCheckVBillCodeBySubMoRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOMarkWrSNWhenUpdateRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOProcedureSortRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOSyncSNWhenItemDeleteRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOSyncSNWhenUpdateRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOUpdateAutoDeleteBatchCodeRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOUpdateAutoDeleteMosRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOUpdateAutoDeletePutPlanRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOUpdatePickmRule;
import nc.bs.mmpac.pmo.pac0002.rule.PMOUpdateSaveApproveRule;
import nc.bs.mmpac.pmo.pac0002.rule.PmoSynUpdatePutPlanRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckApproveOperTypeRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckCinwarehouseidRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckDateLogicRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckDeleteItemHasSubMoRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckDeptNotNullRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckEditableByStatusRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckItemNotNullRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckItemParentProcedureRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckMaterialPermissionRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckNrwxisLogicRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckParentProcedureNoRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckPlanPutNumRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckPlanPutNumberRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProcedureDateLogicRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProcedureDupRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProcedureExistDownRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProcedureNotNullRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProcedureratioRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckProdurepointRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckSNNumAndUnitRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckSaveNotNullRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckSnBindRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckTurnedItemDeleteRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOCheckVBillCodeTurnItemRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOProcedureChkPntRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMOProcedurePutCheckRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMORwkProcCheckRule;
import nc.bs.mmpac.pmo.pac0002.rule.check.PMORwkProcOperTypeRule;
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillBatchCodeRule;
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillFirstMOInfoRule;
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillInsertPlanTimeByProcedureRule;
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillSNPkAndCodeRule;
import nc.bs.mmpac.pmo.pac0002.rule.fill.PMOFillUpdateDefaultValueRule;
import nc.bs.mmpac.pmo.pac0002.rule.*;
import nc.bs.mmpac.pmo.pac0002.rule.check.*;
import nc.bs.mmpac.pmo.pac0002.rule.fill.*;
import nc.bs.mmpac.pmo.pac0002.rule.grand.PMOIsCreatPlanOutputRule;
import nc.bs.mmpac.pmo.pac0002.rule.grand.PMOIsCreatProcedureRule;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4INVP;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4MPS;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4PMO;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4PSCRecive;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4PSM;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4Renovate;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4SFC;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4SO;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.RewriteUpdateNum4TO;
import nc.bs.mmpac.pmo.pac0002.rule.rewrite.*;
import nc.bs.mmpub.rule.MMATOMaterialCheckRule;
import nc.bs.mmpub.rule.MMAutoMaterialAssignRule;
import nc.bs.mmpub.rule.MMVOSagaFrozenValidateRule;
import nc.bs.pubapp.pub.rule.BillCodeCheckRule;
import nc.bs.pubapp.pub.rule.FieldLengthCheckRule;
import nc.bs.pubapp.pub.rule.FillUpdateDataRule;
import nc.bs.pubapp.pub.rule.OrgDisabledCheckRule;
import nc.bs.pubapp.pub.rule.UpdateBillCodeRule;
import nc.bs.pubapp.pub.rule.*;
import nc.impl.pubapp.bd.userdef.UserDefSaveRule;
import nc.impl.pubapp.pattern.rule.ICompareRule;
import nc.impl.pubapp.pattern.rule.IRule;
@ -96,6 +32,9 @@ import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO;
import nc.vo.mmpac.pmo.pac0002.util.PmoSagaUtil;
import java.util.ArrayList;
import java.util.List;
public class PMOUpdateBP {
private List<String> checkInfoList = new ArrayList();
@ -103,7 +42,7 @@ public class PMOUpdateBP {
if (MMArrayUtil.isEmpty(fullBills)) {
return null;
} else {
for(PMOAggVO vo : fullBills) {
for (PMOAggVO vo : fullBills) {
if (vo.getParent().getStatus() != 1) {
vo.getParent().setStatus(1);
}
@ -115,8 +54,8 @@ public class PMOUpdateBP {
GCUpdateBPTemplate<PMOAggVO> bp = new GCUpdateBPTemplate(PMOPluginPoint.UPDATE);
this.addBeforeRule(bp.getAroundProcesser());
this.addAfterRule(bp.getAroundProcesser());
PMOAggVO[] rets = (PMOAggVO[])bp.update(fullBills, originBills);
PmoSagaUtil.compensate4Update((PMOAggVO[])rets.clone(), originBills);
PMOAggVO[] rets = (PMOAggVO[]) bp.update(fullBills, originBills);
PmoSagaUtil.compensate4Update((PMOAggVO[]) rets.clone(), originBills);
return rets;
}
}
@ -129,7 +68,7 @@ public class PMOUpdateBP {
processer.addBeforeRule(new PMOCheckItemParentProcedureRule());
IRule<PMOAggVO> deptrule = new PMOCheckDeptNotNullRule();
processer.addBeforeRule(deptrule);
IRule<PMOAggVO> mmatoMaterialCheckRule = new MMATOMaterialCheckRule((String)null, "cmaterialvid", "cffileid");
IRule<PMOAggVO> mmatoMaterialCheckRule = new MMATOMaterialCheckRule((String) null, "cmaterialvid", "cffileid");
processer.addBeforeRule(mmatoMaterialCheckRule);
ICompareRule<PMOAggVO> checkrowChangedRule = new PMOCheckRownoChangedRule();
processer.addBeforeRule(checkrowChangedRule);
@ -149,7 +88,7 @@ public class PMOUpdateBP {
processer.addBeforeRule(billstatusRule);
IRule<PMOAggVO> rowrule = new MMRowNoCheckRule();
processer.addBeforeRule(rowrule);
IRule<PMOAggVO> autoMaterialAssignRule = new MMAutoMaterialAssignRule((String)null, "cmaterialvid", new String[]{"pk_org", "cplanfactoryid"}, (String[])null);
IRule<PMOAggVO> autoMaterialAssignRule = new MMAutoMaterialAssignRule((String) null, "cmaterialvid", new String[]{"pk_org", "cplanfactoryid"}, (String[]) null);
processer.addBeforeFinalRule(autoMaterialAssignRule);
IRule<PMOAggVO> marperrule = new PMOCheckMaterialPermissionRule();
processer.addBeforeRule(marperrule);
@ -274,8 +213,10 @@ public class PMOUpdateBP {
processer.addAfterRule(mosDeleteRule);
IRule<PMOAggVO> saveapproverule = new PMOUpdateSaveApproveRule();
processer.addAfterRule(saveapproverule);
ICompareRule<PMOAggVO> planStartTimeChangeRule = new AfterPlanStartTimeChangeRule();//sunfj2025.09.26
ICompareRule<PMOAggVO> planStartTimeChangeRule = new AfterPlanStartTimeChangeRule();// sunfj2025.09.26
processer.addAfterRule(planStartTimeChangeRule);
IRule<PMOAggVO> updateAfterToMesRule = new UpdateAfterToMesRule();
processer.addAfterRule(updateAfterToMesRule);
}
public List<String> getCheckInfoList() {