/**二:已知任务ID,查询ProcessDefinitionEntity对象,从而获取当前任务完成之后的连线名称,并放置到List<String>集合中*/ @Override public List<String> findOutComeListByTaskId(String taskId) { //返回存放连线的名称集合 List<String> list = new ArrayList<String>(); //1:使用任务ID,查询任务对象 Task task = taskService.createTaskQuery() .taskId(taskId) .singleResult(); //2:获取流程定义ID String processDefinitionId = task.getProcessDefinitionId(); //3:查询ProcessDefinitionEntity对象 ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(processDefinitionId); //获取流程实例ID String processInstanceId = task.getProcessInstanceId(); //获取流程实例 ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); //获取当前活动ID String activityId = pi.getActivityId(); //4:获取当前的活动 ActivityImpl activityImpl = processDefinitionEntity.findActivity(activityId); //5:获取当前活动完成之后连线的名称 List<PvmTransition> pvmList = activityImpl.getOutgoingTransitions(); if(pvmList != null && pvmList.size()>0) { for(PvmTransition pvm:pvmList) { String name = (String) pvm.getProperty("name"); if(StringUtils.isNotBlank(name)) { list.add(name); }else { list.add("默认提交"); } } } return list; }
Activity工作流笔记之——根据任务ID获取当前活动对象的连线名称集合
猜你喜欢
转载自blog.csdn.net/weixin_39941298/article/details/79445850
今日推荐
周排行