⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taskassignment.java

📁 这是一个jbpm的高级应用,是一个oa工作流的系统,里面用到了spring,hibernate技术等.实为学习jbpm的好资料!
💻 JAVA
字号:
package com.xiangfeng.jbpm.ActionHandler;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.jbpm.graph.def.Transition;
import org.jbpm.graph.exe.ExecutionContext;
import org.jbpm.taskmgmt.def.AssignmentHandler;
import org.jbpm.taskmgmt.exe.Assignable;

public class TaskAssignment implements AssignmentHandler {

	public void assign(Assignable assignable, ExecutionContext ctx) throws Exception {
		System.out.println("触发 TaskAssignment----------");
		List usernames= new ArrayList();
		usernames.add("clientA");
		usernames.add("clientB");
		usernames.add("clientC");
		usernames.add("clientD");
		
			
		ArrayList temp = new ArrayList();
		int min=1000000000;
		//遍历取出所有人的任务数
		for (Iterator iter = usernames.iterator(); iter.hasNext();) {
			String element = (String) iter.next();
			
		int size=	ctx.getJbpmContext().getTaskMgmtSession().findTaskInstances(element).size();
		System.out.println("-------------- username is "+element +"----size  is "+size);
		if(min >size){
			min=size;
		}
		}
		for (Iterator iter = usernames.iterator(); iter.hasNext();) {
			String element = (String) iter.next();
		//把任务分配给任务数最少的人	
		int size=	ctx.getJbpmContext().getTaskMgmtSession().findTaskInstances(element).size();
		
		if(size==min){
			
			System.out.println("任务分配给   user name is "+element);
			
			
			assignable.setActorId(element);
			
			ctx.getContextInstance().setVariable("clientName", element);
		
			
			break;
		
		
		}
		
			
		}
		
	}

	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -