activiti6的使用,或签,会签,顺签

会签:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,需全部同意之后,审批才可到下一审批节点;
或签:也有叫“竞签”、“串签”:指同一个审批节点设置多个人,如ABC三人,三人会同时收到审批,只要其中任意一人审批即可到下一审批节点
顺签:指同一个审批节点设置多个人,如ABC三人,三人会按顺序A先收到审批,A同意后才通知B审批,以此类推,如果有任意人拒接就结束流程;
多实例内置变量
1:nrOfInstances:实例总数
2:nrOfActiveInstances:当前活动的实例数,对于顺序执行的多实例,值一直为1
3:nrOfCompletedInstances:已经完成实例的数目

在这里插入图片描述

说明:
多实例类型(Multi-instance type) : 有两种类型,并行(parallel)和串行(sequntial)
集合(多实例)Collection(Multi-instance): 动态集合,根据变量传入
完成条件(多实例)Completion condition(Multi-instance): 任务结束条件,默认全部完成
元素变量(多实例)Element variable(Multi-instance): 遍历后每一项的别名
基数(多实例)Cardinality(multi-instance) : 手动指定多实例循环几次

1-1:第一种方法:或签设置,完成条件(多实例)设置 ${nrOfCompletedInstances>=1},表示只要其中任意一人审批同意即可到下一审批节点,集合(多实例)中的name为表单或者变量传入,元素变量user为集合name每次遍历的别名,代理 ${user}为获取元素变量user,保持一致

在这里插入图片描述
设置对应的节点变量(注意每次设置节点,只能设置一种类型(不然审核异常),例如,当前节点设置了变量,就不要设置直接选择人员或者部门其他的,同理一样)
在这里插入图片描述

1-2:第二种方法:或签设置,只需要任意一人审批即可到下一审批节点

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

输入表单表里:name里面可以是多个用户,类型admin1,admin2,admin3,再根据业务进行处理

2:会签设置,只需要件完成条件设置成默认即空,表示需全部同意之后,审批才可到下一审批节点

在这里插入图片描述

3:顺签,设置多实例类型为串行(sequntial),其他设置和会签一样

在这里插入图片描述

4:实现监听事件

在这里插入图片描述

package org.jeecg.listener;

import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.Expression;
import org.activiti.engine.delegate.JavaDelegate;

import java.io.Serializable;

/**
 * @Author xu
 * @create 2023/5/12 18
 */
public class RegistEndStatusListener implements JavaDelegate, Serializable {
    private Expression status;

    @Override
    public void execute(DelegateExecution execution) {
        System.out.println("==========");
        System.out.println("----------");

    }
}
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Activiti 6中,会签是通过多实例任务来实现的。多实例任务是一个可以启动多个实例的任务,每个实例都有自己的执行信息和状态。 会签的实现步骤如下: 1. 在流程图中添加多实例任务(userTask),并设置multiInstanceLoopCharacteristics属性,该属性用于指定多实例任务的循环特性。 2. 在multiInstanceLoopCharacteristics属性中,可以设置多实例任务的循环类型、循环条件、完成条件等属性。 3. 在每个实例的执行过程中,需要设置实例的执行人、执行结果等信息。 4. 当所有实例都执行完毕时,会合并实例的执行结果,并向下执行流程。 下面是一个简单的会签流程图示例: ![image](https://img-blog.csdn.net/20180424110910697?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Jsb2dfY3Nkbl9jb2Rl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80) 其中,会签任务的循环特性设置如下: ``` <userTask id="usertask2" name="会签任务" activiti:candidateUsers="${users}"> <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="users" activiti:elementVariable="assignee"> <completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition> </multiInstanceLoopCharacteristics> </userTask> ``` 在这个示例中,会签任务的循环特性设置为非顺序执行(即并行执行),并且会签的执行人是一个用户列表(${users}),每个实例的执行人是列表中的一个元素(activiti:elementVariable="assignee")。 同时,会签的完成条件设置为当已完成实例数占总实例数的60%时,会签任务完成。 在实际使用中,需要根据具体的业务需求,设置不同的会签循环特性和执行逻辑。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值