递归

该博客介绍了使用Java进行递归查询,可实现查询公司下所有部门及子部门的功能,并提供了相关文章链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值