根據當前節點獲取所有上層結構的組織(遞迴演算法)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2023年3月11日 15:18:10 星期五
一、使用的範圍是最頂層的父項id(parentorgid)必須為空,作為遞迴演算法的出口。
實現的效果如下:
中國燃氣 → 中國燃氣控股**** → 研發測試中心--03 → 中試專案公司--02 → 第二專案公司 → 第二部門002
/**
* 遞迴獲取傳入組織org的父項組織層級關係
* @param org
* @param orgs 返回的父項組織層級關係集合(包含org本身)
*/public void getorgparents(org org, listorgs)
orgs.add(org);
} }/**
* 根據父項組織層級關係集合(parentorgs)獲取顯示的字串
* @param parentorgs 父項組織層級關係集合
* @param linksymbol 字串連線符號,linksymbol==null時預設為→,可以設定為「—」、「——」等特殊符號
*/public string getorgparentsstring(listparentorgs, string linksymbol)
for (org parent : parentorgs)
if(parentstring.indexof(linksymbol) > -1)
return parentstring.tostring();
}
二、實現呼叫
1、原理:根據傳入的使用者id獲取所有的部門後,再分別根據每個部門去獲取層級關係,直到最頂層,然後拼接成字串返回給物件
蕃薯耀 2023年3月11日 15:18:10 星期五
遞迴獲取當前節點和所有父節點
listlistparentgolder new list 獲取當前節點和所有父節點 private mymanagefolderinforesponse getparentfolder mymanagefolderinforesponse mymanagefolderentity,listlist...
根據相同的class名獲取所有的節點
做專案遇到乙個最操蛋的情況,就是好幾個class相同,怎麼改?於是有了一下的辦法。function getclass tagname,classname else return tagarr 試了一下,專案中通用且萬能 舉個小栗子 var allscore 0 var topmenus getcla...
遞迴獲取當前父節點下的所有子集
獲取當前父節點下的所有子集 private listgetchildfolder string parent id,listallfolderlist 級數 public int step number 1 public string b id 資料夾名稱 public string folder ...