From cc31695be96ad79138b9b522f64142bb9c60388e Mon Sep 17 00:00:00 2001 From: 10002327 Date: Sat, 12 Oct 2024 16:11:29 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1=E3=80=81BOM=E5=AE=8C=E6=95=B4=E6=80=A7?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E5=8A=A0=E8=BD=BD=E4=B8=AD=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=EF=BC=8C=E8=A1=A8=E5=8D=95=E5=88=97=E8=A1=A8=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E3=80=81=E6=94=AF=E6=8C=81=E4=B8=8B=E8=BD=BD=202?= =?UTF-8?q?=E3=80=8110=E3=80=8140=E3=80=8150=E3=80=8160=E3=80=8170?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E4=BB=A5=E5=8F=8A200201=E5=B0=8F=E7=B1=BB?= =?UTF-8?q?=E8=BF=99=E4=BA=9B=E4=B8=8D=E9=9C=80=E8=A6=81BOM=E7=9A=84?= =?UTF-8?q?=E7=89=A9=E6=96=99=EF=BC=8C=E7=89=88=E6=9C=AC=E5=8F=B7=E6=98=BE?= =?UTF-8?q?=E7=A4=BAB00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/PBomApi.java | 8 ++++- .../bomnew/constant/OriginalConstant.java | 3 ++ .../product/bomnew/pojo/vo/CheckBomVO.java | 32 +++++++++++++++++++ .../service/BomNewPbomParentService.java | 25 ++++++++++----- .../util/MaterialshouldBomExistUtil.java | 13 ++++++++ 5 files changed, 72 insertions(+), 9 deletions(-) create mode 100644 nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/CheckBomVO.java diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java index 89ed62e8..183b91c3 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/PBomApi.java @@ -433,10 +433,16 @@ public class PBomApi extends BaseApi { @GetMapping("checkBomExist") @ApiOperation("BOM完整性检查") - public ResultVO> checkBomExist(@Valid @RequestParam("bomRowId") @NotNull Long bomRowId, + public ResultVO> checkBomExist(@Valid @RequestParam("bomRowId") @NotNull Long bomRowId, @Valid @RequestParam("type") @NotNull Integer type){ return ResultVO.success(bomNewPbomParentService.checkBomExist(bomRowId,type)); } + @PostMapping("checkBomExport") + @ApiOperation("BOM完整性检查结果导出") + public void checkBomExport(@Valid @RequestBody @NotNull List messages + , HttpServletResponse response) throws IOException { + EecExcelUtil.export(response, messages, CheckBomVO.class, "缺BOM信息"); + } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/OriginalConstant.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/OriginalConstant.java index 0d338063..ca0036d6 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/OriginalConstant.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/constant/OriginalConstant.java @@ -13,4 +13,7 @@ public class OriginalConstant { public static final String NO_BOM_VERSION="A-1"; public static final String DEFAULT_BOM_VERSION="A00"; + + //不需要有BOM的版本号 10、40、50、60、70大类以及200201小类这些不需要BOM的物料,版本号显示B00 + public static final String NO_NEED_BOM = "B00"; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/CheckBomVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/CheckBomVO.java new file mode 100644 index 00000000..c33774b6 --- /dev/null +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/CheckBomVO.java @@ -0,0 +1,32 @@ +package com.nflg.product.bomnew.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.ttzero.excel.annotation.ExcelColumn; + +import java.io.Serializable; + +/** + * packageName com.nflg.product.bomnew.pojo.vo + * + * @author luohj + * @className CheckBomVO + * @date 2024/10/12 0012 + * @description BOM完整性检查 + */ +@Data +@Accessors(chain = true) +public class CheckBomVO implements Serializable { + + @ApiModelProperty(value = "路径") + @ExcelColumn("路径") + private String path; + + @ApiModelProperty(value = "路径中最后一个BOM") + private String lastBom; + + @ApiModelProperty(value = "图号") + @ExcelColumn("图号") + private String drawingNo; +} \ No newline at end of file diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 7fb0acd1..e5a762a1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -392,7 +392,11 @@ public class BomNewPbomParentService extends ServiceImpl checkBomExist(Long bomRowId, Integer type){ - List rList = Lists.newArrayList(); + public List checkBomExist(Long bomRowId, Integer type){ + List checkBomList = Lists.newArrayList(); BomNewPbomParentEntity parent = this.getById(bomRowId); VUtils.isTure(parent == null).throwMessage("该BOM不存在:" + bomRowId); - checkChild(rList,parent,type,1,parent.getMaterialNo()); - return rList; + checkChild(checkBomList,parent,type,1,parent.getMaterialNo()); + return checkBomList; } - private void checkChild(List rList,BomNewPbomParentEntity parent, Integer type,int currLevel,String currNos){ + private void checkChild(List checkBomList ,BomNewPbomParentEntity parent, Integer type,int currLevel,String currNos){ List cList = getChild(parent,type); List bomRowIdList = cList.stream().filter(c -> c.getBomRowId() > 0).map(BomNewPbomParentVO::getBomRowId).distinct().collect(Collectors.toList()); List pList = Lists.newArrayList(); @@ -2030,12 +2034,17 @@ public class BomNewPbomParentService extends ServiceImpl { if(StrUtil.equalsIgnoreCase(OriginalConstant.NO_BOM_VERSION,c.getCurrentVersion())){ - rList.add(currNos + " > " + c.getMaterialNo()); + //rList.add(currNos + " > " + c.getMaterialNo()); + CheckBomVO checkBomVO = new CheckBomVO(); + checkBomVO.setPath(currNos + " > " + c.getMaterialNo()); + checkBomVO.setLastBom(c.getMaterialNo()); + checkBomVO.setDrawingNo(c.getDrawingNo()); + checkBomList.add(checkBomVO); } //不为空则进行递归 currLevel < 200 不再递归判断为死循环 if(finalPMap.get(c.getBomRowId()) != null && currLevel < 200){ finalCurrLevel.getAndIncrement(); - checkChild(rList,finalPMap.get(c.getBomRowId()),type, finalCurrLevel.get(),currNos + " > " + finalPMap.get(c.getBomRowId()).getMaterialNo()); + checkChild(checkBomList,finalPMap.get(c.getBomRowId()),type, finalCurrLevel.get(),currNos + " > " + finalPMap.get(c.getBomRowId()).getMaterialNo()); } }); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MaterialshouldBomExistUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MaterialshouldBomExistUtil.java index 559cf1ab..c9171ffb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MaterialshouldBomExistUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/MaterialshouldBomExistUtil.java @@ -7,6 +7,7 @@ import com.nflg.product.bomnew.constant.OriginalConstant; import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO; import java.util.List; +import java.util.Objects; /** * 判断物料是否应该有BOM @@ -36,4 +37,16 @@ public class MaterialshouldBomExistUtil { (materialCategoryCode.startsWith("20") && MaterialGetEnum.developing.equalsValue(materialGetType))); } + + public static boolean checkNoNeedBom(BaseMaterialVO material){ + //10、40、50、60、70大类以及200201小类这些不需要BOM的物料,版本号显示B00 by 10002327 241012 + return material != null && StrUtil.isNotBlank(material.getMaterialCategoryCode()) + && (material.getMaterialCategoryCode().startsWith("10") || + material.getMaterialCategoryCode().startsWith("40") || + material.getMaterialCategoryCode().startsWith("50") || + material.getMaterialCategoryCode().startsWith("60") || + material.getMaterialCategoryCode().startsWith("70") || + Objects.equals("200201",material.getMaterialCategoryCode()) + ); + } } From fb7ac3f813b4188c824c60e34574b09c68dacf5a Mon Sep 17 00:00:00 2001 From: 10002327 Date: Mon, 14 Oct 2024 09:43:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?EBOM=2010=E3=80=8140=E3=80=8150=E3=80=8160?= =?UTF-8?q?=E3=80=8170=E5=A4=A7=E7=B1=BB=E4=BB=A5=E5=8F=8A200201=E5=B0=8F?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E7=89=88=E6=9C=AC=E5=8F=B7=E6=98=BE=E7=A4=BA?= =?UTF-8?q?B00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 5 ++++- .../nflg/product/bomnew/service/BomNewPbomParentService.java | 3 +-- 2 files changed, 5 insertions(+), 3 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 1b36fdac..228b74a4 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 @@ -443,7 +443,10 @@ public class BomNewEbomParentService extends ServiceImpl