From ecbbe43059614a20d92fe0d44265d467710c4d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Mon, 18 Mar 2024 11:04:12 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/master/BomNewOriginalParentMapper.java | 9 ++++++++- .../bomnew/service/BomNewEbomParentService.java | 15 +++++++++++---- .../service/BomNewOriginalParentService.java | 14 ++++++++++---- .../mapper/master/BomNewEbomParentMapper.xml | 14 +++++++------- .../mapper/master/BomNewOriginalParentMapper.xml | 13 ++++++++----- 5 files changed, 44 insertions(+), 21 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java index a09daf4a..4bcdc20c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java @@ -50,9 +50,16 @@ public interface BomNewOriginalParentMapper extends BaseMapper getDrawingNoByMaterialNos(@Param("materialNos") List materialNos); + /** + * 待转时,是否包含已审的 + * @param drawingNos + * @param state + * @param InHasConvertBomIs + * @return + */ List getParentForDrawingNoSeach(@Param("drawingNos") List drawingNos ,@Param("state") Integer state); - List getChildForDrawingNoSeach(@Param("drawingNos") List drawingNos); + List getChildForDrawingNoSeach(@Param("drawingNos") List drawingNos,@Param("state") Integer state); 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 b228500f..fcb2b05b 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 @@ -114,11 +114,18 @@ public class BomNewEbomParentService extends ServiceImpl materialBoms = this.lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo,materialNo).eq(BomNewEbomParentEntity::getLastVersionIs, 1) + .ne(BomNewEbomParentEntity::getStatus,EBomStatusEnum.PUBLISHED.getValue()).list(); + if(query.getDataType().equals(0) && CollUtil.isEmpty(materialBoms) ){ + return returnResult; + } + List materialNos=new ArrayList<>(); List parentMaterialByMaterialNo = getParentMaterialByMaterialNo(materialNo, !userRoleService.technician()).stream().collect(Collectors.toList()); - parentMaterialByMaterialNo.add(materialNo); - if (CollUtil.isNotEmpty(parentMaterialByMaterialNo)) { - List parents = this.getBaseMapper().getParentForMaterialNoSeach(parentMaterialByMaterialNo, query.getDataType()); - List childs = this.getBaseMapper().getChildForMaterialNoSeach(parentMaterialByMaterialNo, materialNo,query.getDataType()); + materialNos.add(materialNo); + materialNos.addAll(parentMaterialByMaterialNo); + if (CollUtil.isNotEmpty(materialNos)) { + List parents = this.getBaseMapper().getParentForMaterialNoSeach(materialNos, query.getDataType()); + List childs = this.getBaseMapper().getChildForMaterialNoSeach(materialNos, materialNo,query.getDataType()); List data = new ArrayList<>(); data.addAll(parents); data.addAll(childs); 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 5ecc3dc5..0b597021 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 @@ -146,18 +146,24 @@ public class BomNewOriginalParentService extends ServiceImpl queryDrawingNos = new ArrayList<>(); queryDrawingNos.addAll(query.getDrawingNos()); + List drawingParentNos=new ArrayList<>(); if (CollUtil.isNotEmpty(query.getMaterialNos())) { - List drawingNos = this.getBaseMapper().getDrawingNoByMaterialNos(query.getMaterialNos()); - if (CollUtil.isNotEmpty(drawingNos)) { - queryDrawingNos.addAll(drawingNos); + drawingParentNos = this.getBaseMapper().getDrawingNoByMaterialNos(query.getMaterialNos()); + if (CollUtil.isNotEmpty(drawingParentNos)) { + queryDrawingNos.addAll(drawingParentNos); } } if (CollUtil.isNotEmpty(queryDrawingNos)) { + List materialBoms = this.lambdaQuery().in(BomNewOriginalParentEntity::getDrawingNo, queryDrawingNos).eq(BomNewOriginalParentEntity::getLastVersionIs, 1) + .eq(BomNewOriginalParentEntity::getStatus, OriginalStatusEnum.UN_CONVERT.getValue()).list(); + if(query.getStatus().equals(1) && CollUtil.isEmpty(materialBoms)){ + return result; + } List parentDrawingNos = getParentDrawingNoByMaterialNo(queryDrawingNos).stream().collect(Collectors.toList()); parentDrawingNos.addAll(queryDrawingNos); if (CollUtil.isNotEmpty(parentDrawingNos)) { List parents = this.getBaseMapper().getParentForDrawingNoSeach(parentDrawingNos, query.getStatus()); - List childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos); + List childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos,query.getStatus()); List data = new ArrayList<>(); data.addAll(parents); data.addAll(childs); 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 a8408a66..b8a9480f 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 @@ -94,12 +94,12 @@ - SELECT created_by as bomCreatedBy , row_id as bomRowId, row_id as childBomRowId, a.* + SELECT if(#{state}=1 and status=2,3,status) as status, created_by as bomCreatedBy , row_id as bomRowId, row_id as childBomRowId, a.* FROM t_bom_new_original_parent a where 1=1 - - and a.last_version_is=1 and status=1 - + + + + + + and current_version in ( select current_version from t_bom_new_original_parent where status >1 and drawing_no in @@ -209,7 +212,7 @@