//设置提交人
expandTaskCommand.setInitiator("1200119390");
//设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
expandTaskCommand.setUserCommandId("HandleCommand_2");
//执行这个启动并提交的命令
ProcessInstance processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
String processInstanceId = processInstance.getId();
//获取testEvent变量的值
Object variableValue = runtimeService.getProcessInstanceVariable(processInstanceId, "testEvent");
//在此流程定义的启动事件中会将testEvent变量的值赋值为“启动”详细请参考processEventTest.bpmn的流程定义
assertEquals("启动", variableValue);
//终止流程
runtimeService.terminatProcessInstance(processInstanceId);
//获取流程变量
variableValue = runtimeService.getProcessInstanceVariable(processInstanceId, "testEvent");
//在此流程定义的终止事件中会将testEvent变量的值赋值为“终止”详细请参考processEventTest.bpmn的流程定义
assertEquals("终止", variableValue);
//创建一个通用命令 重新启动一个流程,用于测试按钮终止事件是否触发
expandTaskCommand = new ExpandTaskCommand();
//设置流程名
expandTaskCommand.setProcessDefinitionKey("processEventTest");
//设置流程的业务关联键
expandTaskCommand.setBusinessKey("BK_processEventTest");
//命令类型,可以从流程引擎配置中查询 启动并提交为startandsubmit
expandTaskCommand.setCommandType("startandsubmit");
//设置提交人
expandTaskCommand.setInitiator("1200119390");
//设置命令的id,需和节点上配置的按钮编号对应,会执行按钮中的脚本。
expandTaskCommand.setUserCommandId("HandleCommand_2");
//执行这个启动并提交的命令
processInstance = (ProcessInstance)taskService.expandTaskComplete(expandTaskCommand, null);
//获取流程实例编号
processInstanceId = processInstance.getId();
// 创建任务查询
TaskQuery taskQuery = taskService.createTaskQuery();
// 查找 1200119390 的这个流程实例的当前独占任务
List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();