⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sm_roleinfoservlet.java

📁 J2ee开发的 人事管理系统 使用oracle数据库 myeclips平台开发
💻 JAVA
字号:
package com.galaxy.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.galaxy.dao.RiPiRsIdDAO;
import com.galaxy.dao.RoleInfoDAO;
import com.galaxy.vo.PowerInfoVO;
import com.galaxy.vo.RiPiRsIdVO;
import com.galaxy.vo.RoleInfoVO;;

public class SM_RoleInfoServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public SM_RoleInfoServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

			doPost(request,response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		response.setCharacterEncoding("gb2312");
		request.setCharacterEncoding("gb2312");
		String opflag = request.getParameter("opflag");
		if("init".equals(opflag)){
			showlist(request,response);
		}
		else if("add".equals(opflag)){
			addrole(request,response);
		}
		else if("del".equals(opflag)){
			delrole(request,response);
		}
		else if("edit".equals(opflag)){
			editrole(request,response);
			//编辑的时候是先将ri_pi_id表中的对应关系删除再添加新的对应关系
		}
		
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occure
	 */
	public void init() throws ServletException {
		// Put your code here
	}
	
	private void showlist(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		List roles = new ArrayList();
		RoleInfoDAO roleinfodao = new RoleInfoDAO();
		String cond = " order by ri_id";
		roles = roleinfodao.queryByCondition(cond);
		request.setAttribute("roles", roles);
		request.getRequestDispatcher("sys_manage\\sys_rolemanage_delete.jsp").forward(request, response);
	}
	
	private void addrole(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		RoleInfoVO rolevo = new RoleInfoVO();
		PowerInfoVO powervo = new PowerInfoVO();
		RiPiRsIdVO rpvo = new RiPiRsIdVO();
		RoleInfoDAO roledao = new RoleInfoDAO();
		RiPiRsIdDAO rpdao = new RiPiRsIdDAO();
		
		//给powervo填充。。
		powervo.setPiName("");
		powervo.setPiPage("");
		powervo.setPiUp("");
		
		//判断输入的角色名是否存在
		List l = roledao.queryByCondition(" and ri_name="+request.getParameter("rolename"));
		if(l.size() == 0){
			//添加角色
			int result = 0;
			rolevo.setRiName(request.getParameter("rolename"));
			rolevo.setRiTag(request.getParameter("roletag"));
			result = roledao.addObject(rolevo);
			if(result != 0)//角色添加成功了才能添加角色和权限的对应关系
			{
				//取出新添加角色  包含ID
				String cond = " and ri_name='"+rolevo.getRiName()+"'";
				List role = roledao.queryByCondition(cond);
				rolevo = (RoleInfoVO)role.get(0);
				
				String power[] = request.getParameterValues("powerid");
				boolean flag1 = false;
				boolean flag2 = false;
				boolean flag3 = false;
				boolean flag4 = false;
				for(int i = 0; i < power.length; i++)
				{
					Long powerid = Long.parseLong(power[i]);
					if((powerid >= 27 || powerid <= 32) && flag1 == false)//属于人员档案
					{
						powervo.setPiId(27l);//将人员档案添加入权限
						rpvo.setPowerInfo(powervo);
						rpvo.setRoleInfo(rolevo);
						rpdao.addObject(rpvo);
						flag1 = true;
					}
					else if((powerid >= 33 || powerid <= 37) && flag2 == false)//属于人事调配
					{
						powervo.setPiId(33l);
						rpvo.setPowerInfo(powervo);
						rpvo.setRoleInfo(rolevo);
						rpdao.addObject(rpvo);
						flag2 = true;
					}
					else if((powerid >= 38 || powerid <= 45) && flag3 == false)//属于教育培训
					{
						powervo.setPiId(38l);
						rpvo.setPowerInfo(powervo);
						rpvo.setRoleInfo(rolevo);
						rpdao.addObject(rpvo);
						flag3 = true;
					}
					else if((powerid >= 46 || powerid <= 51) && flag4 == false)//属于系统管理
					{
						powervo.setPiId(46l);
						rpvo.setPowerInfo(powervo);
						rpvo.setRoleInfo(rolevo);
						rpdao.addObject(rpvo);
						flag4 = true;
					}
		
					powervo.setPiId(Long.parseLong(power[i]));
					rpvo.setPowerInfo(powervo);
					rpvo.setRoleInfo(rolevo);
					rpdao.addObject(rpvo);	
				}	
			}
			
			if(result != 0)
				request.getRequestDispatcher("SM_RoleInfoServlet?opflag=init").forward(request, response);
			else
				request.getRequestDispatcher("erropage.jsp").forward(request, response);
		}
		else
			request.getRequestDispatcher("erropage.jsp").forward(request, response);
	}
	
	private void delrole(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		String roles[] = request.getParameterValues("checkbox");
		String cond = "";
		for(int i = 0; i < roles.length; i++)
		{
			cond += ","+roles[i];
		}
		cond = cond.substring(1);
		RiPiRsIdDAO rpdao = new RiPiRsIdDAO();
		RoleInfoDAO roledao = new RoleInfoDAO();
		int i = 0;
		i = rpdao.deleteObject(cond);//首先删除对应关系
		if(i != 0)
			roledao.deleteObject(cond);//再删除角色
		request.getRequestDispatcher("SM_RoleInfoServlet?opflag=init").forward(request, response);
	}
	
	private void editrole(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		String newpowers[] = request.getParameterValues("powerid");
		String roleid = request.getParameter("roleid");
		RiPiRsIdDAO rpdao = new RiPiRsIdDAO();
		int result1 = 0;
		int result2 = 0;
		//删除旧的角色权限对应关系
		result1 = rpdao.deleteObject(roleid);
		if(result1 != 0)
		{
			//更新角色信息
			RoleInfoVO rolevo = new RoleInfoVO();
			RoleInfoDAO roledao = new RoleInfoDAO();
			rolevo.setRiId(Long.parseLong(roleid));
			rolevo.setRiName(request.getParameter("rolename"));
			rolevo.setRiTag(request.getParameter("roletag"));
			rolevo.setRiExtend("");
			result2 = roledao.updateObject(rolevo);
			System.out.println("11111111111111");
			
			//添加新的角色权限对应关系
			RiPiRsIdVO rpvo = new RiPiRsIdVO();
			PowerInfoVO powervo = new PowerInfoVO();
			powervo.setPiName("");
			powervo.setPiPage("");
			powervo.setPiUp("");
			boolean flag1 = false;
			boolean flag2 = false;
			boolean flag3 = false;
			boolean flag4 = false;
			for(int i = 0; i < newpowers.length; i++)
			{
				Long powerid = Long.parseLong(newpowers[i]);
				if((powerid >= 27 || powerid <= 32) && flag1 == false)//属于人员档案
				{
					powervo.setPiId(27l);//将人员档案添加入权限
					rpvo.setPowerInfo(powervo);
					rpvo.setRoleInfo(rolevo);
					rpdao.addObject(rpvo);
					flag1 = true;
				}
				else if((powerid >= 33 || powerid <= 37) && flag2 == false)//属于人事调配
				{
					powervo.setPiId(33l);
					rpvo.setPowerInfo(powervo);
					rpvo.setRoleInfo(rolevo);
					rpdao.addObject(rpvo);
					flag2 = true;
				}
				else if((powerid >= 38 || powerid <= 45) && flag3 == false)//属于教育培训
				{
					powervo.setPiId(38l);
					rpvo.setPowerInfo(powervo);
					rpvo.setRoleInfo(rolevo);
					rpdao.addObject(rpvo);
					flag3 = true;
				}
				else if((powerid >= 46 || powerid <= 51) && flag4 == false)//属于系统管理
				{
					powervo.setPiId(46l);
					rpvo.setPowerInfo(powervo);
					rpvo.setRoleInfo(rolevo);
					rpdao.addObject(rpvo);
					flag4 = true;
				}

				powervo.setPiId(Long.parseLong(newpowers[i]));
				rpvo.setPowerInfo(powervo);
				rpvo.setRoleInfo(rolevo);
				rpdao.addObject(rpvo);	
			}	
		}
		if(result1 != 0 && result2 != 0)
			request.getRequestDispatcher("SM_RoleInfoServlet?opflag=init").forward(request, response);
		else
			request.getRequestDispatcher("erropage.jsp").forward(request, response);
	}
}


















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -