任务查询
任务启动后,任务负责人就能查询自己当前能够处理的任务了,查询出来的任务都是当前用户的代办任务。
//任务负责人
String assignee =“张山”;
ProcessEngin engine=ProcessEngines.getDefaultProcessEngin();
//任务查询 需要一个taskService对象
TaskService taskService=engin.getTaskService();
//根据流程的key和任务负责人查询该负责人下的所有任务
List<Task> list=taskService.createTaskQuery()
.processDefinitionKey("evection")
.taskAssignee(assignee)
.list();
//输出当前用火所有的任务信息
for(Task task:list){
System.out.print("流程实例的id:“+task.getProcessInstanceId());
System.out.print("任务id:"+task.getId());
System.out.print("任务负责人:"+task.getAssiginee());
System.out.print("任务名称:"+task.getName());
}
任务处理
任务负责人查询出来的待办的人,选择任务处理,完成任务。
String assignee =“张山”;
ProcessEngin engine=ProcessEngines.getDefaultProcessEngin();
//任务查询 需要一个taskService对象
TaskService taskService=engin.getTaskService();
//根据流程的key和任务负责人查询该负责人下的所有任务
List<Task> list=taskService.createTaskQuery()
.processDefinitionKey("evection")
.taskAssignee(assignee)
.list();//如果知道是一个任务的话,可以用singleResult
for(Task task:list){
System.out.print("流程实例的id:“+task.getProcessInstanceId());
System.out.print("任务id:"+task.getId());
System.out.print("任务负责人:"+task.getAssiginee());
System.out.print("任务名称:"+task.getName());//流程定义时的名字
task.complete(task.getId);
}
当前任务张三已经通过,任务流向到了经理李四哪儿。该李四查询任务并处理任务。
流程定义的信息查询
查询流程相关的信息,包括流程的定义,流程的部署,流程定义的版本。
ProcessEngin engine=ProcessEngines.getDefaultProcessEngin();
RepositoryService service=engin.getRepositoryService();
ProcessDefinitionQuery query=service.createProcessDefinitionQuery();
List<ProcessDefinition> list=query.processDefinitionKey("evection")
.orderByProcessDefinitionVersion()//按版本号排序
.desc() //倒序
.list();
for(ProcessDefiniton definition:list){
System.out.println("流程定义的id"+definition.getId());
System.out.println("流程定义的name"+definition.getName());
System.out.println("流程定义的key"+definition.getKey());
System.out.println("流程定义的version"+definition.getVersion());
System.out.println("流程部署的id"+definition.getDeployId());
}
输出结果:
流程定义的id: evection:1:12504 定义流程是起的id
流程定义的name: 是定义流程的时候给流程起的名字
流程定义的key:evection
流程定义的version:1
流程部署的id:12501