jbpm4怎么获取下一节点名称?

xuanzd 2011-08-18
jbpm4怎么获取下一节点名称。
yanghw6 2011-08-24
我也在查找这个问题,如何能获取当前环节的所有下一环节信息,taskService.getOutcomes(task.getId()),这个方法,获取到得数据位null,
依依大漠007 2011-08-30
在发送之前肯定知道是发给谁了并且可以获得当前流程的ExecutionId
  通过task当前的受理人可获得 如:
List<Task> taskList = jbpmMgr.getTaskListByUser(受理人);

在获得受理人的任务列表中再通过task.getExecutionId()(唯一)来具体确认一个任务及所有信息
xuanzd 2011-08-30
依依大漠007 写道
在发送之前肯定知道是发给谁了并且可以获得当前流程的ExecutionId
  通过task当前的受理人可获得 如:
List<Task> taskList = jbpmMgr.getTaskListByUser(受理人);

在获得受理人的任务列表中再通过task.getExecutionId()(唯一)来具体确认一个任务及所有信息


我知道task.getExecutionId()可以获得ExecutionId,然后ExecutionService.findExecutionById(executionId)可以得到Execution,但是Execution中的方法只能得到当前节点的信息,但是我想得到当前节点的下一个信息,不知道有什么办法得到。
wqlin_007 2011-08-30
貌似是流程的问题也,为什么BPM你们的还要自己写程序掉流程吗?
xuanzd 2011-08-30
wqlin_007 写道
貌似是流程的问题也,为什么BPM你们的还要自己写程序掉流程吗?

不是的,我是想在提交的时候,告诉用户提交到哪一节点。
chenchuan 2011-09-03
根据transaction去获得下一个节点
xuanzd 2011-09-04
chenchuan 写道
根据transaction去获得下一个节点

具体怎么实现呢,能否具体一些。
liuzejian4 2011-09-05
/**
	 * 获取当前任务的节点,Transitions
	 * @param ExecutionId 当前流程id
	 * @return Transitions 当前任务的节点下的所有 Transitions
	 * @throws SpringBeanException
	 */
	public List getTransitions(String ExecutionId) throws SpringBeanException{
		ProcessEngine processEngine = (ProcessEngine) BeanUtil
		.getBean("processEngine");
		ExecutionService executionService = processEngine.getExecutionService();
		TaskService taskService = processEngine.getTaskService();
		
		// 这里不会影响事物
		EnvironmentImpl envImpl = ((EnvironmentFactory) processEngine)
				.openEnvironment();
		try {
			ExecutionImpl e = (ExecutionImpl) executionService
			.findExecutionById(ExecutionId);
	
			ActivityImpl clerkOpinionActivityImpl = e.getActivity();
			
			List listadd = new ArrayList();
			List list = clerkOpinionActivityImpl.getOutgoingTransitions();
			for (Iterator iterator = list.iterator(); iterator.hasNext();) {
				Transition ts = (Transition) iterator.next();
				listadd.add(ts.getName());
			}
			
			return listadd;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			envImpl.close();
		}
		return null;
	}
xuanzd 2011-09-05
liuzejian4 写道
/**
	 * 获取当前任务的节点,Transitions
	 * @param ExecutionId 当前流程id
	 * @return Transitions 当前任务的节点下的所有 Transitions
	 * @throws SpringBeanException
	 */
	public List getTransitions(String ExecutionId) throws SpringBeanException{
		ProcessEngine processEngine = (ProcessEngine) BeanUtil
		.getBean("processEngine");
		ExecutionService executionService = processEngine.getExecutionService();
		TaskService taskService = processEngine.getTaskService();
		
		// 这里不会影响事物
		EnvironmentImpl envImpl = ((EnvironmentFactory) processEngine)
				.openEnvironment();
		try {
			ExecutionImpl e = (ExecutionImpl) executionService
			.findExecutionById(ExecutionId);
	
			ActivityImpl clerkOpinionActivityImpl = e.getActivity();
			
			List listadd = new ArrayList();
			List list = clerkOpinionActivityImpl.getOutgoingTransitions();
			for (Iterator iterator = list.iterator(); iterator.hasNext();) {
				Transition ts = (Transition) iterator.next();
				listadd.add(ts.getName());
			}
			
			return listadd;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			envImpl.close();
		}
		return null;
	}

搞定了,多谢
Global site tag (gtag.js) - Google Analytics