jbpm4自定义流程设计
一、 流程图的设计,以及生成xml文件的有关描叙:
1.任务节点上:Task元素必须区分节点是什么类型的任务,用name属性辨别;description对任务进行描叙。
2.规则:hui_0会签,chuan_0串签;其中数字0是根据画的任务节点数递增的,确保任务名称不重复。
会签:assignee:emp1,emp2,emp3-2;前缀为任务的执行人(从组织机构员工表中获取数据过来),—后的数字表示必须达到的会签人数。
串签:assignee:em1,emp2,emp3。
3. 执行人选择
4. 流转线上的条件编写
5. 任务节点的表单绑定
二、 表结构修改
jbpm4_processdef:流程模板表
DROP TABLE IF EXISTS `jbpm4_processdef`;
CREATE TABLE `jbpm4_processdef` (
`DBID_` int(11) NOT NULL AUTO_INCREMENT,
`PROC_DEF_NAME_` varchar(254) DEFAULT NULL,
`JBPMXML_` longtext,
`CMTXML_` longtext,
`FORM_` varchar(255) DEFAULT NULL,
`STATE_` varchar(10) DEFAULT NULL,
PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB AUTO_INCREMENT=51 DEFAULT CHARSET=gbk;
jbpm4_comment:签注意见表
DROP TABLE IF EXISTS `jbpm4_comment`;
CREATE TABLE `jbpm4_comment` (
`ID_` int(11) NOT NULL AUTO_INCREMENT,
`PROCINSTID_` varchar(20) DEFAULT NULL,
`TASKID_` bigint(20) DEFAULT NULL,
`TASKNAME_` varchar(254) DEFAULT NULL,
`SIGNERID_` varchar(20) DEFAULT NULL,
`SIGNERNAME_` varchar(50) DEFAULT NULL,
`DES_` text,
`RECVTIME_` datetime DEFAULT NULL,
`SIGNTIME_` datetime DEFAULT NULL,
`STATE_` int(11) DEFAULT NULL,
PRIMARY KEY (`ID_`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=gbk;
jbpm4_deployment:添加FORM_字段,用于保存流程绑定表单路径。
jbpm4_execution:添加PROCINSTNAME_字段,流程标题,具体化每个启动的流程;
DATAID_业务数据表ID,流程绑定的业务表单数据ID
jbpm4_hist_procinst: PROCINSTNAME_字段, DATAID_
jbpm4_hist_task:添加DESCRIPTION_字段,任务描述
三.流程的相关功能实现
1.会签:到达定义的会签人数,流程往下流转;
2.串签:按所定义的执行人a,b,c;a—b—c依次得到待办,然后流程往下流转。
3.得到待办的用户操作为:
提交:将出现此任务节点的出口,如果有多个,选择条件通过的出口;
回退:将出现已走过的任务节点选择;
加签:只有会签节点才会出现此操作按钮。
四.流程的表单绑定
定义流程模板时,将绑定流程所需要表单的链接地址,任务节点如果没有绑定表单将使用流程绑定的表单
五.相关说明
1. 定义会签、串签节点时,如果没有选择执行人,当流程流转到此节点时,将不会产生任务;
会签:当流程流转到此节点时,将为所选的执行人产生任务,当任务完成数量达到会签数量,流程往下流转;
比如:所选择执行人为emp1,emp2,emp3,定义数量为2,当这三个人中的任意2个完成任务,流程将往下流转。如果定义数量 >=3,需所有人员完成任务,流程才能往下流转。
串签:当流程流转到此节点时,将为所选的执行人按顺序产生任务,当任务完成数量达到串签数量,流程往下流转;
比如:所选择执行人为emp1,emp2,emp3,定义数量为2,emp1先得到任务,完成任务后,emp2得到任务,emp2完成后流程往下流转。如果定义数量 >=3,需所有人员完成任务后,流程才能往下流转。
2. 每个任务节点都可以绑定一个表单路劲,如果没绑定,当查看此任务时,将使用流程模板绑定的表单路径。
3. 流转线上的条件定义:格式为:#{days>3},days为流程变量;{}里中为条件表达式
4. 分支汇聚:汇聚数量为需要到达的子流转数;
比如:从分支节点有3个分支,当定义汇聚数量为2,只需3个分支中的任意两个分支到达,流程往下流转。如果不填,则为所有分支走完后,流程才能往下流转。
5.定义流程后必须进行表单路劲的绑定,如果修改了模板的任何数据,必须重新发布流程,才能生效。
web流程编辑器: