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

📄 treeviewaction.java

📁 基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰富
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package com.yuanchung.organize.treeview;

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

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

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.sales.exception.ApplicationException;
import com.yuanchung.sales.exception.SystemException;
import com.yuanchung.sales.model.Position;
import com.yuanchung.sales.model.Treeview;
import com.yuanchung.sales.model.user.User;
import com.yuanchung.sales.service.admin.AuthorizationMgrImpl;
import com.yuanchung.sales.service.user.UserMgr;
import com.yuanchung.sales.util.KeyBean;
import com.yuanchung.sales.util.XPage;
import com.yuanchung.sales.vo.user.UserVo;

public class TreeViewAction extends DispatchAction {
	static Logger logger = Logger.getLogger(TreeViewAction.class);
	private TreeViewMgr treeViewMgr;

	public TreeViewMgr getTreeViewMgr() {
		return treeViewMgr;
	}

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

	private UserMgr userMgr;

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

	/**
	 * 查找个人信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	@SuppressWarnings("static-access")
	public ActionForward infoUser(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {
		String nodeId = request.getParameter("id");// 当前结点ID
		String task = request.getParameter("task");// 调岗任务完成跳到这个链接
		Treeview treeView = null;
		Treeview treeViewparent = null;
		String parentName = "";
		if (StringTool.isNotBlank(nodeId)) {
			try {
				// 2009-01-15 modify,nodeId 为0,默认为取根结点
				if ("0".equals(nodeId)) {
					// 获取treeviewID
					int nodeId_p = treeViewMgr.findByParentId(
							Constants.TREEPARENTID).getId();
					// 将int转为String类型
					nodeId = String.valueOf(nodeId_p);
				}
				// end modify

				// 根据结点ID搜索当前结点(根据主键查找treeVIew对象)
				treeView = treeViewMgr
						.getTreeviewById(Integer.parseInt(nodeId));
				request.setAttribute("treeView", treeView);

				// 递归查找根节点
				String nodePath = treeViewMgr.getParentByChild(treeView,
						new StringBuffer(treeView.getName() + " |"));

				request.setAttribute("nodePath", nodePath);
			} catch (Exception e) {
				e.printStackTrace();
				throw new ApplicationException(Constants.FINDNODEEXCEPTION);
			}
		} else {
			request.setAttribute("message", Constants.NODENOEXSITS);
		}

		List<Treeview> treeviews = new ArrayList<Treeview>();// 岗位结点
		List<Treeview> treeviewDepts = new ArrayList<Treeview>();

		if (treeView != null && treeView.getIsLeader().equals(0)) {// 若当前节是部门结点
			parentName = treeView.getName();
			request.setAttribute("deptNode", treeView);
			try {
				// 找出所有的直接子结点
				List<Treeview> treeviewtmp = treeViewMgr
						.getAllTreeByParentId(treeView.getId());
				// 遍历所有的子结点
				for (Object o : treeviewtmp) {
					Treeview treeview = (Treeview) o;
					if (treeview.getIsLeader().equals(0)) {// 若是子部门结点
						treeviewDepts.add(treeview);
					} else {// 其他为岗位结点
						treeviews.add(treeview);
					}
				}
				// 搜索所有部门
				List<Treeview> deptList = treeViewMgr.getAllDept();
				request.setAttribute("deptList", deptList);
			} catch (Exception e) {
				e.printStackTrace();
				throw new ApplicationException(Constants.CHILDNODESEXCEPTION);
			}

		} else if (treeView != null
				&& (treeView.getIsLeader().equals(1) || treeView.getIsLeader()
						.equals(2))) {
			// 是岗位结点
			try {
				treeViewparent = treeViewMgr.getTreeviewById(treeView
						.getParentId());
				request.setAttribute("deptNode", treeViewparent);
				parentName = treeViewparent.getName();
				treeviews.add(treeView);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

		try {
			System.out.println("岗位结点:" + treeviews);
			// 将结点信息转化成VO
			List<TreeviewVo> TreeviewVoList = treeViewMgr
					.TransformTreeviewToVo(treeviews, parentName);
			//分页
			if (TreeviewVoList != null && TreeviewVoList.size() > 0) {
				String currentPage = request.getParameter("currentPage");
				XPage xpage = new XPage(request.getContextPath()+"/admin/treeView.do?method=infoUser&id="+nodeId, TreeviewVoList.size(), 1, 10, TreeviewVoList);
				if (currentPage != null && !currentPage.equals("")) {
					xpage.setCurrentItems(Integer.parseInt(currentPage));
				} else {
					xpage.setCurrentItems(1);
				}
				xpage.setPageBar();
				request.setAttribute("xpage", xpage);

			} 

			//分页 结束
			request.setAttribute("treeviewDepts", treeviewDepts);// 保存部门结点
//			request.setAttribute("treeviews", TreeviewVoList);// 保存员工结点
		} catch (Exception e) {
			e.printStackTrace();
			throw new ApplicationException(Constants.INITTREENODEEXCEPTION);
		}
		String message = request.getParameter("message");
		if (StringTool.isNotBlank(message)) {
			request.setAttribute("message", Constants.DELETENODESUCCESS);
		}
		if (task != null && task.equals("setPosition")) {
			request.setAttribute("message", Constants.SET_POSITION_SUCCESS);
		}

		// 2008-12-25 hrw add
		int model = AuthorizationMgrImpl.getAuthorizationModel();
		request.setAttribute("model", model);

		// 取用户角色

		// end add
		// 2009-01-15 add
		request.setAttribute("nodeId", nodeId);
		logger.debug("nodeId : " + nodeId);
		// end add

		return mapping.findForward("nodeInfo");
	}

	/**
	 * 岗位管理
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward positionManage(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws ApplicationException {

		String deptId = request.getParameter("id");
		Treeview treeview = null;
		String forward = "position";

		// 若该结点不是员工结点
		List<Treeview> treeviews = new ArrayList<Treeview>();// 员工结点
		if (StringTool.isNotBlank(deptId)) {// 部门ID不为空

			try {// 根据结点ID查找结点
				treeview = treeViewMgr
						.getTreeviewById(Integer.parseInt(deptId));
				request.setAttribute("treeView", treeview);// 保存当前结点

			} catch (Exception e) {
				e.printStackTrace();
				forward = "nodeInfo";
				throw new ApplicationException(Constants.FINDNODEEXCEPTION);
			}

			if (treeview != null) {// 若本结点不为空
				try {
					// 找出所有的直接子结点
					List<Treeview> treeviewChildren = treeViewMgr
							.getAllTreeByParentId(treeview.getId());

					for (Object o : treeviewChildren) {
						Treeview treeviewChild = (Treeview) o;
						if (treeviewChild.getIsLeader().equals(1)
								|| treeviewChild.getIsLeader().equals(2)) {// 若是员工结点
							treeviews.add(treeviewChild);
						}
					}

					System.out.println("员工结点:" + treeviews);
					List<TreeviewVo> TreeviewVoList = treeViewMgr
							.TransformTreeviewToVo(treeviews, treeview
									.getName());
					request.setAttribute("treeviews", TreeviewVoList);
					// 根据部门搜索岗位
					List<PositionVo> positions = treeViewMgr
							.getPositionByDeptId(treeview.getId());
					request.setAttribute("positions", positions);
					System.out.println("有几个岗位:" + positions);
				} catch (Exception e) {
					e.printStackTrace();
					throw new ApplicationException(
							Constants.CHILDNODESEXCEPTION);
				}
			}
		} else {
			request.setAttribute("message", Constants.NODENOEXSITS);
			forward = "nodeInfo";
		}

		return mapping.findForward(forward);
	}

	/**
	 * 新增岗位
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	// public ActionForward addPosition(ActionMapping mapping, ActionForm form,
	// HttpServletRequest request,
	// HttpServletResponse response) throws ApplicationException {
	// String currentNodeId = request.getParameter("id");//当前结点
	// String positionName = request.getParameter("positionName");
	// System.out.println("岗位名称:"+positionName);
	// String forward = "position";
	// Treeview treeview = null;
	// if(StringTool.isNotBlank(currentNodeId)){
	//			
	// try{//根据结点ID查找结点
	// treeview = treeViewMgr.getTreeviewById(Integer.parseInt(currentNodeId));
	// request.setAttribute("treeView", treeview);//保存当前结点
	// }catch(Exception e){
	// e.printStackTrace();
	// forward = "nodeInfo";
	// throw new ApplicationException(Constants.FINDNODEEXCEPTION);
	// }
	// try{
	// Position position = treeViewMgr.initPosition(treeview, positionName);
	// System.out.println("有到这里吗:"+position);
	// //增加岗位
	// if(treeViewMgr.addPosition(position)){
	// request.setAttribute("isSuccess", Constants.ADDPOSITIONSUCCESS);
	// }else{
	// request.setAttribute("isSuccess", Constants.ADDPOSITIONFAILTRUE);
	// }
	// }catch(Exception e){
	// e.printStackTrace();
	// forward = "nodeInfo";
	// throw new ApplicationException(Constants.ADDPOSITIONFAILTRUE);
	// }
	// }else{
	// request.setAttribute("message", Constants.NODENOEXSITS);
	// forward = "nodeInfo";
	// }
	// return new ActionForward("/admin/treeView.do?method=positionManage");
	// }
	/**
	 * 调动员工岗位
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws ApplicationException
	 */
	public ActionForward modifyPosition(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)

⌨️ 快捷键说明

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