From 897e779f24c17001762f9e6a8e104b08930ab003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 29 Aug 2024 08:36:15 +0800 Subject: [PATCH] =?UTF-8?q?EBOM=E8=8D=89=E7=A8=BF=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=97=B6-ebom=E5=8D=87=E7=BA=A7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/domain/EBom/EBomToPbomBase.java | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) 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 7806efa4..c81d7148 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 @@ -737,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)) {