seriescaseworkflowthread.java
来自「公司自己开发的工作流引擎」· Java 代码 · 共 79 行
JAVA
79 行
package cn.com.iaspec.workflow.helper;
import java.util.*;
import org.apache.log4j.*;
import cn.com.iaspec.workflow.engine.ejb.*;
import cn.com.iaspec.workflow.vo.workflow.*;
/**
*
* <p>Title:系列案提交处理线程 </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2005</p>
* <p>Company: IASPEC Technologies</p>
* @author xiesonglin
* @version 1.0
*/
public class SeriesCaseWorkflowThread
extends Thread{
private static Logger logger=Logger.getLogger(SeriesCaseWorkflowThread.class);
private String[] registerIds;
private List actParticipator;
private ActivityVariable[] actVar;
private NextActivityInfo nextActInfo;
private UserInfo userInfo;
public SeriesCaseWorkflowThread(NextActivityInfo nextActInfo,
List actParticipator,ActivityVariable[] actVar,UserInfo userInfo,
String[] registerIds){
this.nextActInfo=nextActInfo;
this.actParticipator=actParticipator;
this.actVar=actVar;
this.userInfo=userInfo;
this.registerIds=registerIds;
}
public void run(){
try{
logger.info("begin start SeriesCaseWorkflowThread run...");
processWorkflow();
}
catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 提交处理工作流
* @throws Exception
*/
public void processWorkflow()
throws Exception{
long startTime=System.currentTimeMillis();
logger.info("begin processWorkflow...");
if(registerIds==null||registerIds.length<1){
return;
}
String processTitle="申诉登记";
long processDefineId=nextActInfo.getProcDefID();
WorkflowHelper helper=new WorkflowHelper();
WorkflowEJBHandle handle=new WorkflowEJBHandle();
EngineEJB ejb=handle.getEngineEJB();
//从第二条记录开始循环
for(int i=1;i<registerIds.length;i++){
//启动工作流
ProcessDefine proResult=helper.startPorcessDefine(userInfo,
processDefineId,processTitle,"");
//检出工作项
helper.checkOutWorkItem(userInfo,proResult.getWorkItemID());
//取得流向信息
NextActivityInfo nextActInfo=helper.getNextActivityInfo(userInfo,
proResult.getWorkItemID());
//提交处理工作流
ejb.processWorkflow(proResult.getWorkItemID(),registerIds[i],0,actVar,
actParticipator,nextActInfo,userInfo,"0","0");
}
logger.info("Execution processWorkflow time: "+(System.currentTimeMillis()-
startTime)+" ms.");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?