/**
  * @author JQchen
  * @describe 获取底部菜单列表
  * @version 2015-11-24 下午6:28:27
  * @return
  */
 @Override
 public List<Map<String, Object>> selectFootMenuListByType() {
   dataMapList = new ArrayList<Map<String, Object>>();
   log.info("中科菜单模块---获取底部菜单列表---接收请求对象");
   ZkMenu zkMenu = new ZkMenu();
   // 根据父ID 菜单类型查询菜单list 查询顶级菜单列表
   zkMenu.setParentfunctionid(
       "isHead"); // 设置顶级父类,isHead为查询条件,实现parentfunctionid is null or parentfunctionid=''查询
   zkMenu.setShow_type(ZkMenuUtil.SHOW_TYPE_24);
   List<ZkMenuData> headMenuList = zkEnMenuDao.queryListByObject(zkMenu);
   if (headMenuList != null && headMenuList.size() > 0) {
     // 声明新的子菜单列表
     for (ZkMenuData m : headMenuList) {
       Map<String, Object> datamap = new HashMap<String, Object>();
       // 将顶级菜单对象添加到map:菜单id为key ,菜单对象调用递归方法 获取所有的子菜单列表 为value
       datamap.put("id", m.getId());
       datamap.put("functionname", m.getFunctionname());
       List<ZkMenuData> sublist = getSubData(m, ZkMenuUtil.SHOW_TYPE_24).getSubList();
       // 如果下级获取不到子列表 获取更下级列表
       if (sublist == null || sublist.size() < 1) {
         List<ZkMenuData> ssublist = getFootSubData(m.getId(), new ArrayList<ZkMenuData>());
         datamap.put("subList", ssublist);
       } else {
         // 获取到子列表 在获取更下级菜单
         sublist.addAll(getFootSubData(m.getId(), new ArrayList<ZkMenuData>()));
         datamap.put("subList", sublist);
       }
       dataMapList.add(datamap);
     }
   }
   return dataMapList;
 }
 /**
  * @author JQchen
  * @describe 根据父菜单ID查询首部菜单列表
  * @version 2015-11-24 下午6:31:24
  * @param parentId
  * @return
  */
 @Override
 public List<Map<String, Object>> selectHeadMenuByParentId(String parentId) {
   dataMapList = new ArrayList<Map<String, Object>>();
   log.info("中科菜单模块---根据父菜单ID查询首部菜单列表---接收请求对象:parentId{}" + parentId);
   ZkMenuData menu = zkEnMenuDao.queryById(parentId);
   if (menu != null) {
     Map<String, Object> map = new HashMap<String, Object>();
     map.put("id", menu.getId());
     map.put("functionname", menu.getFunctionname());
     map.put("subList", getSubData(menu, ZkMenuUtil.SHOW_TYPE_14).getSubList());
     dataMapList.add(map);
   }
   return dataMapList;
 }