如何通过代码创建工作流起始任务
发布日期:2010-11-9 信息来源:http://www.chysoft.net

在工作流的实际处理中,我们会遇到使用代码来启动一个新的工作流程,如:客户在网站提交订单的表单后,同时启动一个订单的审批流程并创建一个任务实例,将该任务分配给指定的用户,这样任务的执行者在OA系统的“待办任务”中能看到需要待处理任务,基于该任务继续当前流程的处理。
以下是承元工作流代码创建任务的例子,通过代码方式创建工作流的起始任务,并分配给指定的用户,同时实现流程的流转。代码示例如下:
impot net.jbpm.external.TaskInstanceFactory
import org.jbpm.graph.exe.ProcessInstance;
import java.sql.Connection;
import net.sysmain.common.ConnectionManager

long processed = 1;  //指定的工作流,使用ID引用
String description = “描述信息”;  //描述信息
String[] users = new String[]{“test”};//分配任务给起始执行者
Connection conn = null;

try
{
//数据库的链接可来源于其他方式,考虑事务的处理
conn = ConnectionManager.getInstance().getConnection();
TaskInstanceFactory fac = TaskInstanceFactory.getInsatnce();
fac.setConnection(conn);
//创建工作流起始任务,并返回工作流实例
ProcessInstance processIns = fac.createStartTaskInstance(processId, description, users);
//下一步根据需要,发送流程流转的信号
processInstance.signal()
}
catch(Exception ex)
{
//
}
finally
{
ConnectionManager.close(conn);
}

该代码可以在一般开发中通过计算机计算定期触发,也可以在表单的action中、工作流中的事件中调用。

粤ICP备11095012号-1
Copyright 2005-2017 深圳市承元软件技术有限公司