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 3b50b3f0..7f3d48f9 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 @@ -739,37 +739,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)) {