diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java index abc97b54..69b8b1e4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBom.java @@ -60,7 +60,7 @@ public class EBomToPBom extends EBomToPbomBase { //buildPBomParent(parent, facCode); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()))) { + if (hasConvert.contains(hasConvertKey)) { continue; } hasConvert.add(hasConvertKey); @@ -77,9 +77,9 @@ public class EBomToPBom extends EBomToPbomBase { List child = result.stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); //判断pbom 是否一致 - if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if( compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode,parentList); if(Objects.isNull(parentEnt)){ continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java index c617f4ea..2d7e4945 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPBomFor31.java @@ -65,8 +65,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { for (BomNewEbomParentVO data : deliveryPackage1010) { List subVos = new ArrayList<>(); if (data.getMaterialName().contains("仙桃") ) { //只获取下降虚拟包(排除仙桃油漆包) - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } } else { @@ -102,7 +103,7 @@ public class EBomToPBomFor31 extends EBomToPbomBase { .collect(Collectors.toList()), BomNewEbomParentVO::getBomRowId); for (BomNewEbomParentVO vo : parentList) { String hasConvertKey = StrUtil.join("-", facCode, vo.getBomRowId()); - if (hasConvert.contains(hasConvertKey) || (PBomStatusEnum.PUBLISH.equalsValue(vo.getStatus()) && !VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(vo.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(vo.getVirtualPartType()) )) { + if (hasConvert.contains(hasConvertKey) ) { continue; } hasConvert.add(hasConvertKey); @@ -117,9 +118,9 @@ public class EBomToPBomFor31 extends EBomToPbomBase { //子级 List child = facBomDataMp.get(facCode).stream().filter(u -> u.getParentRowId().equals(vo.getBomRowId()) && !childDelMaterialNos.contains(u.getMaterialNo())).distinct().collect(Collectors.toList()); List mergeChild = mergeChild(child); - if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ - continue; - } +// if(compareContentIsSame(vo, mergeChild, facCode) && !vo.getMaterialNo().equals(parent.getMaterialNo())){ +// continue; +// } BomNewPbomParentEntity parentEnt = buildPBomParent(vo, facCode, parentList); if (Objects.isNull(parentEnt)) { continue; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index a92c4c1a..7806efa4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -203,12 +203,9 @@ public abstract class EBomToPbomBase { } else { //pbom-处于正式表 //Ebom为已发布时则直接跳过 (直发包,发货前装配包是则需对比Bom明细,一致则跳过,否则升级) - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentVo.getStatus()) || (VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(parentVo.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(parentVo.getVirtualPartType()))) { - String version = StrUtil.isBlank(parentVo.getCurrentVersion()) ? VersionUtil.getNextVersion("") : parentVo.getCurrentVersion(); - String bomVersion = VersionUtil.compare(version, oldParent.getCurrentVersion()) > 0 ? version : VersionUtil.getNextVersion(oldParent.getCurrentVersion()); - return buildParentEntity(parentVo, facCode, oldParent, bomVersion); - } - return null; + + return buildParentEntity(parentVo, facCode, oldParent, VersionUtil.getNextVersionForSmallVersion(oldParent.getCurrentVersion())); + } @@ -740,37 +737,37 @@ public abstract class EBomToPbomBase { List parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); for (BomNewEbomParentVO parentBom : parentBoms) { List newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList()); - if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { - //获取正式版 - BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) - .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) - .last(" order by current_version desc limit 1").one(); - if (Objects.nonNull(oldEBom)) { - List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); - - - //一样则无需转换 - if (isSameEBomV2(oldParentChild, newParentChild)) { - parentBom.setNoConvertToPBomIs(1); - parentBom.setHasChangeState(1); - //只变化项目类别-则使用小版本 - } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { - parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } else { - parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); - parentBom.setHasChangeState(2); - delOldEBom.add(oldEBom.getRowId()); - addEBomNew.add(parentBom.getBomRowId()); - } - - } - else { - addEBomNew.add(parentBom.getBomRowId()); - } - } +// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) { +// //获取正式版 +// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo()) +// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) +// .last(" order by current_version desc limit 1").one(); +// if (Objects.nonNull(oldEBom)) { +// List oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list(); +// +// +// //一样则无需转换 +// if (isSameEBomV2(oldParentChild, newParentChild)) { +// parentBom.setNoConvertToPBomIs(1); +// parentBom.setHasChangeState(1); +// //只变化项目类别-则使用小版本 +// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { +// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } else { +// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); +// parentBom.setHasChangeState(2); +// delOldEBom.add(oldEBom.getRowId()); +// addEBomNew.add(parentBom.getBomRowId()); +// } +// +// } +// else { +// addEBomNew.add(parentBom.getBomRowId()); +// } +// } //如子级都为F 项父级也不转 Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); if (CollUtil.isNotEmpty(projectSet)) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java index d16cd8ff..a3eb9778 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/EBomToPBomForFormal31New.java @@ -68,9 +68,10 @@ public class EBomToPBomForFormal31New extends FormalEBomToPbomBase { for (BomNewEbomParentVO data: deliveryPackage1010){ List subVos = new ArrayList<>();// result.stream().filter(u -> u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); if(data.getMaterialName().contains("仙桃")){ - if(!data.getMaterialName().contains(VirtualPackageTypeEnum.PAINT_PACKAGE.getDescription())) { + // subVos = result.stream().filter(u -> u.getMaterialName().contains("仙桃") && u.getLevelNumber().compareTo(data.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(data.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0).collect(Collectors.toList()); subVos.add(data); + if(!VirtualPackageTypeEnum.PAINT_PACKAGE.getValue().equals(data.getVirtualPartType())) { subVos.addAll(result.stream().filter(u -> u.getParentRowId().equals(data.getBomRowId())).collect(Collectors.toList())); } }