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

📄 positionaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * 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 + -