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); }