public AjaxResult deptList() {
List<ElementTreeData> elementTreeData=new ArrayList<>();
Jgxx jgxx = new Jgxx();
if(getSysUser().getDeptId() == null){
jgxx.setDeptId(530000000000L);
}
// 无上级机构
ElementTreeData none=new ElementTreeData();
none.setId(530000000000L);
none.setLabel("无上级机构");
elementTreeData.add(none);
// 其他结构树
List<Jgxx> list = jgxxService.selectJgxxListAllWidthParents(jgxx);
// 去掉自己的机构
List<Jgxx> listNotMine = new ArrayList<>();
for(Jgxx jg : list){
List<String> ancestors = Arrays.asList(jg.getAncestors().split(","));
if(jg.getId().longValue() == getSysUser().getDeptId().longValue() || ancestors.contains(getSysUser().getDeptId().toString())){
continue;
}
listNotMine.add(jg);
}
// 重构为 elementTreeData
for(Jgxx jg : listNotMine){
if(jg.getJgLevel() == 1){
ElementTreeData father=new ElementTreeData();
father.setId(jg.getId());
father.setLabel(jg.getJgName());
findChildDept(list, father);
elementTreeData.add(father);
}
}
return AjaxResult.success(elementTreeData);
}
private void findChildDept(List<Jgxx> list, ElementTreeData data){
for (Jgxx jgxx:list){
if (jgxx.getParentid().toString().equals(data.getId().toString())){
ElementTreeData elementTreeData=new ElementTreeData();
elementTreeData.setId(jgxx.getId());
elementTreeData.setLabel(jgxx.getJgName());
data.addChild(elementTreeData);
findChildDept(list, elementTreeData);
}
}
}
element 机构树的组装
最新推荐文章于 2024-05-21 10:23:42 发布