技术交流28群

服务热线

135-6963-3175

微信服务号

activiti之委派与转办 更新时间 2016-5-29 浏览2304次

委派与转办

1、委派

委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中 

1643288255195.png

将hr的任务进行委派:

taskService.delegateTask(taskId, userId);// taskId 任务id; userId:被委派人id

1643288255339.png

被委派人办理任务后:

taskService.resolveTask(taskId,variables);

正在运行的任务表中被委派人办理任务后hr的任务会回到委派人xxhr ,历史任务表中也一样,只是多了一个人进行审批

1643288254744.png

查询委派任务:

根据字段owner查询

//正在运行的委派任务:
    public ListmytaskChangeOtherList1(String userId){
        List<Task>list = taskService.createTaskQuery().taskOwner(userId)
                .orderByTaskCreateTime().desc().list();
        returnlist;
    }

//已经办结的委派任务:(同理)


2、转办

直接将办理人assignee 换成别人,这时任务的拥有者不再是转办人,而是为空,相当与将任务转出

直接将assignee =” zhuanban”       

taskService.setAssignee(taskId, userId); 1643288255619.png

<a href="workflow/task/mytaskChangeOther.do?taskId=${list.id}&userId=zhuanban"><spanstyle="color: #0c0c0c;">转办</span></a>

服务:

//转他人处理
public void  mytaskChangeOther(String taskId,String userId){
   taskService.setAssignee(taskId,userId); 
}

如果要查询转给他人处理的任务:

可以同时将OWNER进行设置(正在运行的任务表和历史任务表都要进行设置),这样在查询的时候方便根据字段进行查询:

以下是正在进行的任务表例子

taskService.setOwner(taskId, userId);//为了查转办出去的任务

1643288255493.png