根據當前節點獲取所有上層結構的組織(遞迴演算法)

2021-09-09 01:38:27 字數 1267 閱讀 8654

根據當前節點獲取所有上層結構的組織(遞迴演算法)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

蕃薯耀 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 ...