| package com.xzx.gc.role.util; | 
|   | 
|   | 
|   | 
| import com.xzx.gc.entity.CoreMenu; | 
| import com.xzx.gc.entity.CoreOrg; | 
| import com.xzx.gc.role.rbac.tree.OrgItem; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.Collections; | 
| import java.util.Comparator; | 
| import java.util.List; | 
|   | 
| public class OrgBuildUtil { | 
|     private OrgBuildUtil(){ | 
|          | 
|     } | 
|   | 
|   | 
|     public static void buildTreeNode(OrgItem parent, List<CoreOrg> list){ | 
|   | 
|         long id = parent.getId(); | 
|         List<CoreOrg> dels = new ArrayList<>(); | 
|         List<OrgItem> children = new ArrayList<>(); | 
|         for(CoreOrg sysOrg:list){ | 
|             if(sysOrg.getParentOrgId()!=null&&sysOrg.getParentOrgId()==id){ | 
|                 OrgItem cor= new OrgItem(sysOrg); | 
|                 //OrgItem item = new OrgItem(sysOrg); | 
|                 //item.setParent(parent); | 
|                 dels.add(sysOrg); | 
|                 children.add(cor); | 
|             } | 
|         } | 
|         list.removeAll(dels); | 
|         parent.setChildren(children); | 
|         if(list.isEmpty()){ | 
|             return ; | 
|         } | 
|         for(OrgItem child:parent.getChildren()){ | 
|              buildTreeNode(child,list); | 
|         } | 
|     } | 
|   | 
| } |