java递归查询公司下所有部门及子部门
http://www.voidcn.com/article/p-vswigehm-brq.html
public List<String> selectDepts(Map<String, Object> map, TomAdmin tomAdmin) {
List<TomDeptDto> deptVosList =selectDeptsByTopCode(map,tomAdmin);
List<String> deptCodes = new ArrayList<>();
List<String> resultList = convertData(deptCodes,deptVosList);
resultList.add((String)map.get("deptCode"));
return resultList;
}
public List<TomDeptDto> selectDeptsByTopCode(Map<String, Object> map, TomAdmin tomAdmin) {
List<TomDeptDto> deptList=new ArrayList<TomDeptDto>();
map.put("userType", tomAdmin.getCapacityLineId());
List<TomDeptDto> depts=tomDingDeptMapper.findAllDepts(map);
if(!CollectionUtils.isEmpty(depts)){
for(TomDeptDto dept:depts){
TomDeptDto model=new TomDeptDto();
model.setDeptCode(dept.getDeptCode());
model.setDeptName(dept.getDeptName());
Map<String, Object> paramMap=new HashMap<String, Object>();
paramMap.put("deptCode", dept.getDeptCode());
model.setSubDeptList(selectDeptsByTopCode(paramMap,tomAdmin));
deptList.add(model);
}
}
return deptList;
}
private List<String> convertData(List<String> deptCodes,List<TomDeptDto> deptDtoList){
for(TomDeptDto model:deptDtoList) {
deptCodes.add(model.getDeptCode());
if(model.getSubDeptList()!=null&&model.getSubDeptList().size()>0) {
convertData(deptCodes,model.getSubDeptList());
}
}
return deptCodes;
}