| 
					
				 | 
			
			
				@@ -189,6 +189,40 @@ public class OrgServiceImpl implements OrgService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return trees; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public List<OrgTree> getUserTrees(Org org) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        LoginUser currentUser = UserUtil.getCurrentUser(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        org.setTenantId(currentUser.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Set<Integer>orgIds=new HashSet<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<ProgramItem> programItemList = currentUser.getProgramItemList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(programItemList!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            programItemList.forEach(programItem -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                orgIds.add(programItem.getOrgId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<OrgTree> trees=new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if("company".equals(org.getOrgType())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(currentUser.getDepartmentId()==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                trees=orgMapper.selectTrees(org); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                trees=getOrgTree(trees,currentUser.getCompanyId(),1,orgIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                org.setId(currentUser.getCompanyId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                trees=orgMapper.selectTrees(org); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(currentUser.getDepartmentId()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                org.setOrgType("department"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                trees=orgMapper.selectTrees(org); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                trees=getOrgTree(trees,currentUser.getDepartmentId(),1,orgIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return trees; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static List<OrgTree> getOrgTree(List<OrgTree> list, Integer id, Integer level, Set<Integer> set) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<OrgTree> temList = newArrayList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (list != null) { 
			 |