public List
queryUserPostTaskMenu(HttpServletRequest request, HttpServletResponse response,
String comCode, String gradeCode, String userCode) throws Exception {
BLSystemPostFacade bLSystemPostFacad = new BLSystemPostFacade();
List
menus = bLSystemPostFacad.queryUserPostTaskMenu(comCode, gradeCode, userCode);
Map<String, menu> menuTreeDTOMap = new HashMap<String, menu>();
List
menuTreeList = new ArrayList
();
for (menu menu : menus) {
menu menuTreeDTO = new menu ();
menuTreeDTO.setTaskName(menu.getTaskName());
menuTreeDTO.setTaskCode(menu.getTaskCode());
menuTreeDTO.setParentCode(menu.getParentCode());
String parentMenuId = menu.getParentCode();
if (parentMenuId != null && !"".equals(parentMenuId)) {
UtiTaskDto parentMenuTreeDTO = menuTreeDTOMap.get(parentMenuId);
if (parentMenuTreeDTO != null) {
List
children = parentMenuTreeDTO.getChildList();
if (children == null) {
children = new ArrayList
();
children.add(menuTreeDTO);
parentMenuTreeDTO.setChildList(children);
} else {
children.add(menuTreeDTO);
}
}
} else {
menuTreeList.add(menuTreeDTO);
}
menuTreeDTOMap.put(menu.getTaskCode(), menuTreeDTO);
}
return menuTreeList;
}
bao 层:
select * (SELECT T.TASKCODE, CASE WHEN T.TASKCODE = T.PARENTCODE THEN ‘’ ELSE T.PARENTCODE END AS PARENTCODE, T.TASKNAME, T.REMARK, T.FLAG FROM MENU T + 筛选条件 )TEMP START WITH TEMP.TASKCODE = ’ ’ CONNECT BY PRIOR TEMP.TASKCODE = TEMP.PARENTCODE order by TEMP.TASKCODE ;