java遍历机构和菜单树形结构数据

在这里插入图片描述查询机构数据结构数据 mapper层接口省略

/**

  • <一句话功能简述>查询机构树形机构返回数据 <功能详细描述>

  • @author DENG

  • @version [版本号, 2018年11月1日]

  • @see [相关类/方法]

  • @since [产品/模块版本]
    */
    public class ResOrgDto {

    private String orgCode;

    private String orgName;

    private String superiorOrgCode;

    private String orgType;

    private List resOrgDtoList;

    public String getOrgType() {
    return orgType;
    }

    public void setOrgType(String orgType) {
    this.orgType = orgType;
    }

    public String getOrgCode() {
    return orgCode;
    }

    public void setOrgCode(String orgCode) {
    this.orgCode = orgCode;
    }

    public String getOrgName() {
    return orgName;
    }

    public void setOrgName(String orgName) {
    this.orgName = orgName;
    }

    public String getSuperiorOrgCode() {
    return superiorOrgCode;
    }

    public void setSuperiorOrgCode(String superiorOrgCode) {
    this.superiorOrgCode = superiorOrgCode;
    }

    public List getResOrgDtoList() {
    return resOrgDtoList;
    }

    public void setResOrgDtoList(List resOrgDtoList) {
    this.resOrgDtoList = resOrgDtoList;
    }

}
查询响应的对应实体

/**
*

  • <一句话功能简述> 响应包装实体类

  • <功能详细描述>

  • @author DENG

  • @version [版本号, 2018年11月1日]

  • @see [相关类/方法]

  • @since [产品/模块版本]
    */
    public class OrgDtoResponse {

    private List resOrgDtoList;

    public List getResOrgDtoList() {
    return resOrgDtoList;
    }

    public void setResOrgDtoList(List resOrgDtoList) {
    this.resOrgDtoList = resOrgDtoList;
    }

}

查询响应实体的包装对应的类

/**
*

  • <一句话功能简述> <功能详细描述>

  • @author DENG

  • @version [版本号, 2018年11月1日]

  • @see [相关类/方法]

  • @since [产品/模块版本]
    */
    @Service
    public class InfoConfirmProgressManagerServiceImpl implements InfoConfirmProgressManagerService {

    @Autowired
    TUserOrgConfService tUserOrgConfService;

    private List orgDtoList = null;
    private List removeOrgDtoList = new ArrayList<>();
    @Override
    public OrgDtoResponse queryOrgListService(Map<String, Object> map) {
    //创建响应数据的包装对象
    OrgDtoResponse orgDtoResponse = new OrgDtoResponse();
    // 查询数据
    orgDtoList = tUserOrgConfService.queryTUserOrgConfService(map);
    // 创建保存数据的集合
    List list = new ArrayList<>();
    //遍历树形结构
    for (OrgDto orgDto : orgDtoList) {

     	if (!removeOrgDtoList.contains(orgDto)) {
     		ResOrgDto facdeTree = facdeTree(orgDto);
     		list.add(facdeTree);
     		removeOrgDtoList.add(orgDto);
     	}
     }
     // 设置响应数据
     orgDtoResponse.setResOrgDtoList(list);
     return orgDtoResponse;
    

    }

    /**

    • 遍历树形结构

    • @param orgDto

    • @return
      */
      private ResOrgDto facdeTree(OrgDto orgDto) {
      ResOrgDto resOrgDto = new ResOrgDto();

      List resOrgDtoList = new ArrayList<>();

      for (OrgDto resOrgDto2 : orgDtoList) {

       if (orgDto.getOrgCode().equals(resOrgDto2.getSuperiorOrgCode())) {
       	ResOrgDto facdeTree = facdeTree(resOrgDto2);
       	resOrgDtoList.add(facdeTree);
       	resOrgDto.setResOrgDtoList(resOrgDtoList);
       	removeOrgDtoList.add(resOrgDto2);
       }
      

      }
      resOrgDto.setOrgCode(orgDto.getOrgCode());
      resOrgDto.setOrgName(orgDto.getOrgName());
      resOrgDto.setSuperiorOrgCode(orgDto.getSuperiorOrgCode());
      resOrgDto.setOrgType(orgDto.getOrgKind());
      return resOrgDto;
      }

}

遍历树形机构数据
在这里插入图片描述最终遍历数据结果结构

猜你喜欢

转载自blog.csdn.net/qq_32000487/article/details/83623166
今日推荐