Merge remote-tracking branch 'origin/DM/nflg-新需求' into test

This commit is contained in:
10001392 2024-09-13 16:44:54 +08:00
commit f03dedfbd6
2 changed files with 13 additions and 3 deletions

View File

@ -245,8 +245,12 @@ public abstract class EBomToPbomBase {
Map<String, BomNewEbomParentVO> newBomChildrenMap = newBomChildren.stream().collect(Collectors.toMap(BomNewEbomParentVO::getMaterialNo, u -> u)); Map<String, BomNewEbomParentVO> newBomChildrenMap = newBomChildren.stream().collect(Collectors.toMap(BomNewEbomParentVO::getMaterialNo, u -> u));
for (BomNewPbomParentVO oldPBomAddItem : oldPBomAddChildren) { for (BomNewPbomParentVO oldPBomAddItem : oldPBomAddChildren) {
//加入当前BOM明细中(新增的且新的子级中不包含该物料编码--主要考虑兼容历史数据) //加入当前BOM明细中
if(!newBomChildrenMap.containsKey(oldPBomAddItem.getMaterialNo())) { if(!newBomChildrenMap.containsKey(oldPBomAddItem.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType())) {
buildPBomAddChild(parent, facCode, oldPBomAddItem);
}
//直发包发货前-允许物料重复
if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType())) {
buildPBomAddChild(parent, facCode, oldPBomAddItem); buildPBomAddChild(parent, facCode, oldPBomAddItem);
} }

View File

@ -250,7 +250,13 @@ public abstract class FormalEBomToPbomBase {
for (BomNewPbomParentVO oldPBomAddItem : oldPBomAddChildren) { for (BomNewPbomParentVO oldPBomAddItem : oldPBomAddChildren) {
//加入当前BOM明细中 //加入当前BOM明细中
if(!newBomChildrenMap.containsKey(oldPBomAddItem.getMaterialNo()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType())) {
buildPBomAddChild(parent, facCode, oldPBomAddItem); buildPBomAddChild(parent, facCode, oldPBomAddItem);
}
//直发包发货前-允许物料重复
if(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType())) {
buildPBomAddChild(parent, facCode, oldPBomAddItem);
}
//如为工艺包且在当前BOM中不存在 //如为工艺包且在当前BOM中不存在
if (!VirtualPackageTypeEnum.DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && BomConstant.ART_PACKAGE_MATERIAL_CATEGORY_CODE.equals(oldPBomAddItem.getMaterialCategoryCode()) && !newBomChildrenMap.containsKey(oldPBomAddItem.getMaterialNo())) { if (!VirtualPackageTypeEnum.DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(oldPBomAddItem.getVirtualPartType()) && BomConstant.ART_PACKAGE_MATERIAL_CATEGORY_CODE.equals(oldPBomAddItem.getMaterialCategoryCode()) && !newBomChildrenMap.containsKey(oldPBomAddItem.getMaterialNo())) {