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 6ad44434..86fbbaed 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 @@ -309,12 +309,12 @@ public class EBomImportService { ); } - numError = datas.stream().filter(u -> Objects.isNull(u.getNum()) || BigDecimal.ZERO.compareTo(u.getNum()) >= 0) + numError = datas.stream().filter(u -> Objects.isNull(u.getNum()) || BigDecimal.ZERO.compareTo(u.getNum()) == 0) .map(BaseImportExcelDTO::getRowNum) .collect(Collectors.toList()); if (!numError.isEmpty()) { - errorMsg.addAll(numError.stream().map(n -> OperationErrorMsgVO.create("第" + n + "行", "数量不正确")) + errorMsg.addAll(numError.stream().map(n -> OperationErrorMsgVO.create("第" + n + "行", "数量不正确(不能为空或0)")) .collect(Collectors.toList()) ); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java index edc84e7e..74dc3531 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomToPbomBase.java @@ -739,20 +739,23 @@ public abstract class EBomToPbomBase { else { addEBomNew.add(parentBom.getBomRowId()); } - - //如子级都为F 项父级也不转 - Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); - if (CollUtil.isNotEmpty(projectSet)) { - if (!VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getProductTypeKey().equals(parentBom.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getProductTypeKey().equals(parentBom.getVirtualPartType()) && - (ImmutableSet.of("F").equals(projectSet) || ImmutableSet.of("F", "Z").equals(projectSet) || ImmutableSet.of("Z").equals(projectSet))) { - parentBom.setNoConvertToPBomIs(1); - parentBom.setNotToPBomForFZ(BomConstant.YES); - childDelMaterialNos.add(parentBom.getMaterialNo()); - } + } + //如子级都为F 项父级也不转 + Set projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet()); + if (CollUtil.isNotEmpty(projectSet)) { + if (!VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getProductTypeKey().equals(parentBom.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getProductTypeKey().equals(parentBom.getVirtualPartType()) && + (ImmutableSet.of("F").equals(projectSet) || ImmutableSet.of("F", "Z").equals(projectSet) || ImmutableSet.of("Z").equals(projectSet))) { + parentBom.setNoConvertToPBomIs(1); + parentBom.setNotToPBomForFZ(BomConstant.YES); + childDelMaterialNos.add(parentBom.getMaterialNo()); } } } + List FzItem = allBomDetail.stream().filter(u -> StrUtil.isNotBlank(u.getProjectType()) && ImmutableList.of("F", "Z").contains(u.getProjectType())).collect(Collectors.toList()); + FzItem.forEach(u->{ + u.setNotToPBomForFZ(BomConstant.YES); + }); //递归 F,Z项所有父级 handlerFZEmptyBom(); @@ -764,9 +767,11 @@ public abstract class EBomToPbomBase { List parentBoms = getParentForAllSubNodeIsNotToPBomForFZ(); while (CollUtil.isNotEmpty(parentBoms)){ parentBoms.forEach(u->{ - u.setNoConvertToPBomIs(1); - u.setNotToPBomForFZ(BomConstant.YES); - childDelMaterialNos.add(u.getMaterialNo()); + if (!VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getProductTypeKey().equals(u.getVirtualPartType()) && !VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getProductTypeKey().equals(u.getVirtualPartType())) { + u.setNoConvertToPBomIs(1); + u.setNotToPBomForFZ(BomConstant.YES); + childDelMaterialNos.add(u.getMaterialNo()); + } }); parentBoms = getParentForAllSubNodeIsNotToPBomForFZ(); } @@ -811,6 +816,10 @@ public abstract class EBomToPbomBase { } + List FzItem = allBomDetail.stream().filter(u -> StrUtil.isNotBlank(u.getProjectType()) && ImmutableList.of("F", "Z").contains(u.getProjectType())).collect(Collectors.toList()); + FzItem.forEach(u->{ + u.setNotToPBomForFZ(BomConstant.YES); + }); //递归 F,Z项所有父级 handlerFZEmptyBom();