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 1fda3691..d1a6dd8b 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 @@ -1697,127 +1697,134 @@ public class BomNewEbomParentService extends ServiceImpl changeMaterial(BomNewEBomChangeDTO dto) { + CheckEBomException.checkMaterialNoInMain(dto.getDatas()); + SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(dto.getDatas(), EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2); - CheckEBomException.checkMaterialNoInMain(dto.getDatas()); - - - List childList = getChild(dto.getParent().getBomRowId()); - - List tmp1 = dto.getDatas().stream().filter(item -> (Objects.nonNull(item.getRowId()) && item.getRowId() > 0)).collect(Collectors.toList()); - - //相同rowid 不同物料号 - List unionEdit = tmp1.stream().filter(u -> { - return childList.stream().filter(e -> - Objects.equals(u.getRowId(), e.getRowId()) - && !Objects.equals(u.getMaterialNo(), e.getMaterialNo()) - ).count() > 0; - }).collect(Collectors.toList()); - - - //相同rowid 相同物料号 - List union2 = tmp1.stream().filter(u -> { - return childList.stream().filter(e -> - Objects.equals(u.getRowId(), e.getRowId()) - && Objects.equals(u.getMaterialNo(), e.getMaterialNo()) - ).count() > 0; - }).collect(Collectors.toList()); - - - Map> groupList = childList.stream().collect(Collectors.groupingBy(BomNewEbomParentVO::getRowId)); - - // Map> groupUnionEdit=unionEdit.stream().collect(Collectors.groupingBy(BomNewEbomParentVO::getRowId)); - - List tmp2 = dto.getDatas().stream().filter(item -> Objects.isNull(item.getRowId()) || item.getRowId() == 0).collect(Collectors.toList()); - - - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(tmp2, "projectType"); - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(unionEdit, "projectType"); - - - String[] ignore = new String[]{ - "projectType", - "procureType", - "materialUnit", - "material", - "materialTexture", - "materialGetType" - }; - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(union2, ignore); - - - List returnList = new ArrayList<>(); - - - if (CollectionUtil.isNotEmpty(unionEdit)) { - unionEdit.forEach(item -> { -// if(item.getMaterialUnit().contains("KG")){ -// item.setUnitWeight(null); -// }else{ -//// if(StrUtil.isNotBlank(item.getMaterialUnit())) { -//// item.setUnitWeight(NumberUtil.toBigDecimal(item.getMaterialUnit().toString())); -//// } -// } - - - item.setTotalWeight(NumberUtil.mul(item.getUnitWeight(), item.getNum())); - if (StrUtil.isBlank(item.getMaterialNo())) { - BeanUtil.copyProperties(groupList.get(item.getRowId()).get(0), item); - } - }); - returnList.addAll(unionEdit); - } - - if (CollectionUtil.isNotEmpty(union2)) { - union2.forEach(item -> { - if (Objects.isNull(item.getMaterialNo())) { - BeanUtil.copyProperties(item, groupList.get(item.getRowId()).get(0)); - } - }); - returnList.addAll(union2); - } - - - if (CollectionUtil.isNotEmpty(tmp2)) { - for (BomNewEbomParentVO vo : - tmp2) { - if (Objects.isNull(vo.getRowId()) || vo.getRowId() == 0) { - vo.setDeviseUserCode(SessionUtil.getUserCode()); - vo.setDeviseName(SessionUtil.getRealName()); - vo.setCreatedBy(SessionUtil.getUserCode()); - -// if (vo.getUnitWeight() == null || BigDecimal.ZERO.compareTo(vo.getUnitWeight()) >= 0) { -// vo.setUnitWeight(vo.getMaterialWeight()); -// } - -// if(vo.getMaterialUnit().contains("KG")){ -// vo.setUnitWeight(null); -// }else{ -// // vo.setUnitWeight(NumberUtil.toBigDecimal( vo.getMaterialUnit() )); -// } - - + for (BomNewEbomParentVO vo : + dto.getDatas()) { vo.setTotalWeight(NumberUtil.mul(vo.getUnitWeight(), vo.getNum())); + } - } - } + return dto.getDatas(); - returnList.addAll(tmp2); - } - - List checkBom = new ArrayList<>(); - - checkBom.addAll(unionEdit); - checkBom.addAll(union2); - checkBom.addAll(tmp2); - checkBom.add(dto.getParent()); - checkBomException(checkBom, Arrays.asList(EBomExceptionStatusEnum.EXCEPT_NO_14.getValue())); - - return returnList; } +// public List changeMaterial(BomNewEBomChangeDTO dto) { +// +// CheckEBomException.checkMaterialNoInMain(dto.getDatas()); +// List childList = getChild(dto.getParent().getBomRowId()); +// List tmp1 = dto.getDatas().stream().filter(item -> (Objects.nonNull(item.getRowId()) && item.getRowId() > 0)).collect(Collectors.toList()); +// +// //相同rowid 不同物料号 +// List unionEdit = tmp1.stream().filter(u -> { +// return childList.stream().filter(e -> +// Objects.equals(u.getRowId(), e.getRowId()) +// && !Objects.equals(u.getMaterialNo(), e.getMaterialNo()) +// ).count() > 0; +// }).collect(Collectors.toList()); +// +// +// //相同rowid 相同物料号 +// List union2 = tmp1.stream().filter(u -> { +// return childList.stream().filter(e -> +// Objects.equals(u.getRowId(), e.getRowId()) +// && Objects.equals(u.getMaterialNo(), e.getMaterialNo()) +// ).count() > 0; +// }).collect(Collectors.toList()); +// +// +// Map> groupList = childList.stream().collect(Collectors.groupingBy(BomNewEbomParentVO::getRowId)); +// +// // Map> groupUnionEdit=unionEdit.stream().collect(Collectors.groupingBy(BomNewEbomParentVO::getRowId)); +// +// List tmp2 = dto.getDatas().stream().filter(item -> Objects.isNull(item.getRowId()) || item.getRowId() == 0).collect(Collectors.toList()); +// +// +// SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(tmp2, "projectType"); +// SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(unionEdit, "projectType"); +// +// +// String[] ignore = new String[]{ +// "projectType", +// "procureType", +// "materialUnit", +// "material", +// "materialTexture", +// "materialGetType" +// }; +// SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(union2, ignore); +// +// +// List returnList = new ArrayList<>(); +// +// +// if (CollectionUtil.isNotEmpty(unionEdit)) { +// unionEdit.forEach(item -> { +// +// +// item.setTotalWeight(NumberUtil.mul(item.getUnitWeight(), item.getNum())); +// if (StrUtil.isBlank(item.getMaterialNo())) { +// BeanUtil.copyProperties(groupList.get(item.getRowId()).get(0), item); +// } +// }); +// returnList.addAll(unionEdit); +// } +// +// if (CollectionUtil.isNotEmpty(union2)) { +// union2.forEach(item -> { +// if (Objects.isNull(item.getMaterialNo())) { +// BeanUtil.copyProperties(item, groupList.get(item.getRowId()).get(0)); +// } +// }); +// returnList.addAll(union2); +// } +// +// +// if (CollectionUtil.isNotEmpty(tmp2)) { +// for (BomNewEbomParentVO vo : +// tmp2) { +// if (Objects.isNull(vo.getRowId()) || vo.getRowId() == 0) { +// vo.setDeviseUserCode(SessionUtil.getUserCode()); +// vo.setDeviseName(SessionUtil.getRealName()); +// vo.setCreatedBy(SessionUtil.getUserCode()); +// +//// if (vo.getUnitWeight() == null || BigDecimal.ZERO.compareTo(vo.getUnitWeight()) >= 0) { +//// vo.setUnitWeight(vo.getMaterialWeight()); +//// } +// +//// if(vo.getMaterialUnit().contains("KG")){ +//// vo.setUnitWeight(null); +//// }else{ +//// // vo.setUnitWeight(NumberUtil.toBigDecimal( vo.getMaterialUnit() )); +//// } +// +// +// vo.setTotalWeight(NumberUtil.mul(vo.getUnitWeight(), vo.getNum())); +// +// } +// } +// +// returnList.addAll(tmp2); +// } +// +// List checkBom = new ArrayList<>(); +// +// checkBom.addAll(unionEdit); +// checkBom.addAll(union2); +// checkBom.addAll(tmp2); +// checkBom.add(dto.getParent()); +// checkBomException(checkBom, Arrays.asList(EBomExceptionStatusEnum.EXCEPT_NO_14.getValue())); +// +// return returnList; +// } + + public void createOrder() { BomNewEbomParentEntity ent = new BomNewEbomParentEntity(); ent.setDrawingNo("testDrawingNo"); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java index aaddbc7d..3729aeaf 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java @@ -125,6 +125,23 @@ public class EBomEdit { } + public static void checkVirtualPackage(BomNewEbomChildEntity child){ + if (child.getMaterialName().contains(VirtualPackageTypeEnum.MAKING_PACKAGE.getConMaterialName())) { + child.setVirtualPartType(VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()); + child.setVirtualPartIs(1); + + } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getConMaterialName())) { + child.setVirtualPartType(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()); + child.setVirtualPartIs(1); + } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getConMaterialName())) { + child.setVirtualPartType(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue()); + child.setVirtualPartIs(1); + } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getConMaterialName())) { + child.setVirtualPartType(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()); + child.setVirtualPartIs(1); + } + } + List updateOrCreateChild(BomNewEBomParentEditDTO dto) { List childEntity = Convert.convert(new TypeReference>() { }, dto.getDatas()); @@ -137,21 +154,22 @@ public class EBomEdit { child.setTotalWeight(NumberUtil.mul(child.getUnitWeight(), child.getNum())); child.setModifyTime(LocalDateTime.now()); - if (child.getMaterialName().contains(VirtualPackageTypeEnum.MAKING_PACKAGE.getConMaterialName())) { - child.setVirtualPartType(VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()); - child.setVirtualPartIs(1); - - } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getConMaterialName())) { - child.setVirtualPartType(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()); - child.setVirtualPartIs(1); - } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getConMaterialName())) { - child.setVirtualPartType(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue()); - child.setVirtualPartIs(1); - } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getConMaterialName())) { - child.setVirtualPartType(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()); - child.setVirtualPartIs(1); - } +// if (child.getMaterialName().contains(VirtualPackageTypeEnum.MAKING_PACKAGE.getConMaterialName())) { +// child.setVirtualPartType(VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()); +// child.setVirtualPartIs(1); +// +// } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getConMaterialName())) { +// child.setVirtualPartType(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()); +// child.setVirtualPartIs(1); +// } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getConMaterialName())) { +// child.setVirtualPartType(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue()); +// child.setVirtualPartIs(1); +// } else if (child.getMaterialName().contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getConMaterialName())) { +// child.setVirtualPartType(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()); +// child.setVirtualPartIs(1); +// } + EBomEdit.checkVirtualPackage(child); //新增数据 if (child.getRowId() == null || child.getRowId().longValue() == 0) {