flowableの流程发起人

1.  设置流程发起人

//设置流程发起人
Authentication.setAuthenticatedUserId(userId);
ProcessInstance processInstance =  runtimeService.startProcessInstanceByKey(procdefKey,businessKey, paras);
//这个方法最终使用一个ThreadLocal类型的变量进行存储,也就是与当前的线程绑定,所以流程实例启动完毕之后,需要设置为null,防止多线程的时候出问题。
Authentication.setAuthenticatedUserId(null);

 

2. 获取流程发起人(需要在启动流程前设置流程发起人)

HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
        .processInstanceId(procInsId)
        .singleResult();
String startUserId = hi.getStartUserId();

 

3. 获取某个人发起的流程

List<HistoricProcessInstance> list = historyService.createHistoricProcessInstanceQuery()
        .startedBy(userId)
        .orderByProcessInstanceStartTime()
        .list();

 

posted @ 2019-07-08 14:35  华格瑞沙  阅读(2672)  评论(0编辑  收藏  举报