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

📄 roleaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yuanchung.sales.struts.admin.role;

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

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.yuanchung.organize.treeview.StringTool;
import com.yuanchung.organize.treeview.TreeViewMgr;
import com.yuanchung.sales.constants.DataBaseTableName;
import com.yuanchung.sales.constants.SystemConstant;
import com.yuanchung.sales.dao.util.UtilDAO;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.admin.Rights;
import com.yuanchung.sales.model.admin.position.PositionRightsArea;
import com.yuanchung.sales.model.admin.role.Role;
import com.yuanchung.sales.model.admin.role.RoleRightArea;
import com.yuanchung.sales.model.admin.role.RoleRights;
import com.yuanchung.sales.model.admin.role.UserRole;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.service.admin.DataAreaSchemeMgr;
import com.yuanchung.sales.service.admin.SetupTreeView;
import com.yuanchung.sales.service.admin.authorization.AuthorizationMgr;
import com.yuanchung.sales.service.admin.rights.RightsMgr;
import com.yuanchung.sales.service.admin.role.RoleMgr;
import com.yuanchung.sales.service.admin.session.RightsSessionMgr;
import com.yuanchung.sales.service.user.UserMgr;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.util.XPage;
import com.yuanchung.sales.vo.right.WebRightsView;
import com.yuanchung.sales.vo.role.RoleVo;

/**
 * MyEclipse Struts Creation date: 10-29-2008
 * 
 * XDoclet definition:
 * 
 * @struts.action path="/role" name="roleForm" input="/form/role.jsp"
 *                parameter="dispatch" scope="request" validate="true"
 */
public class RoleAction extends DispatchAction {
	/*
	 * Generated Methods
	 */

	private Logger logger = Logger.getLogger(RoleAction.class);
	private UserMgr userMgr;
	private RoleMgr roleMgr;
	private TreeViewMgr treeViewMgr;
	private RightsMgr rightsMgr;
	private DataAreaSchemeMgr dataAreaSchemeMgr;
	private AuthorizationMgr authorizationMgr;
	private UtilDAO utilDao;
	private RightsSessionMgr rightsSessionMgr;

	public RightsSessionMgr getRightsSessionMgr() {
		return rightsSessionMgr;
	}

	public void setRightsSessionMgr(RightsSessionMgr rightsSessionMgr) {
		this.rightsSessionMgr = rightsSessionMgr;
	}

	public UtilDAO getUtilDao() {
		return utilDao;
	}

	public void setUtilDao(UtilDAO utilDao) {
		this.utilDao = utilDao;
	}

	public AuthorizationMgr getAuthorizationMgr() {
		return authorizationMgr;
	}

	public void setAuthorizationMgr(AuthorizationMgr authorizationMgr) {
		this.authorizationMgr = authorizationMgr;
	}

	public TreeViewMgr getTreeViewMgr() {
		return treeViewMgr;
	}

	public void setTreeViewMgr(TreeViewMgr treeViewMgr) {
		this.treeViewMgr = treeViewMgr;
	}

	public RightsMgr getRightsMgr() {
		return rightsMgr;
	}

	public void setRightsMgr(RightsMgr rightsMgr) {
		this.rightsMgr = rightsMgr;
	}

	public DataAreaSchemeMgr getDataAreaSchemeMgr() {
		return dataAreaSchemeMgr;
	}

	public void setDataAreaSchemeMgr(DataAreaSchemeMgr dataAreaSchemeMgr) {
		this.dataAreaSchemeMgr = dataAreaSchemeMgr;
	}

	public RoleMgr getRoleMgr() {
		return roleMgr;
	}

	public void setRoleMgr(RoleMgr roleMgr) {
		this.roleMgr = roleMgr;
	}

	public UserMgr getUserMgr() {
		return userMgr;
	}

	public void setUserMgr(UserMgr userMgr) {
		this.userMgr = userMgr;
	}

