refactor: 优化虚拟包识别
This commit is contained in:
parent
25082c28a2
commit
fad5673c64
|
|
@ -14,7 +14,7 @@ public enum VirtualPackageTypeEnum implements ValueEnum<Integer>{
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue