From df856477cbf1c7ee86c7378da478d4a6f799b096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 16 Jan 2024 18:39:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E5=8C=85=E5=9B=BE=E5=8F=B7+?= =?UTF-8?q?=E8=BD=ACEbom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/pojo/vo/BomNewEbomParentVO.java | 2 +- .../domain/EBom/VirtualPackageBase.java | 38 +++++++++++++------ .../domain/EBom/VirtualPackageFor21.java | 4 +- .../domain/EBom/VirtualPackageFor31.java | 4 +- 4 files changed, 32 insertions(+), 16 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java index 4fd1d6da..2baed037 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java @@ -313,7 +313,7 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable { private Integer virtualPartIs; @ApiModelProperty("0-非虚拟包 1-发货包 2-制作包 4-直发包 8-发货前装配包") - private Integer virtualPartType; + private Integer virtualPartType=0; @ApiModelProperty("生成虚拟包的跟节点物料编码") private String virtualPartRootMaterialNo; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java index 9721dc72..3b4d8a3b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageBase.java @@ -61,11 +61,31 @@ public abstract class VirtualPackageBase { * @param virtualPackageTypeEnums * @return */ - protected void generateVMNo(List child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){ + protected void generateVMNoFor31(String parentDrawingNo, List child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){ List params=new ArrayList<>(); for ( BomNewEbomParentVO ch: child ) { for (VirtualPackageTypeEnum vpy : virtualPackageTypeEnums) { - params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), ch.getDrawingNo(), ch.getMaterialName(), vpy)); + String vDrawingNo = String.join("","(",parentDrawingNo,")","(",ch.getMaterialName(),")","(",vpy.getConMaterialName(),")" ); + params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), vDrawingNo, vDrawingNo, vpy)); + } + } + List addM = params.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); + vMNos= SpringUtil.getBean(MaterialService.class).batchAddMaterial(addM); + + } + + /** + * 申请虚拟包 + * @param child + * @param virtualPackageTypeEnums + * @return + */ + protected void generateVMNoF21(String materialDesc, List child,VirtualPackageTypeEnum ... virtualPackageTypeEnums){ + List params=new ArrayList<>(); + for ( BomNewEbomParentVO ch: child ) { + for (VirtualPackageTypeEnum vpy : virtualPackageTypeEnums) { + String vDrawingNo = String.join("","(",materialDesc,")","(",vpy.getConMaterialName(),")" ); + params.add(buildAddMaterialParamDo(StrUtil.join("",ch.getRowId().toString(), vpy.getConMaterialName()), vDrawingNo, vDrawingNo, vpy)); } } List addM = params.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); @@ -76,16 +96,12 @@ public abstract class VirtualPackageBase { //申请物料编码 private AddVirtrualMaterialDTO buildAddMaterialParamDo(String key, String drawingNo, String materialName, VirtualPackageTypeEnum virtualPackageType){ - String vDrawingNo = String.join("","(",drawingNo,")","(",virtualPackageType.getConMaterialName(),")" ); - String vMaterialName = StrUtil.join("","(",materialName,")","(",virtualPackageType.getConMaterialName(),")"); - String vMaterialDesc = StrUtil.join("", "(",drawingNo,")" ,"(", materialName,")","(",virtualPackageType.getConMaterialName(),")"); - - List oldMaterialList = SpringUtil.getBean(MaterialMainService.class).lambdaQuery().eq(MaterialMainEntity::getDrawingNo, vDrawingNo) + List oldMaterialList = SpringUtil.getBean(MaterialMainService.class).lambdaQuery().eq(MaterialMainEntity::getDrawingNo, drawingNo) .list(); AddVirtrualMaterialDTO ent=new AddVirtrualMaterialDTO(); if(CollUtil.isNotEmpty(oldMaterialList)){ ent.setKey(key); - ent.setDrawingNo(vDrawingNo); + ent.setDrawingNo(drawingNo); ent.setMaterialNo(oldMaterialList.get(0).getMaterialNo()); ent.setMaterialName(oldMaterialList.get(0).getMaterialName()); ent.setMaterialDesc(oldMaterialList.get(0).getMaterialDesc()); @@ -93,9 +109,9 @@ public abstract class VirtualPackageBase { } else { ent.setKey(key); - ent.setDrawingNo(vDrawingNo); - ent.setMaterialName(vMaterialName); - ent.setMaterialDesc(vMaterialDesc); + ent.setDrawingNo(drawingNo); + ent.setMaterialName(materialName); + ent.setMaterialDesc(materialName); ent.setMaterialCategoryCode(virtualPackageType.getMaterialCategoryCode()); } return ent; diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java index 3483fd02..0cc1f7e6 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor21.java @@ -45,10 +45,10 @@ public class VirtualPackageFor21 extends VirtualPackageBase { BomNewEbomParentVO vo= Convert.convert(BomNewEbomParentVO.class,parent ); if(virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (parent.getVirtrualPackageEnum()| VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue())!=VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()){ - generateVMNo(ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); + generateVMNoF21(parent.getMaterialDesc(), ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); } else { - generateVMNo(ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); + generateVMNoF21(parent.getMaterialDesc(),ImmutableList.of(vo),VirtualPackageTypeEnum.MAKING_PACKAGE, VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor31.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor31.java index 9080cd0c..ed8afcca 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor31.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/VirtualPackageFor31.java @@ -44,11 +44,11 @@ public class VirtualPackageFor31 extends VirtualPackageBase { //生成虚拟包 if(CollUtil.isNotEmpty(child)) { if (virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue() & parent.getVirtrualPackageEnum()) != VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()){ - generateVMNo(child , VirtualPackageTypeEnum.DELIVERY_PACKAGE,VirtualPackageTypeEnum.MAKING_PACKAGE + generateVMNoFor31(parent.getDrawingNo(), child , VirtualPackageTypeEnum.DELIVERY_PACKAGE,VirtualPackageTypeEnum.MAKING_PACKAGE ,VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE); } else { - generateVMNo(child, VirtualPackageTypeEnum.DELIVERY_PACKAGE, VirtualPackageTypeEnum.MAKING_PACKAGE + generateVMNoFor31(parent.getDrawingNo(),child, VirtualPackageTypeEnum.DELIVERY_PACKAGE, VirtualPackageTypeEnum.MAKING_PACKAGE , VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE); }