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 + + + +