From c702a95282b72e1444643a1f05bb7d7c067c048a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 23 Jun 2024 19:44:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(ebom):=20=E4=BF=AE=E5=A4=8Dlast=5Fversion?= =?UTF-8?q?=5Fis=E7=9A=84=E8=AE=BE=E7=BD=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/EBomImportService.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/EBomImportService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/EBomImportService.java index 326134db..35e140b8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/EBomImportService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/EBomImportService.java @@ -102,22 +102,22 @@ public class EBomImportService { private void save(List parents, List children) { Set pMaterialNos = parents.stream().map(BomNewEbomParentEntity::getMaterialNo).collect(Collectors.toSet()); List oldParents = bomNewEbomParentService.getLatestByMaterialNo(pMaterialNos); - oldParents.forEach(p -> { - if (!Objects.equals(p.getStatus(), EBomStatusEnum.PUBLISHED.getValue())) { - bomNewEbomParentService.getBaseMapper().deleteById(p.getRowId()); - bomNewEbomChildService.deleteAllChildren(p.getRowId()); - parents.stream().filter(it -> StrUtil.equals(it.getMaterialNo(), p.getMaterialNo())).forEach(it -> { - it.setCurrentVersion(p.getCurrentVersion()); - }); - p.setLastVersionIs(0); - } else { - parents.stream().filter(it -> StrUtil.equals(it.getMaterialNo(), p.getMaterialNo())).forEach(it -> { - it.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(p.getCurrentVersion())); - }); - } - }); - //bomNewEbomParentService.setLastVersionIs0(oldParents.stream().map(BomNewEbomParentEntity::getMaterialNo).collect(Collectors.toSet())); - bomNewEbomParentService.updateBatchById(oldParents.stream().filter(f -> f.getLastVersionIs() == 0).collect(Collectors.toList())); + if (CollUtil.isNotEmpty(oldParents)) { + oldParents.forEach(p -> { + if (!Objects.equals(p.getStatus(), EBomStatusEnum.PUBLISHED.getValue())) { + bomNewEbomParentService.getBaseMapper().deleteById(p.getRowId()); + bomNewEbomChildService.deleteAllChildren(p.getRowId()); + parents.stream().filter(it -> StrUtil.equals(it.getMaterialNo(), p.getMaterialNo())).forEach(it -> { + it.setCurrentVersion(p.getCurrentVersion()); + }); + } else { + parents.stream().filter(it -> StrUtil.equals(it.getMaterialNo(), p.getMaterialNo())).forEach(it -> { + it.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(p.getCurrentVersion())); + }); + } + }); + bomNewEbomParentService.setLastVersionIs0(oldParents.stream().map(BomNewEbomParentEntity::getRowId).collect(Collectors.toList())); + } bomNewEbomParentService.saveBatch(parents); bomNewEbomChildService.saveBatch(children); }