From 8d26ce919a11cccb93a080cfcbbb33126aacfda1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Thu, 18 Apr 2024 17:28:13 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81pbom-=E5=8D=87=E7=BA=A7=E5=8F=8A?= =?UTF-8?q?=E6=9C=AA=E5=8F=91=E5=B8=83=E5=88=97=E8=A1=A8=E4=B8=8D=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/master/BomNewPbomParentMapper.java | 7 ++++ .../service/BomNewEbomParentService.java | 5 +++ .../service/domain/PBom/PBomUpgrade.java | 6 ++++ .../mapper/master/BomNewEbomParentMapper.xml | 4 +-- .../mapper/master/BomNewPbomParentMapper.xml | 34 +++++++++++++++++-- 5 files changed, 52 insertions(+), 4 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java index 9f44e4c8..ed6c917c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewPbomParentMapper.java @@ -9,7 +9,10 @@ import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomWorkExcelVO; import org.apache.ibatis.annotations.Param; +import java.util.Collection; +import java.util.Collections; import java.util.List; +import java.util.Set; /** * t_bom_new_pbom_parent 表数据库访问层 @@ -53,4 +56,8 @@ public interface BomNewPbomParentMapper extends BaseMapper exportExcel(List bomRowIds); void resetBomExist(Long rowId); + + void updateWaitPublicRootState(@Param("materialNoList") Collection materialNoList); + + } 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 cd5e81ef..71c112ea 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 @@ -857,6 +857,11 @@ public class BomNewEbomParentService extends ServiceImpl materialNos = bomTree.stream().map(u -> u.getMaterialNo()).collect(Collectors.toSet()); + if(CollUtil.isNotEmpty(materialNos)){ + pBomParentService.getBaseMapper().updateWaitPublicRootState(materialNos); + } //标记跟节点 upRootMark(parent); if (CollUtil.isNotEmpty(eBomToPBom.getVirtualPackageCompositionResult())) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomUpgrade.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomUpgrade.java index 207a7002..21b6646f 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomUpgrade.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomUpgrade.java @@ -74,6 +74,12 @@ public class PBomUpgrade { } private void buildParent(BomNewPbomParentVO parentVO, boolean rootIs) { + //判断有无未发布版本-有则直接跳过 + List waitPublishBomList = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parentVO.getMaterialNo()) + .eq(BomNewPbomParentEntity::getStatus, PBomStatusEnum.WAIT_PUBLISH.getValue()).list(); + if(CollUtil.isNotEmpty(waitPublishBomList)){ + return; + } BomNewPbomParentEntity pbomParent = new BomNewPbomParentEntity(); BeanUtil.copyProperties(parentVO, pbomParent); pbomParent.setRowId(IdWorker.getId()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml index 9348a08c..a64cf73c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewEbomParentMapper.xml @@ -306,13 +306,13 @@ diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml index 0aa28317..8b82b6bb 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml @@ -78,7 +78,7 @@ select * , row_id as bomRowId - from t_bom_new_pbom_parent where status >= 4 and last_version_is=1 + from t_bom_new_pbom_parent a join + (select material_no, max(current_version) current_version from t_bom_new_pbom_parent where status >= 4 + + and material_no = #{query.materialNo} + + + and drawing_no = #{query.drawingNo} + + group by material_no + ) b + on a.material_no=b.material_no and a.current_version=b.current_version + where status >= 4 and root_is=1 @@ -231,4 +242,23 @@ SET p.bom_exist = (IF(EXISTS (SELECT 1 FROM t_bom_new_pbom_child WHERE parent_row_id = p.row_id), 1, 0)) WHERE p.row_id = #{rowId}; + + + + #{item} + + + + + update t_bom_new_pbom_parent a left join ( + select b.material_no , a.fac_code from t_bom_new_pbom_parent a join t_bom_new_pbom_child b on a.row_id=b.parent_row_id and a.`status` < 4 and a.last_version_is=1 + and b.material_no in + ) b on a.material_no=b.material_no and a.fac_code =b.fac_code + set a.root_state=1 + where a.`status` < 4 and last_version_is=1 and b.material_no is null + and a.material_no in + + + +