//验证是否成功启动
assertNotNull(processInstanceId);
}
//创建任务查询
TaskQuery taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量值等于"查询变量"的流程实例
List<TaskInstance> taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("查询变量", false).list();
//验证是否为0
assertEquals(0,taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量值等于"查询变量"的流程实例
taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("查询变量1", false).list();
//验证是否为15
assertEquals(15,taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量值等于"查询变量"的流程实例
taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("查询变量", true).list();
//验证是否为15
assertEquals(15,taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量query值等于"查询变量"的流程实例,应该为0
taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("query","查询变量1", false).list();
//验证是否为0
assertEquals(0,taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量queryVariable值等于"查询变量"的流程实例,应该为15
taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("queryVariable","查询变量1", false).list();
//验证是否为15
assertEquals(15,taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询ProcessVariablesTest查询变量queryVariable值like"查询变量"的流程实例,应该为15
taskInstances = taskQuery.processDefinitionKey("ProcessVariablesTest").processInstanceVariableData("queryVariable","查询变量", true).list();
//验证是否为15
assertEquals(15,taskInstances.size());
/**********************本例子通过扩展查询的方法获取ProcessVariablesTest流程的查询变量queryVariable =查询变量1 的流程实例***************************/
//重置任务查询
taskQuery = taskService.createTaskQuery();
//创建扩展查询
QueryExpandTo queryExpandTo = new QueryExpandTo();
//常见扩展查询的参数列表
List<Object> whereSqlObj = new ArrayList<Object>();
//添加扩展wheresql语句 (本例子扩展方法查询正在运行的流程实例)
queryExpandTo.setWhereSql("T.PROCESSINSTANCE_ID IN (SELECT PROCESSINSTANCE_ID FROM "+QueryTableUtil.getDefaultTableName("fixflow_run_variable")+" WHERE VARIABLE_KEY = ? AND BIZ_DATA = ?)");
//增加扩展wheresql的参数
whereSqlObj.add("queryVariable");
whereSqlObj.add("查询变量1");
queryExpandTo.setWhereSqlObj(whereSqlObj);
//增加扩展查询
taskQuery.queryExpandTo(queryExpandTo);
//查询TaskServiceNewTest经过扩展查询后的结果
taskQuery.processDefinitionKey("ProcessVariablesTest");
taskInstances = taskQuery.list();
//验证是否为5个
assertEquals(15, taskInstances.size());
}