From 8cf75a32e74693804076253e1759dccc622ef9c1 Mon Sep 17 00:00:00 2001 From: 10001392 <1055202292@qq.com> Date: Mon, 14 Oct 2024 15:37:23 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BB=8ECAD=E8=8E=B7=E5=8F=96EBOM?= =?UTF-8?q?=EF=BC=8C=E5=8E=9F=E6=9D=90=E6=96=99=E5=8C=B9=E9=85=8D=E8=A7=84?= =?UTF-8?q?=E5=88=99=E4=BC=98=E5=8C=96=EF=BC=9B=202=E3=80=81EBOM=E7=BC=96?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E5=BC=82=E5=B8=B8=E7=8A=B6=E6=80=81=E4=B8=BA?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=EF=BC=8C=E5=8E=9F=E6=9D=90=E6=96=99=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=85=81=E8=AE=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/cache/MaterialMateCache.java | 15 +++++++++------ .../bomnew/service/domain/EBom/EBomEdit.java | 5 ++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java index 7d55d1cb..cbbc4721 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/cache/MaterialMateCache.java @@ -4,9 +4,10 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.nflg.product.bomnew.pojo.vo.MaterialMateVO; import com.nflg.product.bomnew.service.MaterialMainService; -import org.apache.commons.lang.StringUtils; +import java.util.HashSet; import java.util.List; +import java.util.Set; import java.util.regex.Pattern; public class MaterialMateCache { @@ -23,7 +24,6 @@ public class MaterialMateCache { public MaterialMateVO findMaterialByNameOrmaterialTexture(String materialName, String materialTexture){ for (MaterialMateVO mate : materialMateList) { StringBuilder namePatternRel= new StringBuilder(); - String texturePatternRel= ""; String namePattern=mate.getMaterialName(); List namePatternItems = StrUtil.split(namePattern,'/'); @@ -40,14 +40,17 @@ public class MaterialMateCache { } } + Set booleanSet = new HashSet<>(); if(StrUtil.isNotBlank(mate.getMaterialTexture())) { - texturePatternRel = mate.getMaterialTexture().replace('/', '|'); + List texturePatternItems = StrUtil.split(mate.getMaterialTexture(), '/'); + for (String texturePatternItem: texturePatternItems) { + // 材质应该是等于其中一个,而不是包含其中一个 modify by 10001392 + booleanSet.add(texturePatternItem.equals(StrUtil.isBlank(materialTexture)?"":materialTexture)); + } } - Pattern p = Pattern.compile(namePatternRel.toString()); - Pattern p2 = Pattern.compile(texturePatternRel); - if(p.matcher(materialName).find() && p2.matcher(StrUtil.isBlank(materialTexture)?"":materialTexture ).find()){ + if(p.matcher(materialName).find() && booleanSet.contains(Boolean.TRUE)){ return mate; } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java index 64569519..fc66d226 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java @@ -313,7 +313,10 @@ public class EBomEdit { if (ObjectUtil.isNull(childEntity.getMaterialNo())) { continue; } - + // 忽略分类代码是原材料的 + if (ObjectUtil.isNotEmpty(childEntity.getMaterialCategoryCode()) && childEntity.getMaterialCategoryCode().startsWith("1001")) { + continue; + } //检查物料id是否被修改,根据情况还可加入其他条件 if (!mapList.get(childEntity.getRowId()).getMaterialNo().equals(childEntity.getMaterialNo())) { throw new NflgBusinessException(STATE.Error, StrUtil.format("从原始Bom导入的数据,数据没有异常的情况下,{} 不可以修改 ", childEntity.getMaterialNo()));