From a36648ea39f805959f975908b3932d2ec03eacb1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 25 Oct 2022 11:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A0=91BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/service/impl/HrmResourceServiceImpl.java | 5 +++-- src/com/engine/organization/util/tree/SearchTreeUtil.java | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 4c30f42c..aaa53686 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -576,7 +576,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic for (DepartmentPO departmentPO : filterDeparts) { buildParentDepts(departmentPO, builderDeparts); } - List deptTrees = SearchTreeUtil.builderTreeMode(DepartmentBO.buildSetToSearchTree(builderDeparts, false)); + List departmentTrees = DepartmentBO.buildSetToSearchTree(builderDeparts, false); + List searchTrees = SearchTreeUtil.builderTreeMode(departmentTrees, jobTrees); + List deptTrees = SearchTreeUtil.builderTreeMode(departmentTrees); // 添加部门的上级分部 String parentCompS = deptTrees.stream().map(SearchTree::getParentComp).collect(Collectors.joining(",")); if (!StringUtil.isEmpty(parentCompS)) { @@ -589,7 +591,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic for (CompPO compPO : filterComps) { buildParentComps(compPO, builderComps); } - List searchTrees = SearchTreeUtil.builderTreeMode(deptTrees, jobTrees); return SearchTreeUtil.builderTreeMode(CompBO.buildSetToSearchTree(builderComps), searchTrees); } diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 5ff6bdee..2ec73a8c 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -108,7 +108,7 @@ public class SearchTreeUtil { Map> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp)); boolean isAdd = !childMap.isEmpty(); return treeList.stream().peek(e -> { - List treeNodes = new ArrayList<>(); + Set treeNodes = new HashSet<>(); List nodes = parentMap.get(e.getId()); if (CollectionUtils.isNotEmpty(nodes)) { treeNodes.addAll(nodes); @@ -119,7 +119,7 @@ public class SearchTreeUtil { if (CollectionUtils.isNotEmpty(e.getSubs())) { treeNodes.addAll(e.getSubs()); } - e.setSubs(treeNodes); + e.setSubs( new ArrayList<>(treeNodes)); }).peek(item -> { if (CollectionUtils.isNotEmpty(item.getSubs())) { item.setIsParent(true);