manager_menu_userbean.java

来自「java开发的办公系统 1.系统管理 (地区管理,部门管理,菜单管理,用户管理」· Java 代码 · 共 268 行

JAVA
268
字号
package com.vere.manager.bean;	import java.sql.*;	import java.util.*;	import com.vere.db.*;	import com.vere.manager.item.*;	public class Manager_menu_userBean	{		private ResultSet rs=null;		private Access access = null;		private StringBuffer buff=new StringBuffer();		private int level_num=0;		private Manager_menu_userItem auItem=null;		public Manager_menu_userBean()		{			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 userAuHtmlListMenu(String username){			Manager_menuBean menuBean=new Manager_menuBean();			List list=menuBean.find();			auItem=findByUsername(username);			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>");						subUserAuHtmlListMenu(list,subItem.getId(),username);					}					levelStr="";				}			}			buff.append("</table>");			return buff.toString();		}				/**		 * @author	Administrator		 * @param	无		 * @return	ArrayList:Manager_menuItem 对象的 ArrayList 数组		 * @see		角色拥有的权限子菜单递归		 */		public void subUserAuHtmlListMenu(List list,String id,String username){			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>");					subUserAuHtmlListMenu(list,subItem.getId(),username);					levelStr="";				}			}			level_num--;		}				/**		 * @author	Administrator		 * @param	id: 当前要修改记录的id号		 * @return	Manager_menu_roleItem		 * @see		取出 manager_menu_role 表中的指定id号的一条记录存储在一个 Manager_menu_roleItem 对象中		 */		public Manager_menu_userItem findByUsername(String username){			try {				String sql="select * from "+T.MANAGER_MENU_USER+" where username='"+username+"'";				rs = executeQuery(sql);				Manager_menu_userItem item=new Manager_menu_userItem();				if(rs.next()){					item.setMenuid(rs.getString("menuid"));					item.setUsername(rs.getString("username"));					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_userItem item){			try{				String sql="delete from  "+T.MANAGER_MENU_USER+"  where username='"+item.getUsername()+"'" ;				executeUpdate(sql);				if(item.getMenuid().equals(""))					return true;				sql="insert into "+T.MANAGER_MENU_USER+"("+							"menuid,"+							"username,"+							"func_id)values("+							"'"+item.getMenuid()+"',"+							"'"+item.getUsername()+"',"+							"'"+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 + -
显示快捷键?