工作流activiti之启动实例对象,查询处理任务,完成要处理任务

本文通过具体案例演示了如何使用工作流引擎实现流程实例的启动、查询及任务完成等操作,涵盖了流程变量设置、流程实例查询及任务单连线与多连线完成的方法。
/**
* 启动流程实例对象
*/
@Test
public void testStartProcess() {
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
//1.流程变量
Map<String ,Object> map = new HashMap<String, Object>();
map.put("username", "二师兄");
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("LeaveBillBetter", map);

System.out.println("流程实例id:"+processInstance.getId());
}


/**
* 查询某流程实例执行到哪的任务id,及任务处理人
*/
@Test
public void testFindProcessIns() {
String processInsId = "50001"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Task task = processEngine.getTaskService().createTaskQuery().processInstanceId(processInsId).orderByProcessInstanceId().desc().singleResult();
System.out.println("taskId:"+task.getId());
System.out.println("处理人:"+task.getAssignee());
}

/**
* 单连线完成任务
*/
@Test
public void testTask() {
String taskId = "50005"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();

taskService.complete(taskId);
System.out.println("完成任务:"+taskId);

}

/**
* 多连线完成任务
*/
@Test
public void testTaskChance() {
String taskId = "45003"; 
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
TaskService taskService = processEngine.getTaskService();

Map<String , Object> map = new HashMap<String, Object>();
map.put("outcome", "同意");
taskService.complete(taskId,map);
System.out.println("完成任务:"+taskId);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值