?? treeviewaction.java
字號:
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 + -