|
|
|
@ -49,18 +49,19 @@ public class SysDeptServiceImpl implements ISysDeptService |
|
|
|
|
public List<SysDept> buildDeptTree(List<SysDept> depts) |
|
|
|
|
{ |
|
|
|
|
List<SysDept> returnList = new ArrayList<SysDept>(); |
|
|
|
|
if (StringUtils.isNotEmpty(depts) && StringUtils.isNotNull(depts.stream().findFirst())) |
|
|
|
|
List<Long> tempList = new ArrayList<Long>(); |
|
|
|
|
for (SysDept dept : depts) |
|
|
|
|
{ |
|
|
|
|
depts.stream().findFirst().get().setParentId(null); |
|
|
|
|
tempList.add(dept.getDeptId()); |
|
|
|
|
} |
|
|
|
|
for (Iterator<SysDept> iterator = depts.iterator(); iterator.hasNext();) |
|
|
|
|
{ |
|
|
|
|
SysDept t = (SysDept) iterator.next(); |
|
|
|
|
// 根据传入的某个父节点ID,遍历该父节点的所有子节点
|
|
|
|
|
if (StringUtils.isNull(t.getParentId()) || t.getParentId() == 0) |
|
|
|
|
SysDept dept = (SysDept) iterator.next(); |
|
|
|
|
// 如果是顶级节点, 遍历该父节点的所有子节点
|
|
|
|
|
if (!tempList.contains(dept.getParentId())) |
|
|
|
|
{ |
|
|
|
|
recursionFn(depts, t); |
|
|
|
|
returnList.add(t); |
|
|
|
|
recursionFn(depts, dept); |
|
|
|
|
returnList.add(dept); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (returnList.isEmpty()) |
|
|
|
|