	/**
	 * 获取权限对象集合到页面 /admin/role/left.jsp
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward getRolesToPage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String forward = "";
		String type = request.getParameter("type");
		if (type != null && type.equals("1")) {
			forward = "manageLeft";
		} else if (type != null && type.equals("2")) {
			forward = "roleLeft";
		}
		List<Role> roles = roleMgr.findAll();
		request.setAttribute("roles", roles);
		return mapping.findForward(forward);
	}

	/**
	 * 查找用户信息到页面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward getUsersToPage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		String forward = "roleUserList";
		// String strId = request.getParameter("roleId");//当前角色ID
		// logger.debug("roleId = " + strId);
		String familyName = request.getParameter("familyName");// 用户姓名
		// int roleId = 0;
		// if(strId != null && !strId.equals("")){
		// roleId = Integer.parseInt(strId);
		// }
		// 根据角色ID搜索所有用户
		// List<User> users = userMgr.findUserByRoleId(roleId , familyName);
		List<User> users = userMgr.findAll(familyName);
		// Role role = roleMgr.findById(roleId);
		if (users != null && users.size() > 0) {
			String currentPage = request.getParameter("currentPage");
			XPage xpage = new XPage(request.getContextPath()
					+ "/role.do?dispatch=getUsersToPage&familyName="
					+ familyName, users.size(), 1, 10, users);
			if (currentPage != null && !currentPage.equals("")) {
				xpage.setCurrentItems(Integer.parseInt(currentPage));
			} else {
				xpage.setCurrentItems(1);
			}
			xpage.setPageBar();
			request.setAttribute("xpage", xpage);
		} else {
			request.setAttribute("isSuccess", Constants.NOUSER);
		}
		// request.setAttribute("role", role);
		return mapping.findForward(forward);
	}

	public ActionForward getRole(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		if (request.getAttribute("delFlag") != null) {
			if ("y".equals(request.getAttribute("delFlag").toString())) {
				request
						.setAttribute("delFlag", request
								.getAttribute("delFlag"));
				request.setAttribute("userRoleIds", request
						.getAttribute("userRoleIds"));
				request
						.setAttribute("message", request
								.getAttribute("message"));
			}
		}
		String forward = "roleList";
		List<Role> roles = roleMgr.findAll();
		// Role role = roleMgr.findById(roleId);
		if (roles != null && roles.size() > 0) {
			String currentPage = request.getParameter("currentPage");
			XPage xpage = new XPage(request.getContextPath()
					+ "/role.do?dispatch=getRole", roles.size(), 1, 10, roles);
			if (currentPage != null && !currentPage.equals("")) {
				xpage.setCurrentItems(Integer.parseInt(currentPage));
			} else {
				xpage.setCurrentItems(1);
			}
			xpage.setPageBar();
			request.setAttribute("xpage", xpage);
		} else {
			request.setAttribute("isSuccess", Constants.NOUSER);
		}
		return mapping.findForward(forward);
	}

	/**
	 * 添加角色 /admin/role/addRole.jsp
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward addRole(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		RoleForm rForm = (RoleForm) form;
		String forward = "roleList";
		String param = request.getParameter("param");
		logger.debug("param:" + param);
		if (param != null && "newAgain".equals(param)) {// 若是保存并新建
			forward = "addRole";
		}
		logger.debug("forward : " + forward);

		logger.debug("添加角色: ");
		Role role = new Role();
		role.setRoleName(rForm.getRoleName());
		roleMgr.save(role);
		request.setAttribute("info", "添加角色成功!");
		if ("roleList".equals(forward)) {
			return getRole(mapping, form, request, response);
		}
		return mapping.findForward(forward);
	}

	/**
	 * 删除角色 /admin/role/roleLeft.jsp
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	// public ActionForward deleteRole(ActionMapping mapping, ActionForm form,
	// HttpServletRequest request, HttpServletResponse response) throws
	// IOException {
	// String message = "";
	//		
	// String rid = request.getParameter("roleId");
	// String type = request.getParameter("type");
	// logger.debug("删除角色: " +rid);
	// int roleId = 0;
	// if(rid != null && !rid.equals("")){
	// roleId = Integer.parseInt(rid);
	// }
	// Role r = new Role();
	// try {
	// r = roleMgr.findById(roleId);//根据角色ID获取角色对象
	// //根据角色ID删除角色关联信息
	// roleMgr.delRoleRelation(r.getId());
	// //删除角色对象
	// roleMgr.delete(r);
	// message = "删除角色 [" + r.getRoleName() + "] 成功!";
	// } catch (Exception e) {
	// message = "删除角色 [" + r.getRoleName() + "] 失败!";
	// }
	// response.setCharacterEncoding("utf-8");
	// PrintWriter out = response.getWriter();
	// out.print("<script>");
	// out.print("location.href='"+request.getContextPath()+"/role.do?dispatch=getRolesToPage&type="+type+"'");
	// out.print("</script>");
	// return null;
	// }
	public ActionForward deleteRole(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		String message = "";
		request.setAttribute("delFlag", "y");

		String rid = request.getParameter("roleId");
		// String type = request.getParameter("type");
		logger.debug("删除角色: " + rid);
		if (rid != null && !rid.equals("")) {
			String[] roleIds = rid.split(",");
			// int roleId = 0;
			// if(rid != null && !rid.equals("")){
			// roleId = Integer.parseInt(rid);
			// }
			// Role r = new Role();
			try {
				// r = roleMgr.findById(roleId);//根据角色ID获取角色对象
				// 根据角色ID删除角色关联信息
				String userRoleIds = roleMgr.delRoleRelation(roleIds);
				logger.debug("userRoleIds : " + userRoleIds);
				logger.debug("完成!");
				request.setAttribute("userRoleIds", userRoleIds);
				message = "y";
			} catch (Exception e) {
				message = "删除角色失败!";
			}
			request.setAttribute("message", message);
		}
		return getRole(mapping, form, request, response);
	}

	/**
	 * 获取角色到授权页面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	public ActionForward getRolesToGrantPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws IOException {
		String message = "";
		String forward = "grantRole";
		String idStr = request.getParameter("userId");
		int userId = 0;
		if (idStr != null && !idStr.equals("")) {
			userId = Integer.parseInt(idStr);
		}
		User user = userMgr.findById(userId);
		List<Role> roles = roleMgr.findAll();
		List<UserRole> ur = roleMgr.findByUserId(userId);
		List<RoleVo> rvs = new ArrayList();
		for (int i = 0; i < roles.size(); i++) {
			RoleVo rv = new RoleVo();
			rv.setId(roles.get(i).getId());
			rv.setRoleName(roles.get(i).getRoleName());
			boolean flag = false;
			for (int j = 0; j < ur.size(); j++) {
				if (ur.get(j).getRoleId().equals(roles.get(i).getId())) {
					flag = true;
					break;
				}
			}
			if (flag) {
				rv.setIsChecked("checked");
			} else {
				rv.setIsChecked("");
			}
			rvs.add(rv);
		}
		request.setAttribute("user", user);
		request.setAttribute("roles", rvs);
		return mapping.findForward(forward);
	}

	/**
	 * 授予用户角色
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 * @throws IOException
	 */
	public ActionForward grantUserRole(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		String message = "";
		String idStr = request.getParameter("userId");
		int userId = 0;
		if (idStr != null && !idStr.equals("")) {
			userId = Integer.parseInt(idStr);
		}
		// 删除用户所有角色的关联关系
		roleMgr.delUserRoleByUserId(userId);
		String[] roleIds = request.getParameterValues("roleIds");
		for (int i = 0; i < roleIds.length; i++) {
			int roleId = 0;
			if (roleIds[i] != null && !roleIds[i].equals("")) {
				roleId = Integer.parseInt(roleIds[i]);
			}
			UserRole ur = new UserRole();
			ur.setRoleId(roleId);
			ur.setUserId(userId);
			try {
				roleMgr.saveUserRole(ur);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		PrintWriter out = response.getWriter();
		out.print("<script>");
		out.print("window.opener.location.reload();");
		out.print("window.close();");
		out.print("</script>");
		return null;
	}

	/**
	 * 获取对象到授权页面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward getObjToPage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {

⌨️ 快捷键说明

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