@ -49,18 +49,19 @@ public class SysDeptServiceImpl implements ISysDeptService
@@ -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 dep t = ( SysDept ) iterator . next ( ) ;
// 如果是顶级节点, 遍历该父节点的所有子节点
if ( ! tempList . contains ( dep t. getParentId ( ) ) )
{
recursionFn ( depts , t ) ;
returnList . add ( t ) ;
recursionFn ( depts , dep t) ;
returnList . add ( dep t) ;
}
}
if ( returnList . isEmpty ( ) )