public List<Integer> getAllSubDept(Integer deptId) {
//获取所有部门信息
List<SysDept> all = remoteDeptService.getAll(SecurityConstants.FROM_IN);
List<Integer> ret = new ArrayList<>();
ret.add(deptId);
getSubDeptLoop(deptId, ret, all);
return ret;
}
//方法体
private void getSubDeptLoop(Integer deptId, List<Integer> ret, List<SysDept> all) {
for (SysDept s : all) {
if (deptId == s.getParentId()) {
ret.add(s.getDeptId());
getSubDeptLoop(s.getDeptId(), ret, all);
}
}
}
本文介绍了一个Java方法getAllSubDept,通过遍历获取给定部门id的所有子部门,利用getSubDeptLoop函数进行深度优先搜索。核心是利用递归获取部门层级关系。
3205

被折叠的 条评论
为什么被折叠?



