activiti 根据 流程实例ID 获取发起人

简介: activiti 根据 流程实例ID 获取发起人

/**获取发起人

 * @param PROC_INST_ID_ //流程实例ID
 * @from  fhadmin.cn
 */

protected String getInitiator(String PROC_INST_ID_) {

    HistoricProcessInstance hip = historyService.createHistoricProcessInstanceQuery().processInstanceId(PROC_INST_ID_).singleResult();             //获取历史流程实例
    List<HistoricActivityInstance> hais = historyService.createHistoricActivityInstanceQuery().processInstanceId(PROC_INST_ID_)
                                                                                                .orderByHistoricActivityInstanceId().asc().list();    //获取流程中已经执行的节点,按照执行先后顺序排序
    BpmnModel bpmnModel = repositoryService.getBpmnModel(hip.getProcessDefinitionId()); // 获取bpmnModel
    List<FlowNode> historicFlowNodeList = new LinkedList<FlowNode>();                    //全部活动实例
    for(HistoricActivityInstance hai : hais) {
        historicFlowNodeList.add((FlowNode) bpmnModel.getMainProcess().getFlowElement(hai.getActivityId(), true));
        if(hai.getAssignee() != null) {
            return hai.getAssignee();    //不为空的第一个节点办理人就是发起人
        }
    }
    return null;
}
目录
相关文章
22activiti - 流程管理定义(查询流程状态)
22activiti - 流程管理定义(查询流程状态)
144 0
|
SQL XML 存储
Flowable 流程部署与删除
Flowable 流程部署与删除
|
7月前
|
前端开发
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
642 0
|
7月前
Activiti 流程发布
Activiti 流程发布
57 0
|
数据库
19activiti - 流程管理定义(启动流程实例)
19activiti - 流程管理定义(启动流程实例)
51 0
34activiti - 开始活动节点
34activiti - 开始活动节点
34 0
|
存储 Java API
流程引擎Activiti流程实例讲解
流程引擎Activiti流程实例讲解
277 0
|
XML SQL Java
玩转 Flowable 流程实例
玩转 Flowable 流程实例
|
Java API 数据库
Activiti-流程操作
Activiti-流程操作
Activiti-流程操作
|
Java 数据库连接 API
Activiti-流程操作2
Activiti-流程操作2
Activiti-流程操作2