From 3762a37841a8064acf84fdc8d842d3e61b97283f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Thu, 20 Jun 2024 15:33:30 +0800 Subject: [PATCH] =?UTF-8?q?optimize(ebom):=20=E4=BC=98=E5=8C=96=E6=80=A7?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/api/user/OriginalBomApi.java | 2 -- .../mapper/master/BomNewEbomParentMapper.java | 2 +- .../service/BomNewEbomParentService.java | 32 +++++++++++-------- .../service/BomNewOriginalParentService.java | 2 ++ .../mapper/master/BomNewEbomParentMapper.xml | 5 ++- 5 files changed, 26 insertions(+), 17 deletions(-) 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 bdbac7e8..dbdb262e 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 @@ -174,8 +174,6 @@ public class OriginalBomApi extends BaseApi { ebomParentService.getBaseMapper().updateRootState(); ebomParentService.getBaseMapper().updateRootForWaitReview(); - ebomParentService.resetAllBomExist(); - return ResultVO.success(result); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomParentMapper.java index c48134bb..65c9edc1 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewEbomParentMapper.java @@ -77,7 +77,7 @@ public interface BomNewEbomParentMapper extends BaseMapper getMaterialParent(@Param("materialNos") Collection materialNos ,@Param("createdBy") String createdBy); - void resetAllBomExist(); + void resetAllBomExist(Set materialNos); List getEBomParentByMaterialNos(@Param("job") Integer job, @Param("createdBy")String createdBy, @Param("materialNos") List 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 5acc7b6c..4e89b92a 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 @@ -16,7 +16,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.mzt.logapi.context.LogRecordContext; import com.nflg.product.base.core.conmon.util.SessionUtil; @@ -1910,16 +1909,23 @@ public class BomNewEbomParentService extends ServiceImpl 0 ).collect(Collectors.toList()); - List updateList = new ArrayList<>(); - for (BomNewEbomParentVO vo : superTagList) { - BomNewEbomParentEntity entity = new BomNewEbomParentEntity(); - entity.setRowId(vo.getBomRowId()); - entity.setSuperMaterialStatus(vo.getSuperMaterialStatus()); - updateList.add(entity); - } - - if (CollectionUtil.isNotEmpty(updateList)) { - this.updateBatchById(updateList); + if (CollectionUtil.isNotEmpty(superTagList)) { + List list = lambdaQuery() + .in(BomNewEbomParentEntity::getRowId, superTagList.stream().map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toSet())) + .list(); + List updateList = new ArrayList<>(); + for (BomNewEbomParentVO vo : superTagList) { + if (list.stream().noneMatch(l -> l.getRowId().equals(vo.getBomRowId()) + && Objects.equals(l.getSuperMaterialStatus(), vo.getSuperMaterialStatus()))) { + BomNewEbomParentEntity entity = new BomNewEbomParentEntity(); + entity.setRowId(vo.getBomRowId()); + entity.setSuperMaterialStatus(vo.getSuperMaterialStatus()); + updateList.add(entity); + } + } + if (CollUtil.isNotEmpty(updateList)) { + this.updateBatchById(updateList); + } } @@ -2279,9 +2285,9 @@ public class BomNewEbomParentService extends ServiceImpl materialNos) { log.debug("resetAllBomExist"); - this.getBaseMapper().resetAllBomExist(); + this.getBaseMapper().resetAllBomExist(materialNos); } public Page workDetailsListByPageNew(BomNewEbomParentQuery query) { 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 51d66d25..bab9d24e 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 @@ -622,6 +622,8 @@ public class BomNewOriginalParentService extends ServiceImpl UPDATE t_bom_new_ebom_parent p SET p.bom_exist = (IF(EXISTS (SELECT 1 FROM t_bom_new_ebom_child WHERE parent_row_id = p.row_id), 1, 0)) - WHERE p.status < 4; + WHERE p.status < 4 AND p.material_no IN + + #{item} +