From 56b7b9a8e6f5d6acd26fcd5890f5120c91e6fc4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 26 May 2024 11:31:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(ebom):=20=E4=BF=AE=E5=A4=8D=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E4=BB=B6=E4=B8=BA=E6=9C=AA=E6=AD=A3=E7=A1=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/service/BomNewEbomParentService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 a224bc21..e28af5db 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 @@ -387,7 +387,8 @@ public class BomNewEbomParentService extends ServiceImpl Date: Sun, 26 May 2024 14:58:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(ebom):=20=E4=BC=98=E5=8C=96updateEBomMa?= =?UTF-8?q?terialUse=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg/product/bomnew/api/user/EbomV2Api.java | 6 +++--- .../product/bomnew/api/user/OriginalBomApi.java | 2 -- .../mapper/master/BomNewEbomChildMapper.java | 3 ++- .../bomnew/service/BomNewEbomChildService.java | 8 ++++++++ .../bomnew/service/BomNewEbomParentService.java | 10 +++++----- .../service/BomNewOriginalParentService.java | 2 ++ .../mapper/master/BomNewEbomChildMapper.xml | 14 +++++++++++--- 7 files changed, 31 insertions(+), 14 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomV2Api.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomV2Api.java index d5b3f4c7..58e8d8f5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomV2Api.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/EbomV2Api.java @@ -3,9 +3,9 @@ package com.nflg.product.bomnew.api.user; import cn.hutool.core.collection.CollUtil; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.conmon.util.SessionUtil; -import com.nflg.product.bomnew.mapper.master.BomNewEbomChildMapper; import com.nflg.product.bomnew.pojo.entity.BomOriginalCadParentEntity; import com.nflg.product.bomnew.pojo.vo.ImportOriginalBomVO; +import com.nflg.product.bomnew.service.BomNewEbomChildService; import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.BomNewOriginalParentV2Service; import com.nflg.product.bomnew.service.BomOriginalCadParentService; @@ -38,7 +38,7 @@ public class EbomV2Api extends BaseApi { @Resource BomNewOriginalParentV2Service originalParentV2Service; @Resource - BomNewEbomChildMapper bomNewEbomChildMapper; + BomNewEbomChildService ebomChildService; @Resource BomNewEbomParentService ebomParentService; @@ -56,7 +56,7 @@ public class EbomV2Api extends BaseApi { result = originalParentV2Service.pullFromCadAndToEBom(parents); //更新物料使用 - bomNewEbomChildMapper.updateEBomMaterialUse(); + ebomChildService.updateEBomMaterialUse(parents.stream().map(BomOriginalCadParentEntity::getMaterialNo).collect(Collectors.toSet())); //跟新EBom 根节点 ebomParentService.getBaseMapper().updateRootState(); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java index 4d243fac..bdbac7e8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java @@ -162,8 +162,6 @@ public class OriginalBomApi extends BaseApi { VUtils.isTure(CollUtil.isEmpty(bomRowIds)).throwMessage("请选择要转换的BOM"); VUtils.isTure(bomRowIds.size() > 20).throwMessage("你选择的BOM数据大于20"); List result = originalParentService.convertToEBom(bomRowIds); - //更新物料使用 - bomNewEbomChildMapper.updateEBomMaterialUse(); //更新-原始BOM跟节点 CompletableFuture.runAsync(() -> { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomChildMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomChildMapper.java index fca209eb..3fcacd4d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomChildMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomChildMapper.java @@ -5,6 +5,7 @@ import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import com.nflg.product.bomnew.pojo.vo.ChildMaxExceptionStateVO; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; /** @@ -21,7 +22,7 @@ public interface BomNewEbomChildMapper extends BaseMapper /** * 全量更新-EBOM物料use */ - void updateEBomMaterialUse(); + void updateEBomMaterialUse(Collection materialNos); List getChildMaxExceptionState(@Param("bomRowIds") List bomRowIds); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomChildService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomChildService.java index 4e6741ee..730bff26 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomChildService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomChildService.java @@ -5,6 +5,9 @@ import com.nflg.product.bomnew.mapper.master.BomNewEbomChildMapper; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity; import org.springframework.stereotype.Service; +import java.util.Collection; +import java.util.concurrent.CompletableFuture; + /** * t_bom_new_ebom_child 表服务实现类 @@ -16,4 +19,9 @@ import org.springframework.stereotype.Service; @Service public class BomNewEbomChildService extends ServiceImpl { + public CompletableFuture updateEBomMaterialUse(Collection materialNos) { + return CompletableFuture.runAsync(() -> { + baseMapper.updateEBomMaterialUse(materialNos); + }); + } } 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 75c27951..ef86e871 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 @@ -1147,12 +1147,12 @@ public class BomNewEbomParentService extends ServiceImpl materialNos) { //计算树的层级数 // CompletableFuture.runAsync(() -> { try { this.getBaseMapper().updateRootState(); - ebomChildService.getBaseMapper().updateEBomMaterialUse(); + ebomChildService.updateEBomMaterialUse(materialNos); //this.compucteLevelNum(); } catch (Exception e) { @@ -1275,7 +1275,7 @@ public class BomNewEbomParentService extends ServiceImpl computeLevelNumAndRootState()); - computeLevelNumAndRootState(); + computeLevelNumAndRootState(eBomDel.getDelEBom().stream().map(BomNewEbomParentVO::getMaterialNo).collect(Collectors.toSet())); } return true; @@ -1896,7 +1896,7 @@ public class BomNewEbomParentService extends ServiceImpl computeLevelNumAndRootState()); if (eBomEdit.isRootForWaitReview()) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java index 1a814db6..51d66d25 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java @@ -648,6 +648,8 @@ public class BomNewOriginalParentService extends ServiceImpl SET @@global.group_concat_max_len=804800; - TRUNCATE TABLE t_bom_new_ebom_material_use; - INSERT INTO `t_bom_new_ebom_material_use` (`row_id`, `material_no`, `parent_material_no`) + DELETE FROM t_bom_new_ebom_material_use + WHERE material_no IN + + #{materialNo} + ; + INSERT INTO `t_bom_new_ebom_material_use` (`row_id`, `material_no`, `parent_material_no`) select min(b.row_id) rowId, b.material_no, GROUP_CONCAt( distinct a.material_no) as value_list from t_bom_new_ebom_parent a join t_bom_new_ebom_child b on a.row_id=b.parent_row_id and a.last_version_is=1 - group by b.material_no ; + WHERE b.material_no IN + + #{materialNo} + + group by b.material_no;