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

📄 startworkflowaction.java

📁 公司自己开发的工作流引擎
💻 JAVA
字号:
package cn.com.iaspec.workflow.client.web.action.engine;

import javax.servlet.http.*;
import org.apache.struts.action.*;
import cn.com.iaspec.workflow.client.*;
import cn.com.iaspec.workflow.client.web.action.base.*;
import cn.com.iaspec.workflow.util.*;
import cn.com.iaspec.workflow.vo.workflow.*;
import java.util.Enumeration;
import java.util.ArrayList;

public class StartWorkflowAction
    extends BaseAction{
  public StartWorkflowAction(){
  }

  public ActionForward start(ActionMapping mapping,ActionForm form,
      HttpServletRequest request,HttpServletResponse response)
      throws Exception{
    HttpSession session=request.getSession(false);
    UserInfo user=(UserInfo)session.getAttribute(FlowWebKeys.USER_SESSION);
    //String proDefName=SetCharacterEncoding.getChangStr(request.getParameter(
    String proDefName=request.getParameter("wf_process_define_name");
    String businessName=request.getParameter("wf_business_name");
    String businessType=request.getParameter("wf_business_type");

    //将非工作流启动请求参数继续传递
    ArrayList prcesseVars = new ArrayList();
    String excludeStr="method,wf_process_define_name,wf_business_name,wf_business_type";//不被继续传递的参数名称
    String[] excludeArray=excludeStr.split(",");
    Enumeration enumName=request.getParameterNames();
    String paramStr="";
    while(enumName.hasMoreElements()){
      String paramName=(String)enumName.nextElement();
      int iTag=0;
      for(int i=0;i<excludeArray.length;i++){
        if(excludeArray[i].equals(paramName)){
          iTag=1;
          break;
        }
      }
      if(iTag!=1){
        ProcessRelevantVar processeVar = new ProcessRelevantVar();
        processeVar.setVarName(paramName);
        processeVar.setVarValue(request.getParameter(paramName));
        prcesseVars.add(processeVar);
      }
    }

    WorkflowEngineClient client=new WorkflowEngineClient();
    StartedProcessInfo startedProcessInfo=client.createAndStartProcess(
        proDefName,businessName,businessType,user,prcesseVars);
    request.setAttribute("startedProcessInfo",startedProcessInfo);
    System.out.println("********startedProcessInfo workitemId="+startedProcessInfo.getWorkitemId()+"      workitemName="+startedProcessInfo.getWorkitemName()+"    workitemURL="+startedProcessInfo.getWorkitemURL()+"   activityInstanceId"+startedProcessInfo.getProcessInstanceId());
    return mapping.findForward("start_page");
  }

}

⌨️ 快捷键说明

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