备料计划修改BP代码合并
This commit is contained in:
parent
d8247cfd0b
commit
a2b0b28f7e
|
|
@ -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<AggPickmVO> processer) {
|
||||
|
||||
// 清除空的表体行
|
||||
// 清除空的表体行
|
||||
IRule<AggPickmVO> filterRule = new PickmItemVOFilterRule();
|
||||
processer.addBeforeRule(filterRule);
|
||||
// 校验组织是否已停用
|
||||
|
|
@ -220,15 +214,12 @@ public class PickmUpdateBP {
|
|||
// 校验备料计划倒冲时机
|
||||
IRule<AggPickmVO> checkFbackFlusTime = new PickmFbackflustimeCheckRule();
|
||||
processer.addBeforeRule(checkFbackFlusTime);
|
||||
|
||||
// 修改保存时的数据补充规则
|
||||
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
||||
processer.addBeforeRule(fillDataRule);
|
||||
|
||||
// 校验供应仓库和发料仓库不能相同
|
||||
IRule<AggPickmVO> sameRule = new PickmCheckSameStockRule();
|
||||
processer.addBeforeRule(sameRule);
|
||||
|
||||
// 表头物料自动分配
|
||||
IRule<AggPickmVO> autoHMaterialAssignRule = new MMAutoMaterialAssignRule<AggPickmVO>(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<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
||||
processer.addBeforeRule(marperRule);
|
||||
|
||||
// 子项物料发料组织合法性校验规则
|
||||
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
||||
processer.addBeforeRule(bmarperRule);
|
||||
|
||||
// 单据字段长度检查规则
|
||||
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
||||
processer.addBeforeRule(lengthCheckRule);
|
||||
|
||||
// 自由辅助属性检查的规则
|
||||
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<AggPickmVO>();
|
||||
// marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME);
|
||||
|
|
@ -266,7 +253,6 @@ public class PickmUpdateBP {
|
|||
PickmHeadVO.class, PickmItemVO.class
|
||||
});
|
||||
processer.addBeforeRule(defRule);
|
||||
|
||||
// 备料计划保存规则
|
||||
IRule<AggPickmVO> 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<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(true, null);
|
||||
processer.addBeforeRule(pickmATPCheckRule);
|
||||
|
||||
if (this.isForYL) {
|
||||
// 修改保存前解除预留规则
|
||||
ICompareRule<AggPickmVO> pickmUnPSForEditRule = new PickmAdjustReserveWhenEditRule();
|
||||
|
|
@ -307,5 +291,6 @@ public class PickmUpdateBP {
|
|||
processer.addBeforeRule(autoChangeStateRule);
|
||||
// sqz 赋值发货仓库现存量
|
||||
processer.addBeforeRule(new PickItemsSetVbdef36Rule());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ public class PickmUpdateForMOBP {
|
|||
private void addBeforeRule(CompareAroundProcesser<AggPickmVO> aroundProcesser,
|
||||
Map<String, MoChangeParam> paramMap) {
|
||||
// sagas 冻结校验
|
||||
IRule<AggPickmVO> sagasCheckrule = new MMVOSagaFrozenValidateRule<AggPickmVO>(true);
|
||||
IRule<AggPickmVO> sagasCheckrule = new MMVOSagaFrozenValidateRule<>(true);
|
||||
aroundProcesser.addBeforeRule(sagasCheckrule);
|
||||
// 备料计划表头同步rule
|
||||
IRule<AggPickmVO> pickmHeadEditRule = new PickmHeadEditRule(paramMap);
|
||||
|
|
@ -109,57 +109,35 @@ public class PickmUpdateForMOBP {
|
|||
// 修改保存时的数据补充规则
|
||||
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
||||
aroundProcesser.addBeforeRule(fillDataRule);
|
||||
|
||||
// 表头物料自动分配
|
||||
// IRule<AggPickmVO> autoHMaterialAssignRule = new
|
||||
// MMAutoMaterialAssignRule<AggPickmVO>(PickmHeadVO.CMATERIALVID,
|
||||
// null, new String[] { PickmHeadVO.PK_ORG }, null);
|
||||
// aroundProcesser.addBeforeFinalRule(autoHMaterialAssignRule);
|
||||
// 表体物料自动分配
|
||||
IRule<AggPickmVO> autobMaterialAssignRule = new MMAutoMaterialAssignRule<AggPickmVO>(null,
|
||||
IRule<AggPickmVO> autobMaterialAssignRule = new MMAutoMaterialAssignRule<>(null,
|
||||
PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG},
|
||||
new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID});
|
||||
aroundProcesser.addBeforeFinalRule(autobMaterialAssignRule);
|
||||
|
||||
// 物料合法性校验规则
|
||||
IRule<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
||||
aroundProcesser.addBeforeRule(marperRule);
|
||||
|
||||
// 子项物料发料组织合法性校验规则
|
||||
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
||||
aroundProcesser.addBeforeRule(bmarperRule);
|
||||
// 进行序列号管理的物料不能设置为倒冲和交互式倒冲
|
||||
IRule<AggPickmVO> snMaterialCheckRule = new SNMaterialNotBackFlushRule();
|
||||
aroundProcesser.addBeforeRule(snMaterialCheckRule);
|
||||
// 校验备料计划倒冲时机
|
||||
// IRule<AggPickmVO> checkFbackFlusTime = new PickmFbackflustimeCheckRule();
|
||||
// aroundProcesser.addBeforeRule(checkFbackFlusTime);
|
||||
// 单据字段长度检查规则
|
||||
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
||||
aroundProcesser.addBeforeRule(lengthCheckRule);
|
||||
|
||||
// 自由辅助属性检查的规则
|
||||
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<AggPickmVO>();
|
||||
// marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME);
|
||||
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<>();
|
||||
marRule.setPos(0);
|
||||
aroundProcesser.addBeforeRule(marRule);
|
||||
// 自由辅助属性检查的规则
|
||||
MarAssistantSaveRule<AggPickmVO> bmarRule = new MarAssistantSaveRule<AggPickmVO>();
|
||||
// bmarRule.setNotNullValidate(PickmItemVO.CBMATERIALVID);
|
||||
MarAssistantSaveRule<AggPickmVO> bmarRule = new MarAssistantSaveRule<>();
|
||||
bmarRule.setPos(1);
|
||||
aroundProcesser.addBeforeRule(bmarRule);
|
||||
|
||||
// 自定义项检查的规则
|
||||
// UserDefSaveRule<AggPickmVO> defRule = new UserDefSaveRule<AggPickmVO>(new
|
||||
// Class[] {
|
||||
// PickmHeadVO.class, PickmItemVO.class
|
||||
// });
|
||||
// aroundProcesser.addBeforeRule(defRule);
|
||||
// 更新单据号的规则
|
||||
ICompareRule<AggPickmVO> updateBillCodeRule = new UpdateBillCodeRule(BillTypeConst.PICKM,
|
||||
PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
||||
aroundProcesser.addBeforeRule(updateBillCodeRule);
|
||||
|
||||
// 备料计划ATP检查规则
|
||||
IRule<AggPickmVO> 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<AggPickmVO> autoChangeStateRule = new PickmAutoChangeStateRule();
|
||||
aroundProcesser.addBeforeRule(autoChangeStateRule);
|
||||
// sqz 备料重算赋值发料仓库现存量
|
||||
// aroundProcesser.addBeforeRule(new PickItemsSetVbdef36Rule());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -186,15 +166,12 @@ public class PickmUpdateForMOBP {
|
|||
IRule<AggPickmVO> billCodeCheckRule = new BillCodeCheckRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME,
|
||||
IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
||||
aroundProcesser.addAfterRule(billCodeCheckRule);
|
||||
|
||||
// 备料计划ATP检查规则
|
||||
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(false, this.aggPickmVOArray);
|
||||
aroundProcesser.addAfterRule(pickmATPCheckRule);
|
||||
|
||||
// 自动预留规则
|
||||
IRule<AggPickmVO> pickmAutoReserveRule = new PickmAutoReserveRule();
|
||||
aroundProcesser.addAfterRule(pickmAutoReserveRule);
|
||||
|
||||
// 回写实际替代表规则
|
||||
ICompareRule<AggPickmVO> pickmRewritePLOWhenUpdateRule = new PickmRewritePLOWhenUpdateRule();
|
||||
aroundProcesser.addAfterRule(pickmRewritePLOWhenUpdateRule);
|
||||
|
|
@ -215,5 +192,4 @@ public class PickmUpdateForMOBP {
|
|||
// 备料计划修改后推送高压IMS
|
||||
aroundProcesser.addAfterRule(new AfterApproveRuleHighpressureIms());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue