最近公司要求实现树状组织机构,后端直接获取树状的json数据
public Result<?> queryMyDeptLvyueList() {
//查询第一层数据
List<Map> yygs_list2 = xypjXmLvyueXmQiyMapper.queryMyDeptList();
//如果第一层数据的长度不等于0
if (yygs_list2.size() != 0) {
//循环第一层数据 ,使用加强循环放入map2中
for (Map map2 : yygs_list2) {
//获取第一层数据中的id
String id = (String) map2.get("id");
//新建一个list
List<Map> list3 = new ArrayList<>();
//如果is_leaf不等于0 ,说明他还有子节点,还有下级
if (Long.parseLong(String.valueOf( map2.get("is_leaf"))) != 0) {
//根据第一层数据的id查询第二层数据
List<Map> yygs_map3 = xypjXmLvyueXmQiyMapper.queryMyDeptListDown(id);
//第二层数据进行遍历
for (Map yygs3 : yygs_map3) {
//遍历的第二层数据放入list3 中
list3.add(yygs3);
}
//把有下级的数据list3 放入第一层数据map2中
map2.put("children",list3);
}
}
}
return Result.ok(yygs_list2);
}