From 349862a0dec1026b6bd1ae796fd68a52e48f9517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Fri, 12 Apr 2024 15:53:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E4=B8=8D=E4=B8=80=E8=87=B4=E7=9A=84=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/constant/EBomExceptionStatusEnum.java | 5 ++--- .../com/nflg/product/bomnew/pojo/vo/BomNewDQbomVO.java | 8 ++++++++ .../service/BomNewDQbomExceptionCheckService.java | 10 +++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) 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; } }