@Override
public List<OrgTreeNode> getOrganizations() {
Organization o = new Organization();
o.setIsUsed(1);
List<Organization> olist = organizationMapper.selectByState(o);
List<OrgTreeNode> trees = new ArrayList<OrgTreeNode>();
Map<String, List<OrgTreeNode>> map = new HashMap<String, List<OrgTreeNode>>();
Map<String, OrgTreeNode> _map = new HashMap<String, OrgTreeNode>();
OrgTreeNode node;
for (Organization org : olist) {
node = new OrgTreeNode();
node.setId(org.getOrgCode());
node.setName(org.getOrgName());
node.setDesc(org.getOrgName());
node.setpId(org.getParentOrgCode());
node.setUrl(org.getArrayParentOrgId());
node.setcId(org.getCompanyId());
node.setLevel(org.getDeptType());
_map.put(node.getId(), node);
if (!map.containsKey(node.getpId())) {
map.put(node.getpId(), new ArrayList<OrgTreeNode>());
}
map.get(node.getpId()).add(_map.get(node.getId()));
}
Iterator<Entry<String, OrgTreeNode>> i = _map.entrySet().iterator();
Entry<String, OrgTreeNode> e;
while (i.hasNext()) {
e = i.next();
if (map.containsKey(e.getKey())) {
e.getValue().setTrees(map.get(e.getKey()));
}
}
if (!map.isEmpty()) {
trees.addAll(map.get(defalutOrgCode));
}
return trees;
}
java类
public class OrgTreeNode implements Serializable {
private static final long serialVersionUID = 5047714594030611046L;
private String id;//当前组织编号
private String pId;//父级组织编号
private String name;//公司名称
private String desc;
private String isComp;
private String icon;
private String url;//上下级连接关系
private Long orgId;
private String orgPath;
private String comfullPath;
private List<OrgTreeNode> trees;
private String arrayParentCompanyId
private Long companyId;
private String companyName;
private Long deptId;
private String deptName;
}