From 36e0e5c2934dc67c47aae678dd0c69b1da30a5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 25 Apr 2024 14:26:01 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A6=82=E6=9E=9C=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E5=8D=95=E4=BD=8D=E8=B7=9F=E7=89=A9=E6=96=99=E4=B8=BB?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8D=95=E4=BD=8D=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=EF=BC=8C=E5=88=99=E6=8F=90=E7=A4=BA=E6=95=B0=E6=8D=AE=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewEbomParentService.java | 16 +++++------ .../bomnew/service/MaterialMainService.java | 5 +++- .../domain/EBom/CheckEBomException.java | 28 ++++++++++--------- .../nflg/product/bomnew/util/StringUtil.java | 6 ++++ 4 files changed, 33 insertions(+), 22 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 62a9594b..01438e3a 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -626,14 +626,14 @@ public class BomNewEbomParentService extends ServiceImpl list, List unCheckList) { - CheckEBomException checkEBomException = new CheckEBomException(list); - checkEBomException.setUnCheckExcept(unCheckList); - checkEBomException.checkException(); - - //保存异常 - saveException(checkEBomException); - } + // public void checkBomException(List list, List unCheckList) { + // CheckEBomException checkEBomException = new CheckEBomException(list); + // checkEBomException.setUnCheckExcept(unCheckList); + // checkEBomException.checkException(); + // + // //保存异常 + // saveException(checkEBomException); + // } /** diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java index 2796ee78..0dc86b18 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/MaterialMainService.java @@ -19,6 +19,7 @@ import com.nflg.product.bomnew.util.VUtils; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.BiConsumer; @@ -108,12 +109,14 @@ public class MaterialMainService extends ServiceImpl void intiMaterialInfo(List data , String ... ignorePropertyList) { + public List intiMaterialInfo(List data, String... ignorePropertyList) { List materialNos = data.stream().map(BaseMaterialVO::getMaterialNo).filter(StrUtil::isNotBlank).collect(Collectors.toList()); if (CollUtil.isNotEmpty(materialNos)) { List materialBaseInfos = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(materialNos); intiMaterialInfo(data, materialBaseInfos, ignorePropertyList); + return materialBaseInfos; } + return Collections.emptyList(); } public void intiMaterialInfo(List data ,List materialBaseInfos, String ... ignorePropertyList) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java index 03822e61..95f69909 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/CheckEBomException.java @@ -14,10 +14,7 @@ import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.MaterialMainService; -import com.nflg.product.bomnew.util.BomLevelUtil; -import com.nflg.product.bomnew.util.ListCommonUtil; -import com.nflg.product.bomnew.util.TreeUtils; -import com.nflg.product.bomnew.util.VUtils; +import com.nflg.product.bomnew.util.*; import lombok.Getter; import lombok.Setter; import nflg.product.common.constant.STATE; @@ -88,28 +85,27 @@ public class CheckEBomException { */ public void initException() { //初始化物料信息 - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); - checkException(); + checkException(materialBaseInfo); } public void initException(List unCheckException) { //初始化物料信息 - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); this.unCheckExcept=unCheckException; - checkException(); + checkException(materialBaseInfo); } public void initException(String... ignorePropertyList) { - - SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList); - checkException(); + List materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList); + checkException(materialBaseInfo); } - public void checkException() { + public void checkException(List materialBaseInfo) { for (BomNewEbomParentVO vo : allBomDetail) { // if(Objects.isNull(vo.getExceptionStatus())) { //忽略不检查的如14 @@ -118,7 +114,10 @@ public class CheckEBomException { && unCheckExcept.contains(vo.getExceptionStatus())) { continue; } - + BaseMaterialVO mainVO = materialBaseInfo.stream() + .filter(u -> StrUtil.equals(u.getMaterialNo(), vo.getMaterialNo())) + .findFirst() + .orElse(null); vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); // } if (StrUtil.isNotBlank(vo.getMaterialNo()) @@ -132,6 +131,9 @@ public class CheckEBomException { } else if (StrUtil.isBlank(vo.getProjectType()) && !Objects.equals(vo.getRootIs(), 1) && !Objects.equals(vo.getUserRootIs(), 1) && !Objects.equals(vo.getRootIsForWaitReview(), 1)) { vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_8.getValue()); + } else if ((StrUtil.equals("KG", StringUtil.toUpperCase(vo.getMaterialUnit())) && !StrUtil.equals(StringUtil.toUpperCase(vo.getMaterialUnit()), "PC")) + || (!Objects.isNull(mainVO) && !StrUtil.equals(vo.getMaterialUnit(), mainVO.getMaterialUnit()))) { + vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_12.getValue()); } else if (StrUtil.isNotBlank(vo.getNoticeNums()) && EBomExceptionStatusEnum.EXCEPT_NO_11.equalsValue(vo.getExceptionStatus())) { vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue()); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java index 3bcdf746..bf9642bd 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/StringUtil.java @@ -1,5 +1,6 @@ package com.nflg.product.bomnew.util; +import cn.hutool.core.util.StrUtil; import org.apache.commons.lang3.StringUtils; /** @@ -134,4 +135,9 @@ public class StringUtil { } return count; } + + public static String toUpperCase(String str) { + if (StrUtil.isBlank(str)) return str; + return str.toUpperCase(); + } }