星星博客 »  > 

驰骋工作流引擎设计系列05 启动流程设计

第1节.关键字

驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow

第1节.启动流程设计

流程启动是流程运动的第一个环节,有如下几个步骤,选择一个流程模版,进入流程启动程序,其次检查一下该流程模版是否可以被该人员发起,不能发起提示错误信息。

1.1.1:启动过程图

在这里插入图片描述
在这里插入图片描述

写入流程业务表一条记录。

1.1.2:流程状态变化的概要说明

操作员启动一个流程,创建一个workid,这个时候的状态是空白状态,也叫站位状态,如果在启动之前已经有了这个站位状态,它就不在创建新的workid而是取出来这个workid作为当前流程的实例。
如果启用了草稿规则,并且允许有草稿的模式下:
这个时间,如果用户点击保存该状态从空白状态转化为草稿状态,如果用户执行发送当前节点就运行到下一个节点上去了,当前状态变为运行中的状态。如果用户直接关闭了,这个时间的状态就是草稿状态,可以在草稿里找到这条实例记录。
如果不启用草稿,在这种模式下:
这个时间,如果用户点击保存,仍然是空白状态。用户点击发送后,由空白状态转化为运行中状态,当前节点运动到下一个节点上去,下一个节点的工作人员就产生了待办。
如果上一个节点退回了,执行了退回操作,当前的流程状态就变成为退回状态,上一个节点人被退回人就有了待办工作,被退回人打开后,就可以看到退回消息,他点击发送后又变成了运行中的状态,发送到下一个节点上去了。
流程走到最后一个节点,点击发送,整个流程就结束了,状态变为流程完成状态。

1.1.3:接口定义 Node_CreateBlankWork(String flowNo)

创建一个空白的WorkID,需要指定一个流程编号,返回一个workid,开发人员拿到这个workid后,就可以作为主键,保存开始表单数据了。
在这里插入图片描述

生成一个序列号的定义:
在这里插入图片描述

该方法有多个变形,在以后的父子流程的时候用到:
在这里插入图片描述

在创建workid的时候,如果用到了ccbpm的内部表单,需要把数据存储到业务表里,要给主表,从表数据传递数据,主表的数据传递采用hashtable的key, value 的方式,对于从表的数据传递采用的是dataset的模式。
public static long Node_CreateBlankWork(String flowNo, java.util.Hashtable ht, DataSet workDtls, String starter,
String title, long parentWorkID, long parentFID, String parentFlowNo, int parentNodeID, String parentEmp,
int jumpToNode, String jumpToEmp)

如果创建workid需要父子流程,就需要写入父流程的信息。

=OVER

相关文章