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..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 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() { 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 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()); }