assistantworkflowcontrol.java

来自「公司自己开发的工作流引擎」· Java 代码 · 共 66 行

JAVA
66
字号
package cn.com.iaspec.workflow.engine.business;
import cn.com.iaspec.workflow.vo.workflow.*;
import com.sunyard.sunflow.client.*;
import com.sunyard.sunflow.engine.context.*;

/**
 * <p>Title辅助子流程的启动 </p>
 *
 * <p>Description: 深圳市劳动仲裁信息管理系统</p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: 永泰软件工程有限公司</p>
 *
 * @author syj
 * @version 1.0
 */
public class AssistantWorkFlowControl{
  /**
   * 根据流程名称取得最新流程的信息
   * @param userinfo UserInfo
   * @param proDefName String
   * @return ProcessDefinitionContext
   * @throws RemoteException
   */
  public ProcessDefinitionContext findProcessDefinitionByName(UserInfo userinfo,
      java.lang.String proDefName)
      throws java.rmi.RemoteException{
    SunflowClient sunflowClient=WorkflowSession.getSunflowClient(userinfo);
    try{
      return sunflowClient.findProcessDefinitionByName(proDefName);
    }
    finally{
      WorkflowSession.deleteSunflowClient(userinfo);
    }
  }

  /**
   * 启动辅助子流程
   * @param userinfo UserInfo
   * @param proDefName String
   * @return ProcessDefine
   */
  public ProcessDefine startAssistantProcessDefinition(UserInfo userinfo,
      java.lang.String proDefName){
    ProcessDefinitionContext processDefintionContext=null;
    ProcessDefine processDefine=null;
    long processDefineId=0;
    EngineControl enginControl=new EngineControl();
    try{
      processDefintionContext=findProcessDefinitionByName(userinfo,
          proDefName.trim());
      processDefineId=processDefintionContext.getProDefinitionID();
      processDefine=enginControl.startPorcessDefine(userinfo,processDefineId,
          proDefName,proDefName);
      processDefine.setProcessDefineName(proDefName);

    }
    catch(Exception e){
      e.printStackTrace();
    }
    return processDefine;
  }

}

⌨️ 快捷键说明

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