diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/VirtualPackageTypeEnum.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/VirtualPackageTypeEnum.java index 1c7cf273..b2bf1636 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/VirtualPackageTypeEnum.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/VirtualPackageTypeEnum.java @@ -14,7 +14,7 @@ public enum VirtualPackageTypeEnum implements ValueEnum{ MAKING_PACKAGE(2,"制作包","制作","201101","",2), DIRECT_DELIVERY_PACKAGE(4,"直发包","直发","201101","F",4), PRE_ASSEMBLY_PACKAGE(8,"发货前装配包","发货前装配","201101","Z",8), - PAINT_PACKAGE(16, "油漆包", "油漆包", "201101", "", 16); + PAINT_PACKAGE(16, "油漆包", "油漆", "201101", "", 16); private final Integer value; private final String description; 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 863512a5..6ad44434 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 @@ -556,8 +556,9 @@ public class EBomImportService { if (!parent.getMaterialNo().startsWith("22")) { return; } - if (parent.getMaterialDesc().endsWith(")(发货)") || parent.getMaterialDesc().endsWith(")(制作)") - || parent.getMaterialDesc().endsWith(")(直发)") || parent.getMaterialDesc().endsWith(")(发货前装配)")) { + if (Objects.equals(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE, BomUtil.getVirtualPackageTypeEnum(parent.getMaterialDesc()))) { + parent.setVirtualPackageIs(0); + } else { parent.setVirtualPackageIs(1); } } @@ -566,15 +567,7 @@ public class EBomImportService { if (!child.getMaterialNo().startsWith("22")) { return; } - if (child.getMaterialDesc().endsWith(")(发货)")) { - child.setVirtualPartType(VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()); - } else if (child.getMaterialDesc().endsWith(")(制作)")) { - child.setVirtualPartType(VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()); - } else if (child.getMaterialDesc().endsWith(")(直发)")) { - child.setVirtualPartType(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue()); - } else if (child.getMaterialDesc().endsWith(")(发货前装配)")) { - child.setVirtualPartType(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()); - } + child.setVirtualPartType(BomUtil.getVirtualPackageTypeEnum(child.getMaterialDesc()).getValue()); } private boolean isEquals(BigDecimal a, BigDecimal b) { 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 6178860f..65908e87 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 @@ -21,10 +21,7 @@ import com.nflg.product.bomnew.service.BomNewEbomChildService; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.service.UserRoleService; -import com.nflg.product.bomnew.util.ListCommonUtil; -import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil; -import com.nflg.product.bomnew.util.VUtils; -import com.nflg.product.bomnew.util.VersionUtil; +import com.nflg.product.bomnew.util.*; import lombok.Getter; import nflg.product.common.constant.STATE; @@ -161,22 +158,8 @@ public class EBomEdit { public static void checkVirtualPackage(BomNewEbomChildEntity child){ if (StrUtil.equals(child.getProjectType(), BomConstant.PROJECT_TYPE_TEMPORARY)) { child.setVirtualPartType(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue()); - child.setVirtualPartIs(0); - } else if (StrUtil.isNotBlank(child.getMaterialName())) { - 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); - } + } else { + child.setVirtualPartType(BomUtil.getVirtualPackageTypeEnum(child.getMaterialDesc()).getValue()); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/BomUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/BomUtil.java index f5e464fd..40d9ab82 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/BomUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/BomUtil.java @@ -2,6 +2,7 @@ package com.nflg.product.bomnew.util; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; +import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; import java.math.BigDecimal; import java.util.Objects; @@ -81,4 +82,16 @@ public class BomUtil { } return orderNum; } + + public static VirtualPackageTypeEnum getVirtualPackageTypeEnum(String content) { + if (StrUtil.isBlank(content)) { + return VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE; + } + for (VirtualPackageTypeEnum virtualPackageTypeEnum : VirtualPackageTypeEnum.values()) { + if (content.endsWith("(" + virtualPackageTypeEnum.getConMaterialName() + ")")) { + return virtualPackageTypeEnum; + } + } + return VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE; + } } diff --git a/nflg_project_dev/nflg-bom-new/src/test/java/com/nflg/product/bomnew/service/test/BomUtilTest.java b/nflg_project_dev/nflg-bom-new/src/test/java/com/nflg/product/bomnew/service/test/BomUtilTest.java new file mode 100644 index 00000000..fc2b5454 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/test/java/com/nflg/product/bomnew/service/test/BomUtilTest.java @@ -0,0 +1,55 @@ +package com.nflg.product.bomnew.service.test; + +import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum; +import com.nflg.product.bomnew.util.BomUtil; +import org.junit.Assert; +import org.junit.Test; + +/** + * @author 曹鹏飞 + * @date 2024/8/3 15:52:56 + */ +public class BomUtilTest { + + @Test + public void test1() { + String content = "XXXXX(发货)"; + Assert.assertEquals(VirtualPackageTypeEnum.DELIVERY_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test2() { + String content = "XXXXX(制作)"; + Assert.assertEquals(VirtualPackageTypeEnum.MAKING_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test3() { + String content = "XXXXX(直发)"; + Assert.assertEquals(VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test4() { + String content = "XXXXX(发货前装配)"; + Assert.assertEquals(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test5() { + String content = "XXXXX(油漆)"; + Assert.assertEquals(VirtualPackageTypeEnum.PAINT_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test6() { + String content = "XXXXX(对方的)"; + Assert.assertEquals(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } + + @Test + public void test7() { + String content = "XXXXX直发"; + Assert.assertEquals(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE, BomUtil.getVirtualPackageTypeEnum(content)); + } +}