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 1/2] =?UTF-8?q?1=E3=80=81=E4=BB=8ECAD=E8=8E=B7=E5=8F=96EBO?= =?UTF-8?q?M=EF=BC=8C=E5=8E=9F=E6=9D=90=E6=96=99=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E8=A7=84=E5=88=99=E4=BC=98=E5=8C=96=EF=BC=9B=202=E3=80=81EBOM?= =?UTF-8?q?=E7=BC=96=E8=BE=91=EF=BC=8C=E5=BC=82=E5=B8=B8=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=BA=E6=AD=A3=E5=B8=B8=EF=BC=8C=E5=8E=9F=E6=9D=90=E6=96=99?= =?UTF-8?q?=E7=89=A9=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())); From 66f14275cdf6b571ba474ad83a6d7e9d7c9e7cca Mon Sep 17 00:00:00 2001 From: 10001392 <1055202292@qq.com> Date: Mon, 14 Oct 2024 16:05:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?EBOM=E7=BC=96=E8=BE=91=EF=BC=8C=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E7=8A=B6=E6=80=81=E4=B8=BA=E6=AD=A3=E5=B8=B8=EF=BC=8C?= =?UTF-8?q?=E5=8E=9F=E6=9D=90=E6=96=99=E7=89=A9=E6=96=99=E5=85=81=E8=AE=B8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/product/bomnew/service/domain/EBom/EBomEdit.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 fc66d226..1bff6eb8 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,8 +313,10 @@ public class EBomEdit { if (ObjectUtil.isNull(childEntity.getMaterialNo())) { continue; } + // 忽略分类代码是原材料的 - if (ObjectUtil.isNotEmpty(childEntity.getMaterialCategoryCode()) && childEntity.getMaterialCategoryCode().startsWith("1001")) { + List materialBaseInfos = SpringUtil.getBean(MaterialMainService.class).getMaterialBaseInfo(Collections.singletonList(childEntity.getMaterialNo())); + if (CollUtil.isNotEmpty(materialBaseInfos) && materialBaseInfos.get(0).getMaterialCategoryCode().startsWith("1001")) { continue; } //检查物料id是否被修改,根据情况还可加入其他条件