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

📄 positionaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		// }
		// if (rightIds != null) {//2008-12-12 hrw add,从页面取到的rightIds有可能为空
		// for (int i = 0; i < rightIds.length; i++) {
		// String rid = rightIds[i];
		// int rightId = Integer.parseInt(rid);
		// logger.debug("权限ID: " + rid);
		//
		// String dataAreaIds = "";// 数据范围对象
		// if (useScheme != null && useScheme.equals("1")) {
		// logger.debug("使用方案授权 ");
		// String scheme = request.getParameter("scheme");
		// int id = 0;
		// if (scheme != null && !scheme.equals("")) {
		// id = Integer.parseInt(scheme);
		// dataAreaIds = dataAreaSchemeMgr.findTreeviewIdsById(id);
		// }
		// } else {
		// logger.debug("逐步授权 ");
		// /*
		// * 在rightTree.js里,每个树节点都挂一下隐藏域,隐藏域属性ID,name均为 节点ID + "_area"
		// * 字符串, 隐藏域存储数据范围页面返回的部门节点ID集合组成的字符串
		// */
		// dataAreaIds = request.getParameter(rid + "_area");// 数据范围对象
		// //dataAreaIds 不能为null
		// if(dataAreaIds == null){
		// dataAreaIds = "";
		// }
		// }
		//
		// logger.debug("数据范围ID: " + dataAreaIds);
		// try {
		// /*
		// * 保存授权对象, 权限对象以及数据范围对象三者的关系
		// * 因为对不同授权对象授予的权限对象是一样的,所以先循环权限表,再为每一个授权对象授予同一权限
		// * 每一个隐藏域里存放的数据范围对象ID集合也都是对应一个权限
		// */
		// for (int j = 0; j < treeViews.size(); j++) {
		// Treeview t = treeViews.get(j);
		// int positionId = t.getId();
		// // 保存授权对象, 权限对象以及数据范围对象三者的关系
		// positionMgr.saveThreeObjRelation(positionId, rightId,
		// dataAreaIds);
		// }
		// } catch (SystemException e) {
		// logger.error(e.getMessage());
		// isSuccessfull = false;
		// }
		// }
		// }
		// if (isSuccessfull) {// 授权成功
		// // 获取当前用户信息
		// User user = (User) request.getSession().getAttribute(
		// Constants.SESSION_USER);
		// // 获取全局会话
		// ServletContext application = request.getSession()
		// .getServletContext();
		// // 获取用户信息
		// Map userInfo = (Map) application
		// .getAttribute(SystemConstant.APPLICATION_USER_INFO);
		// if (userInfo != null) {
		// logger.debug("userInfo: " + userInfo + " userInfo.size: "
		// + userInfo.size());
		// // 遍历所有有被修改权限的岗位
		// for (int i = 0; i < treeViews.size(); i++) {
		// // 获取该岗位所有权限
		// List<Rights> rights = positionMgr
		// .getAllRightsByPositionId(treeViews.get(i).getId());
		//
		// // 遍历存放用户session的Map对象
		// for (Object o : userInfo.keySet()) {
		// Integer userId = (Integer) o;
		// logger.debug("key: " + userId);
		//
		// // 不是本人的ID(管理员)
		// if (!userId.equals(user.getId())) {
		// // 获取Session
		// HttpSession session = (HttpSession) userInfo.get(o);
		// logger.debug("session: " + session);
		// User u = (User) session
		// .getAttribute(Constants.SESSION_USER);
		// logger.debug("user: " + u);
		// logger.debug("u.getTreeview().getId(): "
		// + u.getTreeview().getId());
		// logger.debug("treeViews.get(i).getId(): "
		// + treeViews.get(i).getId());
		// // 如果当前获取的用户是属于该岗位,就修改此用户Session
		// if (u.getTreeview().getId().equals(
		// treeViews.get(i).getId())) {
		// // 设入用户权限是否被修改的值
		// session
		// .setAttribute(
		// SystemConstant.SESSION_RIGHTS_IS_UPDATED,
		// true);
		// // 设入岗位所拥有的权限集合
		// session.setAttribute(
		// SystemConstant.SESSION_RIGHTS, rights);
		//
		// }
		// }
		// }
		// }
		// }
		// }
		return getObjToPage(mapping, form, request, response);
	}

	/**
	 * Method addDataAreaScheme 添加数据范围授权方案
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward [ /admin/authorization/addScheme.jsp ]
	 * @throws IOException
	 */
	public ActionForward addDataAreaScheme(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws IOException {
		// 定义转向页面变量
		String forward = "addScheme";
		String message = "";
		// 获取页面传递参数
		String schemeName = request.getParameter("schemeName");
		logger.debug("方案名称是: " + schemeName);
		/* treeviewIds存放所有节点ID,用豆号隔开 */
		String treeviewIds = "";
		String saveType = request.getParameter("saveType");

		// 判断此操作是页面添加还是另存,saveType的值: 1为页面添加,2为另存
		if (saveType != null && saveType.equals("1")) {
			String[] deptIds = request.getParameterValues("dept");
			if (deptIds != null && !deptIds.equals("")) {
				for (int i = 0; i < deptIds.length; i++) {
					treeviewIds += "," + deptIds[i];
				}
			}

		} else if (saveType != null && saveType.equals("2")) {
			treeviewIds = request.getParameter("treeviewIds");
		}
		logger.debug("ID集合是: " + treeviewIds);

		// 实例化数据范围授权方案的对象
		DataAreaScheme dataAreaScheme = new DataAreaScheme();
		dataAreaScheme.setSchemeName(schemeName);
		dataAreaScheme.setTreeviewIds(treeviewIds);
		try {
			// 调用逻辑类里的属性DAO
			dataAreaSchemeMgr.getDataAreaSchemeDAO().save(dataAreaScheme);
			message = "保存方案成功";
		} catch (Exception e) {
			message = "保存方案失败";
		}
		// 判断此操作是页面添加还是另存,saveType的值: 1为页面添加,2为另存
		if (saveType != null && saveType.equals("1")) {
			request.setAttribute("message", message);
			return mapping.findForward(forward);

		} else if (saveType != null && saveType.equals("2")) {

			PrintWriter out = response.getWriter();
			out.print("<script>");
			out
					.print("window.opener.document.getElementById('message').innerHTML='<font color=red>"
							+ message + "</font>';");
			out.print("window.close();");
			out.print("</script>");
			return null;
		}
		return null;
	}

	@SuppressWarnings("unchecked")
	public ActionForward getUserRightsToPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		logger.debug("开始处理......");
		PositionForm pForm = (PositionForm) form;
		//1为该用户权限跟岗位不一致,2为权限跟岗位权限一致,用户岗位授权时,若权限不跟岗位一致时,以用户权限为主。
		int rightsFlag = Constants.RIGHTS_USER_FLAG;
		// 定义转向页面变量
		String forward = "userRights";
		// 获取页面传递参数
		int userId = pForm.getUserId();
		@SuppressWarnings("unused")
		UserRightsFlag userRightsFlag = userRightsMgr.getUserRightsFlagDAO().findById(userId);
		if(userRightsFlag != null){
			if(userRightsFlag.getFlag() == Constants.RIGHTS_POSITION_FLAG){
				rightsFlag =  Constants.RIGHTS_POSITION_FLAG;
			}
		}else{
			rightsFlag =  Constants.RIGHTS_POSITION_FLAG;
		}
		if (rightsFlag == Constants.RIGHTS_USER_FLAG) {
			List<UserRights> userRishts = userRightsMgr.getUserRightsDao().findByUserId(userId);
			Map<String, WebRightsView> webRightsViews = rightsMgr
			.getWebRightsView(userRishts,Constants.USER_RIGHTS_FALG,Constants.JSPRIGHTSCONTROL_NO);
			request.setAttribute("webRightsViews", webRightsViews);
		} else {
//			rightsFlag = Constants.RIGHTS_POSITION_FLAG;
			int positionId = userMgr.findById(userId).getTreeview().getId();
			// 根据ID获取Treeview实体对象
			Treeview treeview = treeViewMgr.getTreeviewDao().findById(
					positionId);
			if (treeview == null) {
				treeview = new Treeview();
			}
			// 获取岗位已有权限
			List<PositionRights> positionRights = positionMgr
					.getRightsByPositionId(positionId);
			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);
			request.setAttribute("treeview", treeview);
		}
		
		User user = userMgr.findById(userId);
		logger.debug("rightsFlag : " + rightsFlag);
		request.setAttribute("rightsFlag", rightsFlag);
		request.setAttribute("user", user);
		logger.debug("完成!");

		return mapping.findForward(forward);
	}

	/**
	 * Method getRightsToPage 根据权限树节点ID,获取节点对象跳转到数据范围授权页面deptTree.jsp
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward 
	 */
	public ActionForward getUserRightsAreaToPage(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		// 定义转向页面变量
		String forward = "deptTree1";
		PositionForm pForm = (PositionForm)form;
		logger.debug("RightsFlag : " + pForm.getRightsFlag());
		if(pForm.getRightsFlag() == Constants.RIGHTS_POSITION_FLAG){
			return getRightsToPage(mapping, form, request, response);
		}
		int rightsId = pForm.getRightsId();
		int userId = pForm.getUserId();
		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获取User实体对象
			User user = userMgr.findById(userId);
			logger.debug("userID " + userId);
			if (rights == null) {
				rights = new Rights();
			}
			if (user == null) {
				user = new User();
			}
			// 获取权限已有数据范围
			// 如果数据范围在页面有重新选过,不再从数据库取。
			List<UserRightsArea> userRightsArea = new ArrayList<UserRightsArea>();
			if (!"".equals(dataArea) && dataArea != null) {
				String[] dataAreas = dataArea.split(",");
				logger.debug("dataAreas : " + dataAreas.length);
				userRightsArea = authorizationMgr
						.conversionUserRightsArea(dataAreas);
			} else {
				userRightsArea = userRightsMgr.getUserRightsAreaDao().findDataAreaByRidUid(userId, rightsId);
			}
			logger.debug("user权限数据范围长度  " + userRightsArea.size());
			String prJavascriptStr = SetupTreeView.getSetupObjTreeView("", 1,
					userRightsArea,Constants.USER_RIGHTS_FALG);
			request.setAttribute("prJavascriptStr", prJavascriptStr);
			// modify end
			request.setAttribute("rights", rights);
			request.setAttribute("user", user);
		} catch (SystemException e) {
			logger.error(e.getMessage());
			request.setAttribute("info", e.getMessage());
		}
		return mapping.findForward(forward);
	}
	public ActionForward authorizationUserRights(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// 获取页面传递参数
		PositionForm pForm = (PositionForm)form;
		int userId = pForm.getUserId();
		int positionId = pForm.getPositionId();
		int rightsFlag = pForm.getRightsFlag();
		logger.debug("rightsFlag : " + rightsFlag);
		String useScheme = request.getParameter("useScheme");// 使用方案授权
		String[] rightIds = request.getParameterValues("right");// 权限对象
		logger.debug("授权对象是: " + userId);
		logger.debug("权限对象是: " + rightIds);

		authorizationMgr.authorizationUserRights(userId, useScheme, rightIds, rightsFlag,positionId, request);
		return getUserRightsToPage(mapping, form, request, response);
	}

}

⌨️ 快捷键说明

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