activiti 中 SequenceFlow 添加条件

ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();

/**
* 部署 流程定义(inputSteam)
*/
@Test
public void depolymentProcessDefinition_inputStream(){
InputStream bpmn=this.getClass().getResourceAsStream("sequenceFlow.bpmn");
InputStream png=this.getClass().getResourceAsStream("sequenceFlow.png");

Deployment deployment=processEngine.getRepositoryService()
             .createDeployment()
             .name("部署连线")
             .addInputStream("sequenceFlow.bpmn", bpmn)
             .addInputStream("sequenceFlow.png", png)
             .deploy();
System.out.println("部署ID:"+deployment.getId());  //部署ID:1701
System.out.println("部署名称:"+deployment.getName()); //部署名称:部署连线

}

/**
* 启动流程实例   ProcessInstance
*/
@Test
public void startProcessInstance(){
// 流程实例key
String processKey="sequenceFlow";
   ProcessInstance pInstance=processEngine.getRuntimeService()
                      .startProcessInstanceByKey(processKey);
System.out.println("流程实例ID:"+pInstance.getId());//流程实例ID   1801
System.out.println("流程定义ID:"+pInstance.getProcessDefinitionId());//流程定义ID sequenceFlow:2:1704
}

/**
* 查询当前人的个人任务  Task
*/
@Test
public void findMyPersonalTask(){
//
String assignee="赵四";
List<Task> list=processEngine.getTaskService()
       .createTaskQuery()
       .taskAssignee(assignee)
       /**查询条件(where部分)*/
       .list();
// .taskCandidateUser(candidateUser)//组任务的办理人查询
// .processDefinitionId(processDefinitionId)//使用流程定义ID查询
// .processInstanceId(processInstanceId)//使用流程实例ID查询
// .executionId(executionId)//使用执行对象ID查询
if(list!=null && list.size()>0){
for (Task task : list) {
System.out.println("任务ID:"+task.getId());  //1801
System.out.println("任务名称:"+task.getName());
System.out.println("任务的创建时间:"+task.getCreateTime());
System.out.println("任务的办理人:"+task.getAssignee());
System.out.println("流程实例ID:"+task.getProcessInstanceId()); //1801
System.out.println("执行对象ID:"+task.getExecutionId());
System.out.println("流程定义ID:"+task.getProcessDefinitionId());  
System.out.println("-----------------Task------------------------");
}
}
}

/**
* 完成我的任务
*/
@Test
public void completeMyTask(){
// 任务id
String taskId="2104";
//完成任务的同时,设置流程变量,使用流程变量用来指定完成任务后,下一个连线,对应sequenceFlow.bpmn文件中${message=='不重要'}
Map<String, Object> variables=new HashMap<String, Object>();
variables.put("message", "重要");
processEngine.getTaskService().complete(taskId, variables); //与正在执行的任务管理相关的Service
System.out.println("完成任务:任务ID:"+taskId);
}




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值