From a2b0b28f7e426875a402ae14c43f57f829932c46 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 25 Nov 2025 15:33:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E6=96=99=E8=AE=A1=E5=88=92=E4=BF=AE?= =?UTF-8?q?=E6=94=B9BP=E4=BB=A3=E7=A0=81=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nc/bs/mmpac/pickm/bp/PickmUpdateBP.java | 19 +--------- .../bs/mmpac/pickm/bp/PickmUpdateForMOBP.java | 38 ++++--------------- 2 files changed, 9 insertions(+), 48 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java index cf370a88..f638af7b 100644 --- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java +++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateBP.java @@ -64,7 +64,6 @@ public class PickmUpdateBP { } public AggPickmVO[] update(AggPickmVO[] vos, boolean isYL, boolean isForCereateSub) { - if (MMValueCheck.isEmpty(vos)) { return null; } @@ -141,8 +140,6 @@ public class PickmUpdateBP { /** * 修改后规则 - * - * @param processor */ @SuppressWarnings({ "unchecked" @@ -192,14 +189,11 @@ public class PickmUpdateBP { /** * 修改前规则 - * - * @param processor */ @SuppressWarnings("unchecked") private void addBeforeRule(CompareAroundProcesser processer) { - - // 清除空的表体行 + // 清除空的表体行 IRule filterRule = new PickmItemVOFilterRule(); processer.addBeforeRule(filterRule); // 校验组织是否已停用 @@ -220,15 +214,12 @@ public class PickmUpdateBP { // 校验备料计划倒冲时机 IRule checkFbackFlusTime = new PickmFbackflustimeCheckRule(); processer.addBeforeRule(checkFbackFlusTime); - // 修改保存时的数据补充规则 IRule fillDataRule = new FillUpdateDataRule(); processer.addBeforeRule(fillDataRule); - // 校验供应仓库和发料仓库不能相同 IRule sameRule = new PickmCheckSameStockRule(); processer.addBeforeRule(sameRule); - // 表头物料自动分配 IRule autoHMaterialAssignRule = new MMAutoMaterialAssignRule(PickmHeadVO.CMATERIALVID, null, new String[]{PickmHeadVO.PK_ORG}, null); @@ -238,19 +229,15 @@ public class PickmUpdateBP { PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG}, new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID}); processer.addBeforeFinalRule(autobMaterialAssignRule); - // 物料合法性校验规则 IRule marperRule = new PickmCheckMaterialPermissionRule(); processer.addBeforeRule(marperRule); - // 子项物料发料组织合法性校验规则 IRule bmarperRule = new PickmCheckItemMaterialPermissionRule(); processer.addBeforeRule(bmarperRule); - // 单据字段长度检查规则 IRule lengthCheckRule = new FieldLengthCheckRule(); processer.addBeforeRule(lengthCheckRule); - // 自由辅助属性检查的规则 MarAssistantSaveRule marRule = new MarAssistantSaveRule(); // marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME); @@ -266,7 +253,6 @@ public class PickmUpdateBP { PickmHeadVO.class, PickmItemVO.class }); processer.addBeforeRule(defRule); - // 备料计划保存规则 IRule pickmSaveRule = new PickmSaveRule(); processer.addBeforeRule(pickmSaveRule); @@ -281,11 +267,9 @@ public class PickmUpdateBP { new UpdateBillCodeRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG); processer.addBeforeRule(updateBillCodeRule); - // 备料计划ATP检查规则 IRule pickmATPCheckRule = new PickmATPCheckRule(true, null); processer.addBeforeRule(pickmATPCheckRule); - if (this.isForYL) { // 修改保存前解除预留规则 ICompareRule pickmUnPSForEditRule = new PickmAdjustReserveWhenEditRule(); @@ -307,5 +291,6 @@ public class PickmUpdateBP { processer.addBeforeRule(autoChangeStateRule); // sqz 赋值发货仓库现存量 processer.addBeforeRule(new PickItemsSetVbdef36Rule()); + } } diff --git a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java index 3f5f74a5..6d0ea3bf 100644 --- a/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java +++ b/mmpac/src/private/nc/bs/mmpac/pickm/bp/PickmUpdateForMOBP.java @@ -89,7 +89,7 @@ public class PickmUpdateForMOBP { private void addBeforeRule(CompareAroundProcesser aroundProcesser, Map paramMap) { // sagas 冻结校验 - IRule sagasCheckrule = new MMVOSagaFrozenValidateRule(true); + IRule sagasCheckrule = new MMVOSagaFrozenValidateRule<>(true); aroundProcesser.addBeforeRule(sagasCheckrule); // 备料计划表头同步rule IRule pickmHeadEditRule = new PickmHeadEditRule(paramMap); @@ -109,57 +109,35 @@ public class PickmUpdateForMOBP { // 修改保存时的数据补充规则 IRule fillDataRule = new FillUpdateDataRule(); aroundProcesser.addBeforeRule(fillDataRule); - - // 表头物料自动分配 - // IRule autoHMaterialAssignRule = new - // MMAutoMaterialAssignRule(PickmHeadVO.CMATERIALVID, - // null, new String[] { PickmHeadVO.PK_ORG }, null); - // aroundProcesser.addBeforeFinalRule(autoHMaterialAssignRule); // 表体物料自动分配 - IRule autobMaterialAssignRule = new MMAutoMaterialAssignRule(null, + IRule autobMaterialAssignRule = new MMAutoMaterialAssignRule<>(null, PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG}, new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID}); aroundProcesser.addBeforeFinalRule(autobMaterialAssignRule); - // 物料合法性校验规则 IRule marperRule = new PickmCheckMaterialPermissionRule(); aroundProcesser.addBeforeRule(marperRule); - // 子项物料发料组织合法性校验规则 IRule bmarperRule = new PickmCheckItemMaterialPermissionRule(); aroundProcesser.addBeforeRule(bmarperRule); // 进行序列号管理的物料不能设置为倒冲和交互式倒冲 IRule snMaterialCheckRule = new SNMaterialNotBackFlushRule(); aroundProcesser.addBeforeRule(snMaterialCheckRule); - // 校验备料计划倒冲时机 -// IRule checkFbackFlusTime = new PickmFbackflustimeCheckRule(); -// aroundProcesser.addBeforeRule(checkFbackFlusTime); // 单据字段长度检查规则 IRule lengthCheckRule = new FieldLengthCheckRule(); aroundProcesser.addBeforeRule(lengthCheckRule); - // 自由辅助属性检查的规则 - MarAssistantSaveRule marRule = new MarAssistantSaveRule(); - // marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME); + MarAssistantSaveRule marRule = new MarAssistantSaveRule<>(); marRule.setPos(0); aroundProcesser.addBeforeRule(marRule); // 自由辅助属性检查的规则 - MarAssistantSaveRule bmarRule = new MarAssistantSaveRule(); - // bmarRule.setNotNullValidate(PickmItemVO.CBMATERIALVID); + MarAssistantSaveRule bmarRule = new MarAssistantSaveRule<>(); bmarRule.setPos(1); aroundProcesser.addBeforeRule(bmarRule); - - // 自定义项检查的规则 - // UserDefSaveRule defRule = new UserDefSaveRule(new - // Class[] { - // PickmHeadVO.class, PickmItemVO.class - // }); - // aroundProcesser.addBeforeRule(defRule); // 更新单据号的规则 ICompareRule updateBillCodeRule = new UpdateBillCodeRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG); aroundProcesser.addBeforeRule(updateBillCodeRule); - // 备料计划ATP检查规则 IRule pickmATPCheckRule = new PickmATPCheckRule(true, null); aroundProcesser.addBeforeRule(pickmATPCheckRule); @@ -170,10 +148,12 @@ public class PickmUpdateForMOBP { // 进行成套数量、累计超额数量等联动值的重算 PickmRewriteOtherNumRule setPartsRule = new PickmRewriteOtherNumRule(); aroundProcesser.addBeforeRule(setPartsRule); - // 调用更新状态rule:自动完成 or 自动取消完成 ICompareRule autoChangeStateRule = new PickmAutoChangeStateRule(); aroundProcesser.addBeforeRule(autoChangeStateRule); + // sqz 备料重算赋值发料仓库现存量 +// aroundProcesser.addBeforeRule(new PickItemsSetVbdef36Rule()); + } /** @@ -186,15 +166,12 @@ public class PickmUpdateForMOBP { IRule billCodeCheckRule = new BillCodeCheckRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG); aroundProcesser.addAfterRule(billCodeCheckRule); - // 备料计划ATP检查规则 IRule pickmATPCheckRule = new PickmATPCheckRule(false, this.aggPickmVOArray); aroundProcesser.addAfterRule(pickmATPCheckRule); - // 自动预留规则 IRule pickmAutoReserveRule = new PickmAutoReserveRule(); aroundProcesser.addAfterRule(pickmAutoReserveRule); - // 回写实际替代表规则 ICompareRule pickmRewritePLOWhenUpdateRule = new PickmRewritePLOWhenUpdateRule(); aroundProcesser.addAfterRule(pickmRewritePLOWhenUpdateRule); @@ -215,5 +192,4 @@ public class PickmUpdateForMOBP { // 备料计划修改后推送高压IMS aroundProcesser.addAfterRule(new AfterApproveRuleHighpressureIms()); } - }