如何将一个任务分配给多个人?
icesky_2007
2007-06-15
如下:我是想将任务(主管审批)分派给指定的用户
<task-node name="主管审批"> <task name="主管审批"> <assignment class="com.myrequest.task.ChiefSwimlane"/> </task> </task-node> 类ChiefSwimlane具体实现如下: public void assign(Assignable assignable, ExecutionContext executionContext) throws Exception { // TODO Auto-generated method stub //String userid = (String) executionContext.getContextInstance() .getVariable(RequestVariable.userId); String chiefId = null; assignable.setActorId(chiefId); String[] chiefIds = {"manager","boss","admin"}; assignable.setPooledActors(chiefIds); } 除了以上文件需要改动还有其他地方需要设置嘛?为什么我运行结果并没有把"主管审批"任务分派给"manager","boss","admin"这些用户,并且后台日志输出"(org.jbpm.webapp.bean.TaskBean:212) - assignmentlogs: [task-assign[null,TaskInstance[主管审批]], task-assign[admin,TaskInstance[取消请假]]]",请. |
|
icesky_2007
2007-06-15
212) - assignmentlogs: [task-assign[null,TaskInstance[主管审批]]其中分配的用户为null.请,先谢过!`
|
|
icesky_2007
2007-06-15
待..
|
|
gsccnu
2007-06-15
你的
String chiefId = null; assignable.setActorId(chiefId); 这两句是没必要的,通过setPooledActors(chiefIds)后,再用TaskMgmtSession.findPooledTaskInstances(actorIds)得到该任务,但在让用户操作前,应该先通过setActorId(chiefId)将该任务assign给该用户,这样其他人再使用findPooledTaskInstances就看不该任务了。 |
|
icesky_2007
2007-06-15
非常感谢你的帮助,我应该在哪里用"TaskMgmtSession.findPooledTaskInstances(actorIds)得到该任务"呢?你后面的意思是说我分派认为给多个人之后,在其中有一人执行该任务之间需要将任务从新分配那个指定的用户,这样其他人就看不到那个已经执行过的那个任务了?我理解的正确吗
|
|
gsccnu
2007-06-15
在执行任务之前,将findPooledTaskInstances找到的任务assign给某个人。然后这个人就能在自己的tasklist中找到该任务,其他人再调用findPooledTaskInstances将看不到该任务。
|