|
@@ -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())
|