manager_menu_rolebean.java
来自「java开发的办公系统 1.系统管理 (地区管理,部门管理,菜单管理,用户管理」· Java 代码 · 共 270 行
JAVA
270 行
package com.vere.manager.bean; import java.sql.*; import java.util.*; import com.vere.db.*; import com.vere.manager.item.*; public class Manager_menu_roleBean { private ResultSet rs=null; private int keyId; private int totalRecord; private Access access = null; private StringBuffer buff=new StringBuffer(); private int level_num=0; private Manager_menu_roleItem auItem=null; public Manager_menu_roleBean() { try { access=new Access(); } catch(Exception e) { System.out.println(e.toString()); } } public boolean is_inMenu(String menuids,String menuid)//判断是否有菜单权限 { boolean b=false; menuids=","+menuids+","; if(menuids.indexOf(","+menuid+",")>-1) b=true; return b; } public boolean is_inFunc(String func_ids,String func_id)//判断是否有菜单功能权限 { boolean b=false; String[] func_id_array=func_ids.split("_"); for(int i=0;i<func_id_array.length;i++) { String str=func_id_array[i]; str=","+str+","; if(str.indexOf(","+func_id+",")>-1) { b=true; break; } } return b; } /** * @author Administrator * @param 无 * @return ArrayList:Manager_menuItem 对象的 ArrayList 数组 * @see 角色拥有的权限菜单 */ public String roleAuHtmlListMenu(String roleid){ Manager_menuBean menuBean=new Manager_menuBean(); List list=menuBean.find(); auItem=findByRoleid(roleid); buff.append("<table class='contentsTable' border='0' cellpadding='0' cellspacing='1'>"); buff.append("<tr class='tr1' align=center ><td width=40% >菜单名称</td><td>功能名称</td></tr>"); Iterator e=list.iterator(); while(e.hasNext()){ Manager_menuItem rItem=(Manager_menuItem)e.next(); if(!rItem.getPid().equals("0")) break; buff.append("<tr class='tr2'>"); if(is_inMenu(auItem.getMenuid(),rItem.getId())) buff.append("<td><input type='checkbox' name='id1' id='id1' checked value='"+rItem.getId()+"'>"+rItem.getName()+"</td>");//菜单名称 else buff.append("<td><input type='checkbox' name='id1' id='id1' value='"+rItem.getId()+"'>"+rItem.getName()+"</td>");//菜单名称 buff.append("<td>");//功能名称 String[] func_ids=rItem.getFunc_id().split(","); String[] func_names=rItem.getFunc_name().split(","); for(int k=0;!rItem.getFunc_id().equals("")&&k<func_ids.length;k++) { if(is_inFunc(auItem.getFunc_id(),func_ids[k])) buff.append("<input type='checkbox' checked name='id2' id='"+rItem.getId()+"' value='"+func_ids[k]+"'>"+func_names[k]);//功能名称 else buff.append("<input type='checkbox' name='id2' id='"+rItem.getId()+"' value='"+func_ids[k]+"'>"+func_names[k]);//功能名称 } buff.append("</td>");//功能名称 buff.append("</tr>"); String levelStr=""; level_num=1; for(int i=0;i<list.size();i++) { Manager_menuItem subItem=(Manager_menuItem)list.get(i); for(int j=0;j<level_num;j++) levelStr+="----"; if(subItem.getPid().equals(rItem.getId())) { buff.append("<tr class='tr2'>"); if(is_inMenu(auItem.getMenuid(),subItem.getId())) buff.append("<td>"+levelStr+"<input type='checkbox' checked name='id1' id='id1' value='"+subItem.getId()+"'>"+subItem.getName()+"</td>");//菜单名称 else buff.append("<td>"+levelStr+"<input type='checkbox' name='id1' id='id1' value='"+subItem.getId()+"'>"+subItem.getName()+"</td>");//菜单名称 buff.append("<td>");//功能名称 func_ids=subItem.getFunc_id().split(","); func_names=subItem.getFunc_name().split(","); for(int k=0;!subItem.getFunc_id().equals("")&&k<func_ids.length;k++) { if(is_inFunc(auItem.getFunc_id(),func_ids[k])) buff.append("<input type='checkbox' checked name='id2' id='"+subItem.getId()+"' value='"+func_ids[k]+"'>"+func_names[k]);//功能名称 else buff.append("<input type='checkbox' name='id2' id='"+subItem.getId()+"' value='"+func_ids[k]+"'>"+func_names[k]);//功能名称 } buff.append("</td>");//功能名称 buff.append("</tr>"); subRoleAuHtmlListMenu(list,subItem.getId(),roleid); } levelStr=""; } } buff.append("</table>"); return buff.toString(); } /** * @author Administrator * @param 无 * @return ArrayList:Manager_menuItem 对象的 ArrayList 数组 * @see 角色拥有的权限子菜单递归 */ public void subRoleAuHtmlListMenu(List list,String id,String roleid){ level_num++; for(int i=0;i<list.size();i++) { Manager_menuItem subItem=(Manager_menuItem)list.get(i); String levelStr=""; for(int j=0;j<level_num;j++) levelStr+="----"; if(subItem.getPid().equals(id)) { buff.append("<tr class='tr2'>"); if(is_inMenu(auItem.getMenuid(),subItem.getId())) buff.append("<td>"+levelStr+"<input type='checkbox' checked name='id1' id='id1' value='"+subItem.getId()+"'>"+subItem.getName()+"</td>");//菜单名称 else buff.append("<td>"+levelStr+"<input type='checkbox' name='id1' id='id1' value='"+subItem.getId()+"'>"+subItem.getName()+"</td>");//菜单名称 buff.append("<td>");//功能名称 String[] func_ids=subItem.getFunc_id().split(","); String[] func_names=subItem.getFunc_name().split(","); for(int k=0;!subItem.getFunc_id().equals("")&&k<func_ids.length;k++) { if(is_inFunc(auItem.getFunc_id(),func_ids[k])) buff.append("<input type='checkbox' checked name='id2' id='"+subItem.getId()+"' value='"+func_ids[k]+","+func_names[k]+"'>"+func_names[k]);//功能名称 else buff.append("<input type='checkbox' name='id2' id='"+subItem.getId()+"' value='"+func_ids[k]+","+func_names[k]+"'>"+func_names[k]);//功能名称 } buff.append("</td>");//功能名称 buff.append("</tr>"); subRoleAuHtmlListMenu(list,subItem.getId(),roleid); levelStr=""; } } level_num--; } /** * @author Administrator * @param id: 当前要修改记录的id号 * @return Manager_menu_roleItem * @see 取出 manager_menu_role 表中的指定id号的一条记录存储在一个 Manager_menu_roleItem 对象中 */ public Manager_menu_roleItem findByRoleid(String roleid){ try { String sql="select * from "+T.MANAGER_MENU_ROLE+" where roleid="+roleid; rs = executeQuery(sql); Manager_menu_roleItem item=new Manager_menu_roleItem(); if(rs.next()){ item.setMenuid(rs.getString("menuid")); item.setRoleid(rs.getString("roleid")); item.setFunc_id(rs.getString("func_id")); } return item; }catch(SQLException e){ System.out.print(e.toString()); return null; } finally{ DBclose(); } } /** * @author Administrator * @param item:要添加的数据对象Manager_menu_roleItem * @return boolean:是否添加成功,如果添加成功返回true,否则返回false * @see 添加一条记录 */ public boolean addItem(Manager_menu_roleItem item){ try{ String sql="delete from "+T.MANAGER_MENU_ROLE+" where roleid="+item.getRoleid() ; executeUpdate(sql); if(item.getMenuid().equals("")) return true; sql="insert into "+T.MANAGER_MENU_ROLE+"("+ "menuid,"+ "roleid,"+ "func_id)values("+ "'"+item.getMenuid()+"',"+ ""+item.getRoleid()+","+ "'"+item.getFunc_id()+"')"; return executeUpdate(sql); }catch(Exception e){ System.out.println(e.toString()); return false; } finally{ DBclose(); } } /** * @author Administrator * @param sql:要更新的sql 语句 * @return boolean:如果执行成功返回true,否则返回false * @see 执行更新一条sql 语句 */ public boolean executeUpdate(String sql){ try{ access.getConnection(); return access.executeUpdate(sql); } catch(Exception e){ System.out.println(e.toString()); return false; } } /** * @author Administrator * @param sql:要查询的sql 语句 * @return boolean:如果执行成功返回true,否则返回false * @see 执行查询一条sql 语句 */ public ResultSet executeQuery(String sql){ try { access.getConnection(); rs=access.executeQuery(sql); return rs; } catch(Exception e){ System.out.println(e.toString()); return null; } } /** * @author Administrator * @param 无 * @return 无 * @see 关闭数据库操作对象 */ public void DBclose(){ try { access.DBclose(rs); } catch(Exception e) { System.out.println(e.toString()); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?