SpringBoot整合Activiti-6.0.0之动态指定候选组

概要:

        由于工作时间紧张的原因,导致SpringBoot整合Activiti的后续没有及时更新,待时间富裕以后,再来续上。今天给大家分享的也是关于一个Activiti比较头痛的问题——动态指定“候选组人员”,假设如下业务场景:

        “在一个资格证书申领的流程中,存在一个任务转派的节点,即当该任务当前审批人不能进行审批时,需将该任务转派给其它部门或单位下的人员进行审批,如果该部门或单位下的人员也不能审批时,需再次将该任务转派给另外的部门或单位,依次类推,直到任务被签收为止。”

方法:

        在此业务场景中,我第一时间想到的是利用类似EL表达式的方式做动态的处理,即在任务的代理人候选组一栏写入“${candidateGroup}”,其中参数“candidateGroup”作为KEY来自表单传入的数据,这样似乎可以做到动态设置候选组的效果。但想象总是完美,现实却是很残酷的,我调试了这种构想,结果是不能实现。

        于是我想到了任务执行监听器。当任务创建时,在监听器中动态设置当前任务的候选组,加之监听器中可也以得到流程数据(表单数据),这样动态设置候选组就不成问题了。以下为代码部分:

import com.alibaba.fastjson.JSONArray;
import com.zchy.act.common.Constants;
import com.zchy.act.utils.SpringUtil;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.RuntimeService;
import org.act

你可能感兴趣的:(java,spring,activiti)