📄 positionaction.java
字号:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yuanchung.sales.struts.admin.position;
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.TreeViewMgr;
import com.yuanchung.organize.treeview.TreeViewRender;
import com.yuanchung.sales.constants.SystemConstant;
import com.yuanchung.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.IllegalParameterException;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.admin.DataAreaScheme;
import com.yuanchung.sales.model.admin.Rights;
import com.yuanchung.sales.model.admin.position.PositionRights;
import com.yuanchung.sales.model.admin.position.PositionRightsArea;
import com.yuanchung.sales.model.admin.position.UserRights;
import com.yuanchung.sales.model.admin.position.UserRightsArea;
import com.yuanchung.sales.model.admin.position.UserRightsFlag;
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.position.PositionMgr;
import com.yuanchung.sales.service.admin.position.UserRightsMgr;
import com.yuanchung.sales.service.admin.rights.RightsMgr;
import com.yuanchung.sales.service.user.UserMgr;
import com.yuanchung.sales.util.Constants;
import com.yuanchung.sales.vo.right.WebRightsView;
/**
* MyEclipse Struts Creation date: 10-29-2008
*
* XDoclet definition:
*
* @struts.action path="/position" name="positionForm"
* input="/form/position.jsp" parameter="dispatch"
* scope="request" validate="true"
*/
public class PositionAction extends DispatchAction {
/*
* Generated Methods
*/
private Logger logger = Logger.getLogger(PositionAction.class);
private TreeViewMgr treeViewMgr;
private DataAreaSchemeMgr dataAreaSchemeMgr;
private PositionMgr positionMgr;
private RightsMgr rightsMgr;
private AuthorizationMgr authorizationMgr;
private UserMgr userMgr;
private UserRightsMgr userRightsMgr;
public UserRightsMgr getUserRightsMgr() {
return userRightsMgr;
}
public void setUserRightsMgr(UserRightsMgr userRightsMgr) {
this.userRightsMgr = userRightsMgr;
}
public UserMgr getUserMgr() {
return userMgr;
}
public void setUserMgr(UserMgr userMgr) {
this.userMgr = userMgr;
}
public AuthorizationMgr getAuthorizationMgr() {
return authorizationMgr;
}
public void setAuthorizationMgr(AuthorizationMgr authorizationMgr) {
this.authorizationMgr = authorizationMgr;
}
public RightsMgr getRightsMgr() {
return rightsMgr;
}
public void setRightsMgr(RightsMgr rightsMgr) {
this.rightsMgr = rightsMgr;
}
public PositionMgr getPositionMgr() {
return positionMgr;
}
public void setPositionMgr(PositionMgr positionMgr) {
this.positionMgr = positionMgr;
}
public DataAreaSchemeMgr getDataAreaSchemeMgr() {
return dataAreaSchemeMgr;
}
public void setDataAreaSchemeMgr(DataAreaSchemeMgr dataAreaSchemeMgr) {
this.dataAreaSchemeMgr = dataAreaSchemeMgr;
}
public TreeViewMgr getTreeViewMgr() {
return treeViewMgr;
}
public void setTreeViewMgr(TreeViewMgr treeViewMgr) {
this.treeViewMgr = treeViewMgr;
}
/**
* Method getObjToPage 取得功能权限转到功能权限主页面。
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward [ /admin/position/main.jsp ]getRightsToPage
*/
public ActionForward getObjToPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
logger.debug("开始处理......");
// 定义转向页面变量
String forward = "positionMain";
// 获取页面传递参数
String objId = request.getParameter("objId");
int positionId = 0;
if (objId != null && !objId.equals("")) {
positionId = Integer.parseInt(objId);
}
// 根据ID获取Treeview实体对象
// try {
Treeview treeview = treeViewMgr.getTreeviewDao().findById(positionId);
if (treeview == null) {
treeview = new Treeview();
}
// 获取岗位已有权限
List<PositionRights> positionRights = positionMgr
.getRightsByPositionId(positionId);
// hrw 2008-12-10 modify
Map<String, WebRightsView> webRightsViews = rightsMgr
.getWebRightsView(positionRights, Constants.POSITION_FLAG,Constants.JSPRIGHTSCONTROL_NO);
request.setAttribute("webRightsViews", webRightsViews);
logger.debug("webRightsViews : " + webRightsViews.size());
request.setAttribute("positionRights", positionRights);
// modify end
request.setAttribute("treeview", treeview);
logger.debug("完成!");
// } catch (IllegalParameterException e) {
// logger.error(e.getMessage());
// throw e;
// }
return mapping.findForward(forward);
}
/**
* Method getRightsToPage 根据权限树节点ID,获取节点对象跳转到数据范围授权页面deptTree.jsp
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward [ /admin/authorization/deptTree.jsp ]
*/
public ActionForward getRightsToPage(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
// 定义转向页面变量
String forward = "deptTree";
PositionForm pForm = (PositionForm)form;
if(pForm.getForward() != null && !"".equals(pForm.getForward())){
forward = pForm.getForward();
if(pForm.getRightsFlag() == Constants.RIGHTS_POSITION_FLAG){
User user = userMgr.findById(pForm.getUserId());
request.setAttribute("user", user);
}
}
// 获取页面传递参数
String pId = request.getParameter("positionId");// 岗位ID
logger.debug("positionId : " + pId);
String rId = request.getParameter("rightsId");// 权限ID
int rightsId = 0;
int positionId = 0;
if (pId != null && !pId.equals("")) {
positionId = Integer.parseInt(pId);
}
if (rId != null && !rId.equals("")) {
rightsId = Integer.parseInt(rId);
}
// 2008-12-18 hrw add
String dataArea = request.getParameter("dataArea");
logger.debug("dataArea : " + dataArea);
if (dataArea == null) {
dataArea = "";
}
logger.debug("dataArea : " + dataArea);
// end add
try {
// 根据ID获取Rights实体对象
Rights rights = rightsMgr.getRightsDAO().findById(rightsId);
// 根据ID获取Treeview实体对象
Treeview position = treeViewMgr.getTreeviewDao().findById(
positionId);
logger.debug("岗位ID " + positionId);
if (rights == null) {
rights = new Rights();
}
if (position == null) {
position = new Treeview();
}
// 获取权限已有数据范围
// hrw 2008-12-16 modify 如果数据范围在页面有重新选过,不再从数据库取。
List<PositionRightsArea> positionRightsArea = new ArrayList<PositionRightsArea>();
if (!"".equals(dataArea) && dataArea != null) {
String[] dataAreas = dataArea.split(",");
logger.debug("dataAreas : " + dataAreas.length);
positionRightsArea = authorizationMgr
.conversionPositionRightsArea(dataAreas);
} else {
positionRightsArea = positionMgr.getDataAreaByRidPid(rightsId,
positionId);
}
// end modify
logger.debug("岗位权限数据范围长度 " + positionRightsArea.size());
// 2008-12-16 hrw modify
// request.setAttribute("positionRightsArea", positionRightsArea);
String prJavascriptStr = SetupTreeView.getSetupObjTreeView("", 1,
positionRightsArea,Constants.POSITION_FLAG);
request.setAttribute("prJavascriptStr", prJavascriptStr);
// modify end
request.setAttribute("rights", rights);
request.setAttribute("position", position);
} catch (SystemException e) {
logger.error(e.getMessage());
request.setAttribute("info", e.getMessage());
}
return mapping.findForward(forward);
}
/**
* Method authorization 对岗位授权
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward [ /admin/authorization/main.jsp ]
*/
@SuppressWarnings("static-access")
public ActionForward authorization(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
boolean isSuccessfull = true;
// 获取页面传递参数
String objId = request.getParameter("objId");// 授权对象
String useScheme = request.getParameter("useScheme");// 使用方案授权
String[] rightIds = request.getParameterValues("right");// 权限对象
logger.debug("授权对象是: " + objId);
logger.debug("权限对象是: " + rightIds);
// hrw 2008-12-12 对以下逻辑进行封装,封装在AuthorizationMgr里
authorizationMgr.authorization(objId, useScheme, rightIds, request);
// end
// /*
// * 获取授权对象所有ID,因为授权对象有可能是部门或整个公司, 而岗位权限关联表里只存岗位,所以如果是部门就要遍历授权对象的下级对象
// * 再把这些最终对象(岗位)存放到 treeViews 里
// */
// List<Treeview> treeViews = new ArrayList<Treeview>();
// int nodeId = 0;
// if (objId != null && !objId.equals("")) {
// nodeId = Integer.parseInt(objId);
// }
// try {
// Treeview t = treeViewMgr.getTreeviewById(nodeId);
// if (t.getIsLeader() == 0) {// 部门
// treeViews = treeViewMgr.findChildIdsByParentId(treeViews,
// Integer.parseInt(objId));
// } else {
// treeViews.add(t);
// }
//
// // 根据授权岗位对象集合获取岗位权限对象集合
// List<PositionRights> prs = positionMgr.findByPositions(treeViews);
// logger.debug("岗位权限对象集合的大小是: " + prs.size());
// // 删除岗位权限数据范围表信息
// positionMgr.deletePositionRightsAreaByPositionRights(prs);
// // 删除岗位权限表信息
// positionMgr.deletePositionRightsByPositionRights(prs);
// } catch (NumberFormatException e) {
// logger.error(e.getMessage());
// isSuccessfull = false;
// } catch (SystemException e1) {
// logger.error(e1.getMessage());
// isSuccessfull = false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -