assertEquals(1, processInstances.size());
//验证归档时间为null
assertNull(processInstances.get(0).getArchiveTime());
// 创建任务查询
TaskQuery taskQuery = taskService.createTaskQuery();
// 查找 1200119390 的这个流程实例的当前独占任务
List<TaskInstance> taskInstances = taskQuery.taskAssignee("1200119390").processInstanceId(processInstanceId).taskNotEnd().list();
// 获取一条任务
TaskInstance taskInstance = taskInstances.get(0);
//验证运行表中的归档时间不为空
assertNull(taskInstance.getArchiveTime());
//创建通用命令
ExpandTaskCommand expandTaskCommandGeneral=new ExpandTaskCommand();
//设置命令为领取任务
expandTaskCommandGeneral.setCommandType("general");
//设置命令的ID,需和节点上配置的按钮编号对应,会执行其中脚本
expandTaskCommandGeneral.setUserCommandId("HandleCommand_2");
//设置命令的处理任务号
expandTaskCommandGeneral.setTaskId(taskInstance.getId());
//执行通用按钮
taskService.expandTaskComplete(expandTaskCommandGeneral, null);
//将上面结束的流程进行归档
historyService.archiveByProcessInstanceId(processInstanceId);
//创建流程实例查询
processInstanceQuery = runtimeService.createProcessInstanceQuery();
//查询刚才启动的流程
processInstances = processInstanceQuery.processDefinitionKey("TaskServiceNewTest").list();
//验证运行表已经不存在这条流程
assertEquals(0, processInstances.size());
//重置流程实例查询
processInstanceQuery = runtimeService.createProcessInstanceQuery();
processInstances = processInstanceQuery.processDefinitionKey("TaskServiceNewTest").his().list();
//验证历史表存在这条流程
assertEquals(1, processInstances.size());
//验证历史表查询出的实例归档时间不为空
assertNotNull(processInstances.get(0).getArchiveTime());
//重置流程实例查询
processInstanceQuery = runtimeService.createProcessInstanceQuery();
processInstances = processInstanceQuery.processDefinitionKey("TaskServiceNewTest").run().list();
//验证运行表已经不存在这条流程
assertEquals(0, processInstances.size());
//重置流程实例查询
processInstanceQuery = runtimeService.createProcessInstanceQuery();
processInstances = processInstanceQuery.processDefinitionKey("TaskServiceNewTest").run().his().list();
//验证运行表和历史表集合中存在这条流程
assertEquals(1, processInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询刚才流程的任务
taskInstances = taskQuery.processDefinitionKey("TaskServiceNewTest").list();
//验证任务已经不存在
assertEquals(0, taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询归档表中的对应任务
taskInstances = taskQuery.processDefinitionKey("TaskServiceNewTest").his().list();
//验证归档表中可以到的任务个数不为0
assertEquals(4, taskInstances.size());
//验证历史表查询出来的数据归档时间不为空
assertNotNull(taskInstances.get(0).getArchiveTime());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询归档表中的对应任务
taskInstances = taskQuery.processDefinitionKey("TaskServiceNewTest").run().list();
//验证运行表中可以到的任务个数为0
assertEquals(0, taskInstances.size());
//重置任务查询
taskQuery = taskService.createTaskQuery();
//查询归档表中的对应任务
taskInstances = taskQuery.processDefinitionKey("TaskServiceNewTest").his().run().list();
//验证归档表中可以到的任务个数不为0
assertEquals(4, taskInstances.size());
//创建令牌查询
TokenQuery tokenQuery = runtimeService.createTokenQuery();