flowable实战(四)flowable任务实例管理接口

一、任务的管理功能主要有:

1.任务办理模式分两种(一家公司最好约定好需要不要签收模式,统一操作模式),一种直接办理模式,一种需要签收后再办理,所以分为:

    候选人的任务签收/候选组的任务签收/完成任务

2.转办任务

3.委派任务与代办任务

4.待办任务列表(不要签收的或者已签收未办理的)

5待办签收列表

6.抄送任务

7.终止任务(这个功能放到流程实例中)

8.催办任务

9.退回上一步(即驳回),退回到(历史某一个节点)

10.超时自动跳转完成

11.任务按业务类型划分:用户任务/服务任务/定时任务/会签任务/并行网关任务/排他网关任务

12.获取下一个节点集合(一个或者多个),获取节点名称,节点配置的用户/候选人员/候选组。

二、主要接口有:

1.候选人待签收任务列表:List<Task> tasks = taskService.createTaskQuery().taskCandidateUser(userId).list();

2.候选组待签收任务列表: List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup(userGroup).list();

3.签收动作:taskService.claim(task.getId(), userId);//完成签收这个时候就任务Task的Assignee属性就有了值

4.已经签收过的任务列表,某种意义上才有真正的办理人List<Task> tasks = taskService.createTaskQuery().taskAssignee(userId).list();

5.完成任务

未签收/待办理 中取得需要办理的任务Task之后 

 //调用 task.getId() = taskId 完成任务的办理,taskService服务自动流转到下一个办理节点

 taskService.complete(task.getId());

 //taskService.complete()方法 提供了重载,提供了3种方式供你选择

 complete(String taskId)

 complete(String taskId, Map<String,Object> variables)  

 complete(String taskId, Map<String,Object> variables, boolean localScope) 

6.任务并不一定要先签收再办理,可以直接到待办理中,而不是待签收中

 可以把

 taskService.claim(task.getId(), userId);方法

 替换为

 setAssignee(String taskId, String userId) 

 经过以上步骤,任务已经在 办理中状态了

10.转办任务

taskService.setOwner(taskId, curUserId);
taskService.setAssignee(taskId,acceptUserId );

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

taskService.setOwner(taskId, curUserId);
taskService.delegateTask(taskId,acceptUserId);

12.被委派任务的办理:   办理完成后,委派任务会自动回到委派人的任务中

taskService.resolveTask(taskId, variables);

 

 

上一篇:Maven学习总结(三)——使用Maven构建项目


下一篇:activiti学习之回退实现