activiti工作流获取出线(outgoingTransitions)

首先上代码:

/**
     * 根据processInstanceId获取出线
     * (获取本节点后面的所有出线)
     * @param taskId
     * @return
     */
    public List<String> getFlows(String processInstanceId) {
        Task task = engine.getTaskService().createTaskQuery().processInstanceId(processInstanceId).singleResult();
        ExecutionEntity execution = (ExecutionEntity) engine.getRuntimeService().createExecutionQuery().executionId(task.getExecutionId()).singleResult();
        String activitiId = execution.getActivityId();
        logger.info("根据taskid获取activitiId:" + activitiId);
        String processDefinitionId = engine.getHistoryService().createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
        ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) engine.getRepositoryService()).getDeployedProcessDefinition(processDefinitionId);
        List<ActivityImpl> activities = processDefinitionEntity.getActivities();
        logger.info("根据processInstanceId获取本流程图的所有节点");
        List<PvmTransition> `outgoingTransitions` = new ArrayList<PvmTransition>();
        List<String> messageList = new ArrayList<String>();
        for (ActivityImpl activityImpl : activities) {
            if (activityImpl.getId().equals(activitiId)) {
                outgoingTransitions = activityImpl.getOutgoingTransitions();
                for (PvmTransition pvmTransition : outgoingTransitions) {
                    messageList.add(pvmTransition.getProperty("name").toString());
                }
                logger.info("获取本节点的所有出线");
            }
        }
        return messageList;
    }

上述代码就是获取一个节点后面的出线上的name(也就是图二线上的字)。

List<PvmTransition> `outgoingTransitions` = new ArrayList<PvmTransition>();

就是出线信息,读者可以查看这个PvmTransition对象,查看具体信息

这里写图片描述
图一
上述代码
图二

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值