diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/EBomExceptionStatusEnum.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/EBomExceptionStatusEnum.java index 144c5f5d..3bf23f12 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/EBomExceptionStatusEnum.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/EBomExceptionStatusEnum.java @@ -35,9 +35,8 @@ public enum EBomExceptionStatusEnum implements ValueEnum { EXCEPT_NO_12(12, "数量需要用户确认"), EXCEPT_NO_13(13, "项目类型需要用户确认") , EXCEPT_NO_14(14, "黄色警告(下级节点存在异常)"), - EXCEPT_NO_15(15, "物料名称不一致"); - - + EXCEPT_NO_15(15, "物料名称不一致"), + EXCEPT_NO_16(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/pojo/vo/BomNewDQbomVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewDQbomVO.java index 140734bf..18996942 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewDQbomVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewDQbomVO.java @@ -42,4 +42,12 @@ public class BomNewDQbomVO extends BomNewDQbomParentEntity implements Serializab @TableField(value = "order_number") @ApiModelProperty(value = "排序号") private String orderNumber; + + /** + * 异常状态 + * @see com.nflg.product.bomnew.constant.EBomExceptionStatusEnum + */ + @TableField(value = "exception_status") + @ApiModelProperty(value = "异常状态") + private Integer exceptionStatus = -1; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java index b8dbabdd..ab8a552e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewDQbomExceptionCheckService.java @@ -13,8 +13,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -90,14 +92,20 @@ public class BomNewDQbomExceptionCheckService { assert parent != null; if ("T".equals(parent.getProjectType())) { child.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); + } else if (child.getMaterialNo().startsWith("M")) { + status = EBomExceptionStatusEnum.EXCEPT_NO_4; } else { - BaseMaterialVO materialVO = materialVOS.stream().filter(v -> v.getMaterialNo().equals(parent.getMaterialNo())).findFirst().orElse(null); + BaseMaterialVO materialVO = materialVOS.stream().filter(v -> v.getMaterialNo().equals(child.getMaterialNo())).findFirst().orElse(null); if (materialVO == null) { status = EBomExceptionStatusEnum.EXCEPT_NO_7; } else if (materialVO.getMaterialState().equals(MaterialGetEnum.MaterialStateEnum.STATE_NO_4.getValue())) { status = EBomExceptionStatusEnum.EXCEPT_NO_2; } else if (!materialVO.getMaterialName().equals(parent.getMaterialName())) { status = EBomExceptionStatusEnum.EXCEPT_NO_15; + } else if (Objects.isNull(child.getNum()) || child.getNum().equals(BigDecimal.ZERO)) { + status = EBomExceptionStatusEnum.EXCEPT_NO_4; + } else if (Objects.equals(materialVO.getMaterialUnit(), parent.getMaterialUnit())) { + status = EBomExceptionStatusEnum.EXCEPT_NO_16; } }