diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 65dd9617..b1065faa 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -124,8 +124,8 @@ public class SearchTreeUtil { List searchTrees = childMap.get(e.getId()).stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); treeNodes.addAll(searchTrees); } - if (CollectionUtils.isNotEmpty(e.getSubs())) { - treeNodes.addAll(e.getSubs()); + if(CollectionUtils.isNotEmpty(treeNodes)){ + treeNodes = treeNodes.stream().sorted(Comparator.comparing(TreeNode::getType).reversed()).collect(Collectors.toCollection(LinkedHashSet::new)); } e.setSubs(new ArrayList<>(treeNodes)); leafIds.add(e.getId());