diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java index 240fa93a..91cc94b7 100644 --- a/src/com/engine/organization/entity/company/bo/CompBO.java +++ b/src/com/engine/organization/entity/company/bo/CompBO.java @@ -24,7 +24,10 @@ public class CompBO { } public static List buildSetToSearchTree(Set comps) { - return comps.stream().sorted(Comparator.comparing(item -> null == item.getShowOrder() ? 0 : item.getShowOrder())).map(item -> { + return comps.stream().sorted(Comparator + .comparing(CompPO::getShowOrder) + .thenComparing(CompPO::getShowOrderOfTree) + ).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(item.getCanceled() != null && item.getCanceled() != 0); @@ -37,6 +40,7 @@ public class CompBO { tree.setSelected(false); tree.setType("1"); tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); + tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/company/po/CompPO.java b/src/com/engine/organization/entity/company/po/CompPO.java index ae80432d..e88eb539 100644 --- a/src/com/engine/organization/entity/company/po/CompPO.java +++ b/src/com/engine/organization/entity/company/po/CompPO.java @@ -34,4 +34,18 @@ public class CompPO { private String uuid; private Integer showOrder; private Integer showOrderOfTree; + + public Integer getShowOrder() { + if (null == showOrder) { + return 0; + } + return showOrder; + } + + public Integer getShowOrderOfTree() { + if (null == showOrderOfTree) { + return 0; + } + return showOrderOfTree; + } } diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 2bc46841..dd2127e2 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -173,6 +173,7 @@ public class DepartmentBO { tree.setType("2"); tree.setParentComp(null == item.getSupDepId() ? "0" : item.getSubCompanyId1().toString()); tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder().intValue()); + tree.setShowOrderOfTree(null == item.getShowOrderOfTree() ? 0 : item.getShowOrderOfTree()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/searchtree/SearchTree.java b/src/com/engine/organization/entity/searchtree/SearchTree.java index 849670cf..6c3b000f 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTree.java +++ b/src/com/engine/organization/entity/searchtree/SearchTree.java @@ -19,6 +19,7 @@ public class SearchTree extends TreeNode { private String requestParams; private String parentComp; private Integer orderNum; + private Integer showOrderOfTree; public String getCompanyid() { return companyid; @@ -77,6 +78,9 @@ public class SearchTree extends TreeNode { } public Integer getOrderNum() { + if(null==orderNum){ + return 0; + } return orderNum; } @@ -84,6 +88,17 @@ public class SearchTree extends TreeNode { this.orderNum = orderNum; } + public Integer getShowOrderOfTree() { + if(null==showOrderOfTree){ + return 0; + } + return showOrderOfTree; + } + + public void setShowOrderOfTree(Integer showOrderOfTree) { + this.showOrderOfTree = showOrderOfTree; + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/src/com/engine/organization/mapper/department/DepartmentMapper.xml b/src/com/engine/organization/mapper/department/DepartmentMapper.xml index 7d288abe..ace82766 100644 --- a/src/com/engine/organization/mapper/department/DepartmentMapper.xml +++ b/src/com/engine/organization/mapper/department/DepartmentMapper.xml @@ -12,6 +12,7 @@ + @@ -30,6 +31,7 @@ t.departmentCode, t.coadjutant, t.showOrder, + t.showOrderOfTree, t.uuid diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 60b7ce31..2ba24e24 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -91,7 +91,11 @@ public class SearchTreeUtil { Set leafIds = new HashSet<>(); List collect = treeList.stream().peek(e -> { if (null != collects && CollectionUtils.isNotEmpty(collects.get(e.getId()))) { - List nodes = collects.get(e.getId()).stream().sorted(Comparator.comparing(item -> null == item.getOrderNum() ? 0 : item.getOrderNum())).collect(Collectors.toList()); + List nodes = collects.get(e.getId()).stream().sorted(Comparator + .comparing(SearchTree::getOrderNum) + .thenComparing(SearchTree::getShowOrderOfTree) + ) + .collect(Collectors.toList()); e.setSubs(nodes); leafIds.add(e.getId()); if (CollectionUtils.isNotEmpty(e.getSubs())) { @@ -117,7 +121,10 @@ public class SearchTreeUtil { List collect = treeList.stream().peek(e -> { Set treeNodes = new LinkedHashSet<>(); if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) { - List searchTrees = childMap.get(e.getId()).stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); + List searchTrees = childMap.get(e.getId()).stream().sorted( + Comparator.comparing(SearchTree::getOrderNum) + .thenComparing(SearchTree::getShowOrderOfTree) + ).collect(Collectors.toList()); treeNodes.addAll(searchTrees); } List nodes = parentMap.get(e.getId());