不确定下钻数的循环(部门下所属部门 多层下钻)
生活随笔
收集整理的這篇文章主要介紹了
不确定下钻数的循环(部门下所属部门 多层下钻)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//下鉆5層部門,無法動態(tài)確定 只能處理5層部門for (TSDepart tsd : departsList) {departsId.add(tsd.getId());List<TSDepart> tsdChildsList = tsd.getTSDeparts();for (TSDepart tsdc : tsdChildsList) {departsId.add(tsdc.getId());List<TSDepart> tsdChildsList2 = tsdc.getTSDeparts();for (TSDepart tsdc2 : tsdChildsList2) {departsId.add(tsdc2.getId());List<TSDepart> tsdChildsList3 = tsdc2.getTSDeparts();for (TSDepart tsdc3 : tsdChildsList3) {departsId.add(tsdc3.getId());List<TSDepart> tsdChildsList4 = tsdc3.getTSDeparts();for (TSDepart tsdc4 : tsdChildsList4) {departsId.add(tsdc4.getId());List<TSDepart> tsdChildsList5 = tsdc4.getTSDeparts();for (TSDepart tsdc5 : tsdChildsList5) {departsId.add(tsdc5.getId());}}}}}} //=========================動態(tài)下鉆多層 ===========================//不定下鉆次數(shù) 循環(huán)public Map<String,Object> doAllFor(TSDepart tSDepart){Map<String,Object> map = Maps.newHashMap();List<String> departsId = Lists.newArrayList();departsId.add(tSDepart.getId());for (TSDepart tsdc : tSDepart.getTSDeparts()) {departsId.add(tsdc.getId());}map.put("departsId", departsId);//map.put("childsList", tSDepart.getTSDeparts());//return map;}//調(diào)用List<TSDepart> departsList = systemService.getListByCriteriaQuery(cqorg, false);//下屬部門 List<TSDepart> tempList = Lists.newArrayList();//1List<TSDepart> childsList = Lists.newArrayList();//2tempList.addAll(departsList);//第一層//遍歷第一層的數(shù)據(jù)并匯總第二層的數(shù)據(jù)...k:for (int i = 0; i < tempList.size(); i++) {TSDepart tsd = tempList.get(i);Map<String,Object> map = doAllFor(tsd);departsId.addAll((List<String>) map.get("departsId"));childsList.addAll((List<TSDepart>) map.get("childsList"));if(oConvertUtils.isNotEmpty(childsList) && i == (tempList.size()-1) ) {tempList = Lists.newArrayList();tempList.addAll(childsList);childsList = Lists.newArrayList();i = 0;continue k;}}
?
總結(jié)
以上是生活随笔為你收集整理的不确定下钻数的循环(部门下所属部门 多层下钻)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】Ivy 开源框架,深度学习大
- 下一篇: 图机器学习中的数据增强技术