From fd3524de70709c828c30027e7df5b2688d95e966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 28 May 2024 09:27:16 +0800 Subject: [PATCH 1/4] =?UTF-8?q?optimize(dqbom):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/DQBomService.java | 50 ++++++++++++------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index 68b1e08c..1aab635a 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -683,23 +683,28 @@ public class DQBomService { if (CollUtil.isNotEmpty(keys)) { datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys)); } - List vos = Convert.toList(QueryMaterialsVO.class, datas); - query.forEach(it -> { - if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) { - QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo()) - || StrUtil.equals(m.getDrawingNo(), it.getDrawingNo())) - .findFirst().orElse(null); - if (Objects.nonNull(vo)) { - if (Objects.nonNull(it.getUnitWeight())) { - vo.setUnitWeight(it.getUnitWeight()); - } - if (StrUtil.isNotBlank(it.getProjectType())) { - vo.setProjectType(it.getProjectType()); - } - } + return datas.stream().map(d -> { + QueryMaterialsVO vo = new QueryMaterialsVO(); + vo.setMaterialNo(d.getMaterialNo()); + vo.setMaterialName(d.getMaterialName()); + vo.setMaterialDesc(d.getMaterialDesc()); + vo.setUnitWeight(d.getMaterialWeight()); + vo.setMaterialCategoryCode(d.getMaterialCategoryCode()); + vo.setMaterialState(d.getMaterialState()); + vo.setDrawingNo(d.getDrawingNo()); + vo.setMaterialTexture(d.getMaterialTexture()); + vo.setMaterialUnit(d.getMaterialUnit()); + vo.setCategoryName(d.getCategoryName()); + QueryMaterialsQuery q = query.stream() + .filter(f -> StrUtil.equals(f.getMaterialNo(), vo.getMaterialNo()) || StrUtil.equals(f.getDrawingNo(), vo.getDrawingNo())) + .findFirst() + .orElse(null); + if (Objects.nonNull(q)) { + vo.setUnitWeight(q.getUnitWeight()); + vo.setProjectType(q.getProjectType()); } - }); - return vos; + return vo; + }).collect(Collectors.toList()); } public QueryMaterialsVO queryMaterial(QueryMaterialsQuery query) { @@ -710,7 +715,18 @@ public class DQBomService { vos = SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(Collections.singletonList(query.getDrawingNo())); } if (CollUtil.isNotEmpty(vos)) { - QueryMaterialsVO vo = Convert.convert(QueryMaterialsVO.class, vos.get(0)); + BaseMaterialVO d = vos.get(0); + QueryMaterialsVO vo = new QueryMaterialsVO(); + vo.setMaterialNo(d.getMaterialNo()); + vo.setMaterialName(d.getMaterialName()); + vo.setMaterialDesc(d.getMaterialDesc()); + vo.setUnitWeight(d.getMaterialWeight()); + vo.setMaterialCategoryCode(d.getMaterialCategoryCode()); + vo.setMaterialState(d.getMaterialState()); + vo.setDrawingNo(d.getDrawingNo()); + vo.setMaterialTexture(d.getMaterialTexture()); + vo.setMaterialUnit(d.getMaterialUnit()); + vo.setCategoryName(d.getCategoryName()); if (Objects.nonNull(query.getUnitWeight())) { vo.setUnitWeight(query.getUnitWeight()); } From 7717cecc5a430da50ef5bafe887bf1acc553a9bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 28 May 2024 09:38:02 +0800 Subject: [PATCH 2/4] =?UTF-8?q?optimize(ebom):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewEbomParentService.java | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index efcf11e3..0fb6629b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -2386,23 +2386,28 @@ public class BomNewEbomParentService extends ServiceImpl vos = Convert.toList(QueryMaterialsVO.class, datas); - query.forEach(it -> { - if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) { - QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo()) - || StrUtil.equals(m.getDrawingNo(), it.getDrawingNo())) - .findFirst().orElse(null); - if (Objects.nonNull(vo)) { - if (Objects.nonNull(it.getUnitWeight())) { - vo.setUnitWeight(it.getUnitWeight()); - } - if (StrUtil.isNotBlank(it.getProjectType())) { - vo.setProjectType(it.getProjectType()); - } - } + return datas.stream().map(d -> { + QueryMaterialsVO vo = new QueryMaterialsVO(); + vo.setMaterialNo(d.getMaterialNo()); + vo.setMaterialName(d.getMaterialName()); + vo.setMaterialDesc(d.getMaterialDesc()); + vo.setUnitWeight(d.getMaterialWeight()); + vo.setMaterialCategoryCode(d.getMaterialCategoryCode()); + vo.setMaterialState(d.getMaterialState()); + vo.setDrawingNo(d.getDrawingNo()); + vo.setMaterialTexture(d.getMaterialTexture()); + vo.setMaterialUnit(d.getMaterialUnit()); + vo.setCategoryName(d.getCategoryName()); + QueryMaterialsQuery q = query.stream() + .filter(f -> StrUtil.equals(f.getMaterialNo(), vo.getMaterialNo()) || StrUtil.equals(f.getDrawingNo(), vo.getDrawingNo())) + .findFirst() + .orElse(null); + if (Objects.nonNull(q)) { + vo.setUnitWeight(q.getUnitWeight()); + vo.setProjectType(q.getProjectType()); } - }); - return vos; + return vo; + }).collect(Collectors.toList()); } public Integer getSapErrorNum() { From 4aeb7db929d8087ce13d7953960b704db7563174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 28 May 2024 11:11:21 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat(ebom):=20=E5=AF=BC=E5=85=A5=E5=88=B0sa?= =?UTF-8?q?p=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=AF=E7=9B=B4?= =?UTF-8?q?=E5=8F=91=E5=8C=85=EF=BC=8C=E4=B8=94=E6=B2=A1=E6=9C=89=E4=B8=8B?= =?UTF-8?q?=E7=BA=A7=EF=BC=8C=E5=88=99=E4=B8=8D=E8=A6=81=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=88=B0sap=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewEbomParentService.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 0fb6629b..8f659e87 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -1007,7 +1007,18 @@ public class BomNewEbomParentService extends ServiceImpl { + for (BomNewEbomChildEntity c : children) { + BomNewEbomParentEntity cp = lambdaQuery() + .eq(BomNewEbomParentEntity::getMaterialNo, c.getMaterialNo()) + .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) + .orderByDesc(BomNewEbomParentEntity::getRowId) + .last(" limit 1") + .one(); + if (Objects.equals(c.getVirtualPartType(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue())) { + if (Objects.nonNull(cp) && !ebomChildService.lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, cp.getRowId()).exists()) { + continue; + } + } T1DTO t1 = new T1DTO(); t1.setID(RandomUtil.randomNumbers(5)); t1.setMATNR(parent.getMaterialNo()); @@ -1021,14 +1032,11 @@ public class BomNewEbomParentService extends ServiceImpl Date: Tue, 28 May 2024 11:11:42 +0800 Subject: [PATCH 4/4] =?UTF-8?q?feat(pbom):=20=E5=AF=BC=E5=85=A5=E5=88=B0sa?= =?UTF-8?q?p=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=AF=E7=9B=B4?= =?UTF-8?q?=E5=8F=91=E5=8C=85=EF=BC=8C=E4=B8=94=E6=B2=A1=E6=9C=89=E4=B8=8B?= =?UTF-8?q?=E7=BA=A7=EF=BC=8C=E5=88=99=E4=B8=8D=E8=A6=81=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=88=B0sap=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewPbomParentService.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index dbad8357..593a33f5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -1152,7 +1152,19 @@ public class BomNewPbomParentService extends ServiceImpl { + for (BomNewPbomChildEntity c : children) { + BomNewPbomParentEntity cp = lambdaQuery() + .eq(BomNewPbomParentEntity::getMaterialNo, c.getMaterialNo()) + .eq(BomNewPbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()) + .orderByDesc(BomNewPbomParentEntity::getRowId) + .last(" limit 1") + .one(); + if (Objects.equals(c.getVirtualPartType(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue())) { + if (Objects.nonNull(cp) && !pbomChildService.lambdaQuery().eq(BomNewPbomChildEntity::getParentRowId, cp.getRowId()).exists()) { + continue; + } + } + T1DTO t1 = new T1DTO(); t1.setID(RandomUtil.randomNumbers(5)); t1.setMATNR(parent.getMaterialNo()); @@ -1166,14 +1178,11 @@ public class BomNewPbomParentService extends ServiceImpl