taskassignment.java
来自「这是一个jbpm的高级应用,是一个oa工作流的系统,里面用到了spring,hi」· Java 代码 · 共 70 行
JAVA
70 行
package com.xiangfeng.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
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("qe");
usernames.add("fj");
usernames.add("cs");
usernames.add("wye");
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);
break;
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?