一、简介
在利用工作流框架Activiti时,常用的业务操作包括审批通过、审批拒绝、审批追回等。这些最常用的基本操作,通过流程变量可以实现流程的自动流转。
二、流程设计
- 设计流程图
- 设计流程变量
在流程执行的SequenceFlow对应的属性Main config中设定具体的流程执行条件表达式等。
三、流程逻辑处理
- 审批通过逻辑
@Override
public void completeTask(String taskId) {
Map<String, Object> completeParamMap = new HashMap<String, Object>();
// 根据流程图中的设计,审批通过条件为apprStatus==0
completeParamMap.put("apprStatus", 0);
// 设定当前处理人为任务的办理人
taskService.setAssignee(taskId, UserUtil.getUserContext().getUserId);
taskService.complete(taskId, completeParamMap);
}
- 审批拒绝
@Override
public void completeTask(String taskId) {
Map<String, Object> completeParamMap = new HashMap<String, Object>();
// 根据流程图中的设计,审批通过条件为apprStatus==1
completeParamMap.put("apprStatus", 1);
// 设定当前处理人为任务的办理人
taskService.setAssignee(taskId, UserUtil.getUserContext().getUserId);
taskService.complete(taskId, completeParamMap);
}