|
|
@ -114,7 +114,7 @@ public class SearchTreeUtil {
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public static List<SearchTree> builderTreeMode(List<SearchTree> treeList, List<SearchTree> deptTrees) {
|
|
|
|
public static List<SearchTree> builderTreeMode(List<SearchTree> treeList, List<SearchTree> deptTrees) {
|
|
|
|
Map<String, List<TreeNode>> parentMap = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid));
|
|
|
|
Map<String, List<SearchTree>> parentMap = treeList.stream().collect(Collectors.groupingBy(SearchTree::getPid));
|
|
|
|
Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp));
|
|
|
|
Map<String, List<SearchTree>> childMap = deptTrees.stream().collect(Collectors.groupingBy(SearchTree::getParentComp));
|
|
|
|
boolean isAdd = !childMap.isEmpty();
|
|
|
|
boolean isAdd = !childMap.isEmpty();
|
|
|
|
Set<String> leafIds = new HashSet<>();
|
|
|
|
Set<String> leafIds = new HashSet<>();
|
|
|
@ -127,8 +127,12 @@ public class SearchTreeUtil {
|
|
|
|
).collect(Collectors.toList());
|
|
|
|
).collect(Collectors.toList());
|
|
|
|
treeNodes.addAll(searchTrees);
|
|
|
|
treeNodes.addAll(searchTrees);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<TreeNode> nodes = parentMap.get(e.getId());
|
|
|
|
List<SearchTree> nodes = parentMap.get(e.getId());
|
|
|
|
if (CollectionUtils.isNotEmpty(nodes)) {
|
|
|
|
if (CollectionUtils.isNotEmpty(nodes)) {
|
|
|
|
|
|
|
|
nodes = nodes.stream().sorted(
|
|
|
|
|
|
|
|
Comparator.comparingDouble(SearchTree::getOrderNum)
|
|
|
|
|
|
|
|
.thenComparingDouble(SearchTree::getShowOrderOfTree)
|
|
|
|
|
|
|
|
).collect(Collectors.toList());
|
|
|
|
treeNodes.addAll(nodes);
|
|
|
|
treeNodes.addAll(nodes);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
e.setSubs(new ArrayList<>(treeNodes));
|
|
|
|
e.setSubs(new ArrayList<>(treeNodes));
|
|
|
|