From 7639ec8dc19a1bf87c9ef8e1a2fdded119ab3eb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Sat, 13 Apr 2024 16:38:41 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/master/BomNewEbomParentMapper.java | 4 ++-- .../service/BomNewEbomParentService.java | 10 ++++++--- .../service/BomNewOriginalParentService.java | 21 +++++++++++-------- .../mapper/master/BomNewEbomParentMapper.xml | 13 ++++++++++-- 4 files changed, 32 insertions(+), 16 deletions(-) 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 c37a2de2..b176b22d 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 @@ -52,9 +52,9 @@ public interface BomNewEbomParentMapper extends BaseMapper getSelfParentMaterialNo(@Param("createdBy") String createdBy ,@Param("list") Set list); - List getParentForMaterialNoSeach(@Param("materialNoList") List materialNoList ,@Param("dataType") Integer dataType); + List getParentForMaterialNoSeach(@Param("materialNoList") List materialNoList ,@Param("dataType") Integer dataType , @Param("createdBy") String createdBy); - List getChildForMaterialNoSeach(@Param("materialNoList") List materialNoList,@Param("bomRowIds") Collection bomRowIds ); + List getChildForMaterialNoSeach(@Param("materialNoList") List materialNoList,@Param("bomRowIds") Collection bomRowIds , @Param("createdBy") String createdBy ); void updateRootState(); 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 35c25374..0e1a030e 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 @@ -126,12 +126,16 @@ public class BomNewEbomParentService extends ServiceImpl materialNos = new ArrayList<>(); // List parentMaterialByMaterialNo = getParentMaterialByMaterialNo(materialNo, !userRoleService.technician()).stream().collect(Collectors.toList()); //获取父级物料 - List parentMaterialByMaterialNo = getParentMaterial(ImmutableList.of(materialNo), !userRoleService.technician()).stream().collect(Collectors.toList()); + Boolean getSelfIs=!userRoleService.technician(); + List parentMaterialByMaterialNo = getParentMaterial(ImmutableList.of(materialNo),(getSelfIs && query.getDataType().equals(0) ) ).stream().collect(Collectors.toList()); // materialNos.add(materialNo); materialNos.addAll(parentMaterialByMaterialNo); if (CollUtil.isNotEmpty(materialNos)) { - List parents = this.getBaseMapper().getParentForMaterialNoSeach(materialNos, query.getDataType()); - List childs = this.getBaseMapper().getChildForMaterialNoSeach(materialNos, parents.stream().map(u->u.getRowId()).collect(Collectors.toSet())); + List childs=new ArrayList<>(); + List parents = this.getBaseMapper().getParentForMaterialNoSeach(materialNos, query.getDataType() ,(getSelfIs && query.getDataType().equals(0) )?SessionUtil.getUserCode():null ); + if(CollUtil.isNotEmpty(parents)) { + childs = this.getBaseMapper().getChildForMaterialNoSeach(materialNos, parents.stream().map(u -> u.getRowId()).collect(Collectors.toSet()), (getSelfIs && query.getDataType().equals(0)) ? SessionUtil.getUserCode() : null); + } 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 0baf9a41..71d08112 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 @@ -189,17 +189,20 @@ public class BomNewOriginalParentService extends ServiceImpl parentDrawingNos = new ArrayList<>(getParentMaterialByDrawingNo(queryDrawingNos)); // parentDrawingNos.addAll(queryDrawingNos); if (CollUtil.isNotEmpty(parentDrawingNos)) { + List childs=new ArrayList<>(); List parents = this.getBaseMapper().getParentForDrawingNoSeach(parentDrawingNos, query.getStatus()); materialMainService.intiMaterialInfo(parents, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); - List childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos,parents.stream().map(u->u.getRowId()).collect(Collectors.toSet())); - materialMainService.intiMaterialInfo(childs, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); - childs.stream().filter(f -> StrUtil.isBlank(f.getCurrentVersion())).forEach(f -> { - if (MaterialshouldBomExistUtil.checkShouldBomExist(f.getMaterialCategoryCode(), f.getMaterialGetType())) { - f.setCurrentVersion(OriginalConstant.NO_BOM_VERSION); - } else { - f.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION); - } - }); + if(CollUtil.isNotEmpty(parents)) { + childs = this.getBaseMapper().getChildForDrawingNoSeach(parentDrawingNos, parents.stream().map(u -> u.getRowId()).collect(Collectors.toSet())); + materialMainService.intiMaterialInfo(childs, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT); + childs.stream().filter(f -> StrUtil.isBlank(f.getCurrentVersion())).forEach(f -> { + if (MaterialshouldBomExistUtil.checkShouldBomExist(f.getMaterialCategoryCode(), f.getMaterialGetType())) { + f.setCurrentVersion(OriginalConstant.NO_BOM_VERSION); + } else { + f.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION); + } + }); + } // 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 04a17b65..0842307e 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 @@ -102,10 +102,14 @@ FROM t_bom_new_ebom_parent a join (select material_no,max(current_version) current_version from t_bom_new_ebom_parent where - a.status = 4 + status = 4 - and a.status < 4 + status < 4 + + and created_by=#{createdBy} + + and material_no in @@ -171,9 +175,14 @@ #{item} + + and b.created_by=#{createdBy} + + +