ebom转PBOM
This commit is contained in:
parent
bbcc2d5fb1
commit
802203f4d4
|
|
@ -83,6 +83,9 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable {
|
|||
@ApiModelProperty(value = "数量")
|
||||
private BigDecimal num;
|
||||
|
||||
public BigDecimal getNum() {
|
||||
return num==null?null:num.stripTrailingZeros();
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否跟节点 0-否 1-是
|
||||
|
|
@ -311,6 +314,10 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable {
|
|||
@ApiModelProperty("原始数量")
|
||||
private BigDecimal originalNum;
|
||||
|
||||
public BigDecimal getOriginalNum() {
|
||||
return originalNum==null?null:originalNum.stripTrailingZeros();
|
||||
}
|
||||
|
||||
@ApiModelProperty("原始项目类别")
|
||||
private String originalProjectType;
|
||||
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ public abstract class EBomToPbomBase {
|
|||
for (BomNewPbomParentVO oldPBomUpdateChild : oldPBomUpdateChildren) {
|
||||
if (!oldPBomUpdateChild.getOriginalMaterialNo().equals(oldPBomUpdateChild.getMaterialNo()) || !oldPBomUpdateChild.getOriginalProjectType().equals(oldPBomUpdateChild.getProjectType()) || !oldPBomUpdateChild.getOriginalNum().equals(oldPBomUpdateChild.getNum())) {
|
||||
List<BomNewEbomParentVO> upEnts = newBomChildren.stream().filter(u -> u.getMaterialNo().equals(oldPBomUpdateChild.getOriginalMaterialNo())
|
||||
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && u.getNum().equals(oldPBomUpdateChild.getOriginalNum())).collect(Collectors.toList());
|
||||
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && VUtils.compareSafely(u.getNum(), oldPBomUpdateChild.getOriginalNum())==0).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(upEnts)) {
|
||||
buildPBomAddChild(parent, facCode, oldPBomUpdateChild);
|
||||
newBomChildren.remove(upEnts.get(0));
|
||||
|
|
|
|||
|
|
@ -276,7 +276,7 @@ public abstract class FormalEBomToPbomBase {
|
|||
for (BomNewPbomParentVO oldPBomUpdateChild : oldPBomUpdateChildren) {
|
||||
if (!oldPBomUpdateChild.getOriginalMaterialNo().equals(oldPBomUpdateChild.getMaterialNo()) || !oldPBomUpdateChild.getOriginalProjectType().equals(oldPBomUpdateChild.getProjectType()) || !oldPBomUpdateChild.getOriginalNum().equals(oldPBomUpdateChild.getNum())) {
|
||||
List<BomNewEbomParentVO> upEnts = newBomChildren.stream().filter(u -> u.getMaterialNo().equals(oldPBomUpdateChild.getOriginalMaterialNo())
|
||||
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && u.getNum().equals(oldPBomUpdateChild.getOriginalNum())).collect(Collectors.toList());
|
||||
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && VUtils.compareSafely(u.getNum(),oldPBomUpdateChild.getOriginalNum())==0).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(upEnts)) {
|
||||
upEnts.get(0).setMaterialNo(oldPBomUpdateChild.getMaterialNo());
|
||||
upEnts.get(0).setNum(oldPBomUpdateChild.getNum());
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.nflg.product.bomnew.inteface.ThrowExceptionFunction;
|
|||
import com.nflg.product.bomnew.inteface.TrueHandleFunction;
|
||||
import nflg.product.common.constant.STATE;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
|
|
@ -89,4 +90,16 @@ public class VUtils {
|
|||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public static int compareSafely(BigDecimal a, BigDecimal b) {
|
||||
if (a == null && b == null) {
|
||||
return 0; // 两个都是null,认为相等
|
||||
} else if (a == null) {
|
||||
return -1; // 只有a是null,认为a更小
|
||||
} else if (b == null) {
|
||||
return -1; // 只有b是null,认为b更小
|
||||
} else {
|
||||
return a.compareTo(b); // 两个都不为null,直接比较
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue