From 6765fd8fc4572676111b8f75e2f600002c38a72c Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 6 Sep 2022 15:19:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A6=E4=BE=A7=E6=A0=91=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/entity/company/bo/CompBO.java | 3 ++- .../entity/department/bo/DepartmentBO.java | 1 + src/com/engine/organization/entity/job/bo/JobBO.java | 1 + .../organization/entity/searchtree/SearchTree.java | 1 + .../service/impl/DepartmentServiceImpl.java | 4 ++-- .../organization/service/impl/JobServiceImpl.java | 10 +++++----- .../engine/organization/util/tree/SearchTreeUtil.java | 5 +++-- 7 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/com/engine/organization/entity/company/bo/CompBO.java b/src/com/engine/organization/entity/company/bo/CompBO.java index e1e04f5d..098ecc84 100644 --- a/src/com/engine/organization/entity/company/bo/CompBO.java +++ b/src/com/engine/organization/entity/company/bo/CompBO.java @@ -103,7 +103,7 @@ public class CompBO { } public static List buildSetToSearchTree(Set comps) { - return comps.stream().map(item -> { + return comps.stream().sorted(Comparator.comparing(CompPO::getShowOrder)).map(item -> { SearchTree tree = new SearchTree(); tree.setCanClick(true); tree.setCanceled(item.getForbiddenTag() != 0); @@ -115,6 +115,7 @@ public class CompBO { tree.setPid(null == item.getParentCompany() ? "0" : item.getParentCompany().toString()); tree.setSelected(false); tree.setType("1"); + tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/department/bo/DepartmentBO.java b/src/com/engine/organization/entity/department/bo/DepartmentBO.java index 4223df42..2eefd980 100644 --- a/src/com/engine/organization/entity/department/bo/DepartmentBO.java +++ b/src/com/engine/organization/entity/department/bo/DepartmentBO.java @@ -140,6 +140,7 @@ public class DepartmentBO { tree.setSelected(false); tree.setType("2"); tree.setParentComp(null == item.getParentComp() ? "0" : item.getParentComp().toString()); + tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); return tree; }).collect(Collectors.toList()); } diff --git a/src/com/engine/organization/entity/job/bo/JobBO.java b/src/com/engine/organization/entity/job/bo/JobBO.java index 7e85404f..93bf2ff6 100644 --- a/src/com/engine/organization/entity/job/bo/JobBO.java +++ b/src/com/engine/organization/entity/job/bo/JobBO.java @@ -167,6 +167,7 @@ public class JobBO { tree.setSelected(false); tree.setType("3"); tree.setParentComp(null == item.getParentDept() ? "0" : item.getParentDept().toString()); + tree.setOrderNum(null == item.getShowOrder() ? 0 : item.getShowOrder()); 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 14c98631..b279b3e2 100644 --- a/src/com/engine/organization/entity/searchtree/SearchTree.java +++ b/src/com/engine/organization/entity/searchtree/SearchTree.java @@ -18,4 +18,5 @@ public class SearchTree extends TreeNode { private boolean isCanceled; private String requestParams; private String parentComp; + private Integer orderNum; } \ No newline at end of file diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index 07a5b68c..c8abead8 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -705,7 +705,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService private List getFilterCompany(String id, String keyword) { // 查询部门信息 Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id); - CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).build(); + CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).forbiddenTag(0).build(); List filterComps = getCompMapper().listByFilter(compBuild, "show_order"); Set builderComps = new HashSet<>(); @@ -728,7 +728,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return; } CompPO parentComp = getCompMapper().listById(compPO.getParentCompany()); - if (null != parentComp) { + if (null != parentComp && 0 == parentComp.getForbiddenTag()) { buildParentComps(parentComp, builderComps); } } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 53ae3950..b047b16b 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -497,7 +497,7 @@ public class JobServiceImpl extends Service implements JobService { return; } DepartmentPO parentDept = getDepartmentMapper().getDeptById(departmentPO.getParentDept()); - if (null != parentDept) { + if (null != parentDept && 0 == parentDept.getForbiddenTag()) { buildParentDepts(parentDept, builderDeparts); } } @@ -514,7 +514,7 @@ public class JobServiceImpl extends Service implements JobService { return; } CompPO parentComp = getCompMapper().listById(compPO.getParentCompany()); - if (null != parentComp) { + if (null != parentComp && 0 == parentComp.getForbiddenTag()) { buildParentComps(parentComp, builderComps); } } @@ -532,13 +532,13 @@ public class JobServiceImpl extends Service implements JobService { // 通过分部、公司 组装数据 if (StringUtil.isEmpty(id) || TYPE_COMP.equals(type)) { Long parentCompId = StringUtil.isEmpty(id) ? null : Long.parseLong(id); - DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).build(); - CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).build(); + DepartmentPO departmentBuild = DepartmentPO.builder().deptName(keyword).parentComp(parentCompId).forbiddenTag(0).build(); + CompPO compBuild = CompPO.builder().compName(keyword).parentCompany(parentCompId).forbiddenTag(0).build(); searchTree = buildTreeByCompAndDept(departmentBuild, compBuild); } else if (TYPE_DEPT.equals(type)) { // // 查询部门信息 - List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().deptName(keyword).parentDept(Long.parseLong(id)).build(), "show_order"); + List filterDeparts = getDepartmentMapper().listByFilter(DepartmentPO.builder().deptName(keyword).forbiddenTag(0).parentDept(Long.parseLong(id)).build(), "show_order"); Set builderDeparts = new HashSet<>(); for (DepartmentPO departmentPO : filterDeparts) { buildParentDepts(departmentPO, builderDeparts); diff --git a/src/com/engine/organization/util/tree/SearchTreeUtil.java b/src/com/engine/organization/util/tree/SearchTreeUtil.java index 763eea85..f52c1848 100644 --- a/src/com/engine/organization/util/tree/SearchTreeUtil.java +++ b/src/com/engine/organization/util/tree/SearchTreeUtil.java @@ -88,8 +88,9 @@ public class SearchTreeUtil { * @return */ public static List builderTreeMode(List treeList) { - Map> collects = treeList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); - return treeList.stream().peek(e -> e.setSubs(collects.get(e.getId()))).peek(item -> { + List sortedList = treeList.stream().sorted(Comparator.comparing(SearchTree::getOrderNum)).collect(Collectors.toList()); + Map> collects = sortedList.stream().collect(Collectors.groupingBy(TreeNode::getPid)); + return sortedList.stream().peek(e -> e.setSubs(collects.get(e.getId()))).peek(item -> { if (CollectionUtils.isNotEmpty(item.getSubs())) { item.setIsParent(true); }