📄 roleaction.java
字号:
/*
* 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 + -