public ResultObject createMenu(SysMenu sysMenu) throws Exception {
   sysMenu.setId(idGenerator.getNextId(SysMenu.class.getSimpleName()).intValue());
   SysMenuItem sysMenuItem = new SysMenuItem();
   sysMenuItem.setId(idGenerator.getNextId(SysMenuItem.class.getSimpleName()).intValue());
   sysMenuItem.setMenuId(sysMenu.getId());
   sysMenuItem.setModuleid(-1);
   sysMenuItem.setParentId(-1);
   sysMenuItem.setName(sysMenu.getName());
   sysMenuItem.setState("closed");
   sysMenu.setRootitemid(sysMenuItem.getId());
   menuOptionDao.save(sysMenuItem);
   return wrapResult(sysMenuDao.save(sysMenu));
 }
  public boolean addMenuItem(BigInteger moduleId, BigInteger targetId, String textName)
      throws Exception {

    boolean flag = false;
    SysMenuItem sysMenuItem = null;
    if (moduleId.intValue() != -1) {

      // 得到添加的模块的详细信息

      SysModule sysModule = sysModuleDAO.findById(moduleId.intValue());
      // 新建菜单信息
      sysMenuItem = new SysMenuItem(sysModule);
      sysMenuItem.setId(idGenerator.getNextId(SysMenuItem.class.getSimpleName()).intValue());
      sysMenuItem.setIconfile(MenuConstant.DEFAULT_MENU_ICON);

    } else {
      sysMenuItem = new SysMenuItem();
      sysMenuItem.setId(idGenerator.getNextId(SysMenuItem.class.getSimpleName()).intValue());
      sysMenuItem.setModuleid(-1);
      sysMenuItem.setName(textName);
      sysMenuItem.setTip(textName);
    }
    // 得到插入组位置的信息
    SysMenuItem targetMenuItem = menuOptionDao.findById(targetId.intValue());

    // 判断目标位置的类型
    if (targetMenuItem.getModuleid() == -1) // 文件夹
    {
      menuOptionDao.append(sysMenuItem, targetMenuItem);
    } else { // 普通菜单,直接插入到菜单后
      menuOptionDao.InsertAfterTarget(sysMenuItem, targetMenuItem);
    }
    sysMenuItem.setMenuId(targetMenuItem.getMenuId());
    // 保存
    menuOptionDao.save(sysMenuItem);
    menuOptionDao.update(targetMenuItem);
    flag = true;
    return flag;
  }