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),
|
MAKING_PACKAGE(2,"制作包","制作","201101","",2),
|
||||||
DIRECT_DELIVERY_PACKAGE(4,"直发包","直发","201101","F",4),
|
DIRECT_DELIVERY_PACKAGE(4,"直发包","直发","201101","F",4),
|
||||||
PRE_ASSEMBLY_PACKAGE(8,"发货前装配包","发货前装配","201101","Z",8),
|
PRE_ASSEMBLY_PACKAGE(8,"发货前装配包","发货前装配","201101","Z",8),
|
||||||
PAINT_PACKAGE(16, "油漆包", "油漆包", "201101", "", 16);
|
PAINT_PACKAGE(16, "油漆包", "油漆", "201101", "", 16);
|
||||||
|
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String description;
|
private final String description;
|
||||||
|
|
|
||||||
|
|
@ -556,8 +556,9 @@ public class EBomImportService {
|
||||||
if (!parent.getMaterialNo().startsWith("22")) {
|
if (!parent.getMaterialNo().startsWith("22")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (parent.getMaterialDesc().endsWith(")(发货)") || parent.getMaterialDesc().endsWith(")(制作)")
|
if (Objects.equals(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE, BomUtil.getVirtualPackageTypeEnum(parent.getMaterialDesc()))) {
|
||||||
|| parent.getMaterialDesc().endsWith(")(直发)") || parent.getMaterialDesc().endsWith(")(发货前装配)")) {
|
parent.setVirtualPackageIs(0);
|
||||||
|
} else {
|
||||||
parent.setVirtualPackageIs(1);
|
parent.setVirtualPackageIs(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -566,15 +567,7 @@ public class EBomImportService {
|
||||||
if (!child.getMaterialNo().startsWith("22")) {
|
if (!child.getMaterialNo().startsWith("22")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (child.getMaterialDesc().endsWith(")(发货)")) {
|
child.setVirtualPartType(BomUtil.getVirtualPackageTypeEnum(child.getMaterialDesc()).getValue());
|
||||||
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());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isEquals(BigDecimal a, BigDecimal b) {
|
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.BomNewEbomParentService;
|
||||||
import com.nflg.product.bomnew.service.MaterialMainService;
|
import com.nflg.product.bomnew.service.MaterialMainService;
|
||||||
import com.nflg.product.bomnew.service.UserRoleService;
|
import com.nflg.product.bomnew.service.UserRoleService;
|
||||||
import com.nflg.product.bomnew.util.ListCommonUtil;
|
import com.nflg.product.bomnew.util.*;
|
||||||
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
|
|
||||||
import com.nflg.product.bomnew.util.VUtils;
|
|
||||||
import com.nflg.product.bomnew.util.VersionUtil;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import nflg.product.common.constant.STATE;
|
import nflg.product.common.constant.STATE;
|
||||||
|
|
||||||
|
|
@ -161,22 +158,8 @@ public class EBomEdit {
|
||||||
public static void checkVirtualPackage(BomNewEbomChildEntity child){
|
public static void checkVirtualPackage(BomNewEbomChildEntity child){
|
||||||
if (StrUtil.equals(child.getProjectType(), BomConstant.PROJECT_TYPE_TEMPORARY)) {
|
if (StrUtil.equals(child.getProjectType(), BomConstant.PROJECT_TYPE_TEMPORARY)) {
|
||||||
child.setVirtualPartType(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue());
|
child.setVirtualPartType(VirtualPackageTypeEnum.UN_VIRTUAL_PACKAGE.getValue());
|
||||||
child.setVirtualPartIs(0);
|
} else {
|
||||||
} else if (StrUtil.isNotBlank(child.getMaterialName())) {
|
child.setVirtualPartType(BomUtil.getVirtualPackageTypeEnum(child.getMaterialDesc()).getValue());
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.nflg.product.bomnew.util;
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
@ -81,4 +82,16 @@ public class BomUtil {
|
||||||
}
|
}
|
||||||
return orderNum;
|
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