流程修改了,如何使之前的任务转到新的流程中
act_re_procdef中找到要更新的流程记录

根据version来判断版本,这里上一版本id值为askForLeave1:2:72505,最新版本的id_值为:askForLeave1:1:67505
更新如下表中的记录
update act_ru_task set proc_def_id_ = ‘askForLeave1:2:72505’ where proc_def_id_ = ‘askForLeave1:1:67505’;
update act_hi_taskinst set proc_def_id_ = ‘askForLeave1:2:72505’ where proc_def_id_ = ‘askForLeave1:1:67505’;
update act_hi_procinst set proc_def_id_ = ‘askForLeave1:2:72505’ where proc_def_id_ = ‘askForLeave1:1:67505’;
update act_hi_actinst set proc_def_id_ = ‘askForLeave1:2:72505’ where proc_def_id_ = ‘askForLeave1:1:67505’;
update act_ru_execution set proc_def_id_ = ‘askForLeave1:2:72505’ where proc_def_id_ = ‘askForLeave1:1:67505’;
将任务修改为最新流程的前提是,最新的流程和上一版本的流程的节点不能有变化,不然会导致逻辑错误。
设置会签任务
- 在流程图中添加一个任务,并且设置以下属性

- Sequential:执行顺序,true表示多实例顺序执行,false表示多实例并行。
- Loop Cardinality:循环基数,选填,会签人数。
- Completion Condition:完成条件,Activiti预定义了3个变量,可以在UEL表达式中直接使用,可以根据表达式设置按数量、按比例、一票通过、一票否定等条件。
- nrOfInstances:总实例数,Collection中的数量。
- nrOfCompletedInstances:已经完成的实例数。
- nrOfActiveInstances:表示当前处于活动状态(尚未完成或取消)的实例数量
- nrOfActiveTokens:对于并行执行的多实例,表示当前正在执行的令牌数量。
- Collection:任务处理人集合(Assignee)集合,可以在启动实例时赋值变量。
- Element Variable:任务处理人定义,必须和Assignee一样。
- 或者直接编写xml,填入如下代码(此为实例,根据实际情况修改)
1 | <multiInstanceLoopCharacteristics activiti:collection="workers" activiti:elementVariable="worker" isSequential="false"> |
