说来惭愧,工作这么久了都没有用到一个递归算法。呵呵,第一次。
功能介绍:有这样一个表,自外连接,也就是parent(父结点)所对应的ID也是本表的,这段代码将返回所有某个节点的子节点ID。
参数介绍:
String deptId:当前的ID
List ids:当前ID下的所有子节点列表
调用:this.getAllSubDeptid(categoryId, categoryIds);
功能介绍:有这样一个表,自外连接,也就是parent(父结点)所对应的ID也是本表的,这段代码将返回所有某个节点的子节点ID。
参数介绍:
String deptId:当前的ID
List ids:当前ID下的所有子节点列表
调用:this.getAllSubDeptid(categoryId, categoryIds);
public void getAllSubDeptid(String deptId, List ids) throws SecuritySQLException {
ids.add(deptId);
// 查询出当前部门的子部门
Map map = new HashMap();
map.put("parent", deptId);
List list =(List) categoryDao.queryByFilter(map);
// 如果子部门数为0,则返回
if (list.size() == 0) {
} else {
for (int i = 0; i < list.size(); i++) {
Category category = (Category) list.get(i);
String subId = (String) category.getId();
getAllSubDeptid(subId, ids);
}
}
}