www.pudn.com > project.rar > ForwardTaskAction.java
package cn.com.iaspec.workflow.client.web.action.privilege; import cn.com.iaspec.workflow.client.web.action.base.*; import org.apache.struts.action.ActionForward; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionMapping; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import cn.com.iaspec.workflow.vo.workflow.UserInfo; import cn.com.iaspec.workflow.helper.OrganizationHelper; import cn.com.iaspec.workflow.exception.WorkflowException; import java.util.List; import cn.com.iaspec.workflow.util.FlowWebKeys; import javax.servlet.http.HttpSession; import cn.com.iaspec.workflow.util.CommonUtil; import cn.com.iaspec.workflow.helper.CaseWorkflowHelper; import java.util.StringTokenizer; /** *Title:
*Description:
*Copyright: Copyright (c) 2005
*Company: IASPEC Technologies
* * @author Leigm * @version 1.0 */ public class ForwardTaskAction extends BaseAction{ /** * 检查工作项是否有转寄权限及查询工作项接受人员 */ public ActionForward selectActor(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception{ String strWorkItemId=request.getParameter("workitemId"); String areaId = request.getParameter("areaId"); areaId = areaId == null?"02":areaId; if(strWorkItemId==null || "".equals(strWorkItemId) || !CommonUtil.isNumeric(strWorkItemId)){ throw new WorkflowException("工作项ID不正确。"); } long workItemId=0; workItemId=Long.parseLong(strWorkItemId); HttpSession session=request.getSession(false); UserInfo userInfo=(UserInfo)session.getAttribute(FlowWebKeys.USER_SESSION); CaseWorkflowHelper helper = new CaseWorkflowHelper(userInfo); boolean hasForwardPrivilege=false; try{ //检查工作项是否有转寄权限 hasForwardPrivilege=helper.getWorkItemHasForwardPrivilege(workItemId); if(!hasForwardPrivilege){ request.setAttribute("tip_type","no_privilege"); return mapping.findForward("no_privilege"); } else{ OrganizationHelper orgHelper = new OrganizationHelper(); List userTreeList = orgHelper.getForwardUserTreeList(workItemId,areaId, userInfo.getUserId()); session.setAttribute("actor_tree_list",userTreeList); return mapping.findForward("select_user"); } } catch(Exception ex){ ex.printStackTrace(); throw new WorkflowException(ex.getMessage()); } } /** * 转寄工作项 */ public ActionForward reassignWorkitem(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception{ String strWorkitemId = request.getParameter("workitemId"); //工作项ID String executorInfo = request.getParameter("executorInfo"); if(executorInfo == null || "".equals(executorInfo.trim())){ throw new WorkflowException("被转寄人为空。"); } if(executorInfo == null || "".equals(executorInfo.trim()) || !CommonUtil.isNumeric(strWorkitemId)){ throw new WorkflowException("工作项ID不正确。"); } StringTokenizer tokenizer = new StringTokenizer(executorInfo,";"); String executorId = tokenizer.nextToken(); //接受人员ID String executorName = tokenizer.nextToken(); //接受人员名称 HttpSession session=request.getSession(false); UserInfo userInfo=(UserInfo)session.getAttribute(FlowWebKeys.USER_SESSION); CaseWorkflowHelper helper = new CaseWorkflowHelper(userInfo); long workitemId = Long.parseLong(strWorkitemId); try{ helper.reassignWorkitem(workitemId,executorId,userInfo); } catch(Exception ex){ ex.printStackTrace(); throw new WorkflowException(ex.getMessage()); } request.setAttribute("tip_type","reassign_ok"); request.setAttribute("executor_name",executorName); return mapping.findForward("reassign_ok"); } }