备料计划修改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) {
|
public AggPickmVO[] update(AggPickmVO[] vos, boolean isYL, boolean isForCereateSub) {
|
||||||
|
|
||||||
if (MMValueCheck.isEmpty(vos)) {
|
if (MMValueCheck.isEmpty(vos)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -141,8 +140,6 @@ public class PickmUpdateBP {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改后规则
|
* 修改后规则
|
||||||
*
|
|
||||||
* @param processor
|
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({
|
@SuppressWarnings({
|
||||||
"unchecked"
|
"unchecked"
|
||||||
|
|
@ -192,14 +189,11 @@ public class PickmUpdateBP {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改前规则
|
* 修改前规则
|
||||||
*
|
|
||||||
* @param processor
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void addBeforeRule(CompareAroundProcesser<AggPickmVO> processer) {
|
private void addBeforeRule(CompareAroundProcesser<AggPickmVO> processer) {
|
||||||
|
// 清除空的表体行
|
||||||
// 清除空的表体行
|
|
||||||
IRule<AggPickmVO> filterRule = new PickmItemVOFilterRule();
|
IRule<AggPickmVO> filterRule = new PickmItemVOFilterRule();
|
||||||
processer.addBeforeRule(filterRule);
|
processer.addBeforeRule(filterRule);
|
||||||
// 校验组织是否已停用
|
// 校验组织是否已停用
|
||||||
|
|
@ -220,15 +214,12 @@ public class PickmUpdateBP {
|
||||||
// 校验备料计划倒冲时机
|
// 校验备料计划倒冲时机
|
||||||
IRule<AggPickmVO> checkFbackFlusTime = new PickmFbackflustimeCheckRule();
|
IRule<AggPickmVO> checkFbackFlusTime = new PickmFbackflustimeCheckRule();
|
||||||
processer.addBeforeRule(checkFbackFlusTime);
|
processer.addBeforeRule(checkFbackFlusTime);
|
||||||
|
|
||||||
// 修改保存时的数据补充规则
|
// 修改保存时的数据补充规则
|
||||||
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
||||||
processer.addBeforeRule(fillDataRule);
|
processer.addBeforeRule(fillDataRule);
|
||||||
|
|
||||||
// 校验供应仓库和发料仓库不能相同
|
// 校验供应仓库和发料仓库不能相同
|
||||||
IRule<AggPickmVO> sameRule = new PickmCheckSameStockRule();
|
IRule<AggPickmVO> sameRule = new PickmCheckSameStockRule();
|
||||||
processer.addBeforeRule(sameRule);
|
processer.addBeforeRule(sameRule);
|
||||||
|
|
||||||
// 表头物料自动分配
|
// 表头物料自动分配
|
||||||
IRule<AggPickmVO> autoHMaterialAssignRule = new MMAutoMaterialAssignRule<AggPickmVO>(PickmHeadVO.CMATERIALVID,
|
IRule<AggPickmVO> autoHMaterialAssignRule = new MMAutoMaterialAssignRule<AggPickmVO>(PickmHeadVO.CMATERIALVID,
|
||||||
null, new String[]{PickmHeadVO.PK_ORG}, null);
|
null, new String[]{PickmHeadVO.PK_ORG}, null);
|
||||||
|
|
@ -238,19 +229,15 @@ public class PickmUpdateBP {
|
||||||
PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG},
|
PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG},
|
||||||
new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID});
|
new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID});
|
||||||
processer.addBeforeFinalRule(autobMaterialAssignRule);
|
processer.addBeforeFinalRule(autobMaterialAssignRule);
|
||||||
|
|
||||||
// 物料合法性校验规则
|
// 物料合法性校验规则
|
||||||
IRule<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
IRule<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
||||||
processer.addBeforeRule(marperRule);
|
processer.addBeforeRule(marperRule);
|
||||||
|
|
||||||
// 子项物料发料组织合法性校验规则
|
// 子项物料发料组织合法性校验规则
|
||||||
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
||||||
processer.addBeforeRule(bmarperRule);
|
processer.addBeforeRule(bmarperRule);
|
||||||
|
|
||||||
// 单据字段长度检查规则
|
// 单据字段长度检查规则
|
||||||
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
||||||
processer.addBeforeRule(lengthCheckRule);
|
processer.addBeforeRule(lengthCheckRule);
|
||||||
|
|
||||||
// 自由辅助属性检查的规则
|
// 自由辅助属性检查的规则
|
||||||
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<AggPickmVO>();
|
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<AggPickmVO>();
|
||||||
// marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME);
|
// marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME);
|
||||||
|
|
@ -266,7 +253,6 @@ public class PickmUpdateBP {
|
||||||
PickmHeadVO.class, PickmItemVO.class
|
PickmHeadVO.class, PickmItemVO.class
|
||||||
});
|
});
|
||||||
processer.addBeforeRule(defRule);
|
processer.addBeforeRule(defRule);
|
||||||
|
|
||||||
// 备料计划保存规则
|
// 备料计划保存规则
|
||||||
IRule<AggPickmVO> pickmSaveRule = new PickmSaveRule();
|
IRule<AggPickmVO> pickmSaveRule = new PickmSaveRule();
|
||||||
processer.addBeforeRule(pickmSaveRule);
|
processer.addBeforeRule(pickmSaveRule);
|
||||||
|
|
@ -281,11 +267,9 @@ public class PickmUpdateBP {
|
||||||
new UpdateBillCodeRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP,
|
new UpdateBillCodeRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP,
|
||||||
IOrgConst.PK_ORG);
|
IOrgConst.PK_ORG);
|
||||||
processer.addBeforeRule(updateBillCodeRule);
|
processer.addBeforeRule(updateBillCodeRule);
|
||||||
|
|
||||||
// 备料计划ATP检查规则
|
// 备料计划ATP检查规则
|
||||||
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(true, null);
|
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(true, null);
|
||||||
processer.addBeforeRule(pickmATPCheckRule);
|
processer.addBeforeRule(pickmATPCheckRule);
|
||||||
|
|
||||||
if (this.isForYL) {
|
if (this.isForYL) {
|
||||||
// 修改保存前解除预留规则
|
// 修改保存前解除预留规则
|
||||||
ICompareRule<AggPickmVO> pickmUnPSForEditRule = new PickmAdjustReserveWhenEditRule();
|
ICompareRule<AggPickmVO> pickmUnPSForEditRule = new PickmAdjustReserveWhenEditRule();
|
||||||
|
|
@ -307,5 +291,6 @@ public class PickmUpdateBP {
|
||||||
processer.addBeforeRule(autoChangeStateRule);
|
processer.addBeforeRule(autoChangeStateRule);
|
||||||
// sqz 赋值发货仓库现存量
|
// sqz 赋值发货仓库现存量
|
||||||
processer.addBeforeRule(new PickItemsSetVbdef36Rule());
|
processer.addBeforeRule(new PickItemsSetVbdef36Rule());
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ public class PickmUpdateForMOBP {
|
||||||
private void addBeforeRule(CompareAroundProcesser<AggPickmVO> aroundProcesser,
|
private void addBeforeRule(CompareAroundProcesser<AggPickmVO> aroundProcesser,
|
||||||
Map<String, MoChangeParam> paramMap) {
|
Map<String, MoChangeParam> paramMap) {
|
||||||
// sagas 冻结校验
|
// sagas 冻结校验
|
||||||
IRule<AggPickmVO> sagasCheckrule = new MMVOSagaFrozenValidateRule<AggPickmVO>(true);
|
IRule<AggPickmVO> sagasCheckrule = new MMVOSagaFrozenValidateRule<>(true);
|
||||||
aroundProcesser.addBeforeRule(sagasCheckrule);
|
aroundProcesser.addBeforeRule(sagasCheckrule);
|
||||||
// 备料计划表头同步rule
|
// 备料计划表头同步rule
|
||||||
IRule<AggPickmVO> pickmHeadEditRule = new PickmHeadEditRule(paramMap);
|
IRule<AggPickmVO> pickmHeadEditRule = new PickmHeadEditRule(paramMap);
|
||||||
|
|
@ -109,57 +109,35 @@ public class PickmUpdateForMOBP {
|
||||||
// 修改保存时的数据补充规则
|
// 修改保存时的数据补充规则
|
||||||
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
IRule<AggPickmVO> fillDataRule = new FillUpdateDataRule();
|
||||||
aroundProcesser.addBeforeRule(fillDataRule);
|
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},
|
PickmItemVO.CBMATERIALVID, new String[]{PickmHeadVO.PK_ORG},
|
||||||
new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID});
|
new String[]{PickmItemVO.CDELIVERORGID, PickmItemVO.CSUPPLYORGID});
|
||||||
aroundProcesser.addBeforeFinalRule(autobMaterialAssignRule);
|
aroundProcesser.addBeforeFinalRule(autobMaterialAssignRule);
|
||||||
|
|
||||||
// 物料合法性校验规则
|
// 物料合法性校验规则
|
||||||
IRule<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
IRule<AggPickmVO> marperRule = new PickmCheckMaterialPermissionRule();
|
||||||
aroundProcesser.addBeforeRule(marperRule);
|
aroundProcesser.addBeforeRule(marperRule);
|
||||||
|
|
||||||
// 子项物料发料组织合法性校验规则
|
// 子项物料发料组织合法性校验规则
|
||||||
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
IRule<AggPickmVO> bmarperRule = new PickmCheckItemMaterialPermissionRule();
|
||||||
aroundProcesser.addBeforeRule(bmarperRule);
|
aroundProcesser.addBeforeRule(bmarperRule);
|
||||||
// 进行序列号管理的物料不能设置为倒冲和交互式倒冲
|
// 进行序列号管理的物料不能设置为倒冲和交互式倒冲
|
||||||
IRule<AggPickmVO> snMaterialCheckRule = new SNMaterialNotBackFlushRule();
|
IRule<AggPickmVO> snMaterialCheckRule = new SNMaterialNotBackFlushRule();
|
||||||
aroundProcesser.addBeforeRule(snMaterialCheckRule);
|
aroundProcesser.addBeforeRule(snMaterialCheckRule);
|
||||||
// 校验备料计划倒冲时机
|
|
||||||
// IRule<AggPickmVO> checkFbackFlusTime = new PickmFbackflustimeCheckRule();
|
|
||||||
// aroundProcesser.addBeforeRule(checkFbackFlusTime);
|
|
||||||
// 单据字段长度检查规则
|
// 单据字段长度检查规则
|
||||||
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
IRule<AggPickmVO> lengthCheckRule = new FieldLengthCheckRule();
|
||||||
aroundProcesser.addBeforeRule(lengthCheckRule);
|
aroundProcesser.addBeforeRule(lengthCheckRule);
|
||||||
|
|
||||||
// 自由辅助属性检查的规则
|
// 自由辅助属性检查的规则
|
||||||
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<AggPickmVO>();
|
MarAssistantSaveRule<AggPickmVO> marRule = new MarAssistantSaveRule<>();
|
||||||
// marRule.setNotNullValidate(PickmConsts.CMATERIAL_VID_NAME);
|
|
||||||
marRule.setPos(0);
|
marRule.setPos(0);
|
||||||
aroundProcesser.addBeforeRule(marRule);
|
aroundProcesser.addBeforeRule(marRule);
|
||||||
// 自由辅助属性检查的规则
|
// 自由辅助属性检查的规则
|
||||||
MarAssistantSaveRule<AggPickmVO> bmarRule = new MarAssistantSaveRule<AggPickmVO>();
|
MarAssistantSaveRule<AggPickmVO> bmarRule = new MarAssistantSaveRule<>();
|
||||||
// bmarRule.setNotNullValidate(PickmItemVO.CBMATERIALVID);
|
|
||||||
bmarRule.setPos(1);
|
bmarRule.setPos(1);
|
||||||
aroundProcesser.addBeforeRule(bmarRule);
|
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,
|
ICompareRule<AggPickmVO> updateBillCodeRule = new UpdateBillCodeRule(BillTypeConst.PICKM,
|
||||||
PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
PickmConsts.VBILL_CODE_NAME, IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
||||||
aroundProcesser.addBeforeRule(updateBillCodeRule);
|
aroundProcesser.addBeforeRule(updateBillCodeRule);
|
||||||
|
|
||||||
// 备料计划ATP检查规则
|
// 备料计划ATP检查规则
|
||||||
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(true, null);
|
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(true, null);
|
||||||
aroundProcesser.addBeforeRule(pickmATPCheckRule);
|
aroundProcesser.addBeforeRule(pickmATPCheckRule);
|
||||||
|
|
@ -170,10 +148,12 @@ public class PickmUpdateForMOBP {
|
||||||
// 进行成套数量、累计超额数量等联动值的重算
|
// 进行成套数量、累计超额数量等联动值的重算
|
||||||
PickmRewriteOtherNumRule setPartsRule = new PickmRewriteOtherNumRule();
|
PickmRewriteOtherNumRule setPartsRule = new PickmRewriteOtherNumRule();
|
||||||
aroundProcesser.addBeforeRule(setPartsRule);
|
aroundProcesser.addBeforeRule(setPartsRule);
|
||||||
|
|
||||||
// 调用更新状态rule:自动完成 or 自动取消完成
|
// 调用更新状态rule:自动完成 or 自动取消完成
|
||||||
ICompareRule<AggPickmVO> autoChangeStateRule = new PickmAutoChangeStateRule();
|
ICompareRule<AggPickmVO> autoChangeStateRule = new PickmAutoChangeStateRule();
|
||||||
aroundProcesser.addBeforeRule(autoChangeStateRule);
|
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,
|
IRule<AggPickmVO> billCodeCheckRule = new BillCodeCheckRule(BillTypeConst.PICKM, PickmConsts.VBILL_CODE_NAME,
|
||||||
IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
IOrgConst.PK_GROUP, IOrgConst.PK_ORG);
|
||||||
aroundProcesser.addAfterRule(billCodeCheckRule);
|
aroundProcesser.addAfterRule(billCodeCheckRule);
|
||||||
|
|
||||||
// 备料计划ATP检查规则
|
// 备料计划ATP检查规则
|
||||||
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(false, this.aggPickmVOArray);
|
IRule<AggPickmVO> pickmATPCheckRule = new PickmATPCheckRule(false, this.aggPickmVOArray);
|
||||||
aroundProcesser.addAfterRule(pickmATPCheckRule);
|
aroundProcesser.addAfterRule(pickmATPCheckRule);
|
||||||
|
|
||||||
// 自动预留规则
|
// 自动预留规则
|
||||||
IRule<AggPickmVO> pickmAutoReserveRule = new PickmAutoReserveRule();
|
IRule<AggPickmVO> pickmAutoReserveRule = new PickmAutoReserveRule();
|
||||||
aroundProcesser.addAfterRule(pickmAutoReserveRule);
|
aroundProcesser.addAfterRule(pickmAutoReserveRule);
|
||||||
|
|
||||||
// 回写实际替代表规则
|
// 回写实际替代表规则
|
||||||
ICompareRule<AggPickmVO> pickmRewritePLOWhenUpdateRule = new PickmRewritePLOWhenUpdateRule();
|
ICompareRule<AggPickmVO> pickmRewritePLOWhenUpdateRule = new PickmRewritePLOWhenUpdateRule();
|
||||||
aroundProcesser.addAfterRule(pickmRewritePLOWhenUpdateRule);
|
aroundProcesser.addAfterRule(pickmRewritePLOWhenUpdateRule);
|
||||||
|
|
@ -215,5 +192,4 @@ public class PickmUpdateForMOBP {
|
||||||
// 备料计划修改后推送高压IMS
|
// 备料计划修改后推送高压IMS
|
||||||
aroundProcesser.addAfterRule(new AfterApproveRuleHighpressureIms());
|
aroundProcesser.addAfterRule(new AfterApproveRuleHighpressureIms());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue