¿Cómo obtiene ACTIVITI el siguiente nodo?
List & lttasks & gttasks = servicio de tareas createtaskquery(). ProcessInstanceId(procInstanciaId). list();
2. Luego obtenga la definición del proceso actual según la tarea actual y luego obtenga todos los nodos según la definición del proceso:
ProcessDefinitionEntity def =( ProcessDefinitionEntity)((RepositoryServiceImpl)RS). getDeployedProcessDefinition(task . getprocessdefinitionid());
List & ltActivityImpl & gtactivity list = def . //rs se refiere a una instancia de RepositoryService.
3. Obtenga el ID de ejecución del proceso actual, la instancia de ejecución y el ID del nodo del proceso actual según la tarea:
string ex cid = task . p>ejecución de entidad de ejecución = (entidad de ejecución) servicio de tiempo de ejecución createexecutionquery(). ID de ejecución (ID exc). resultado único();
cadena actividad id = ejecución. getactividadid();
4. Luego recorra la lista de actividades y determine el nodo donde se encuentra el proceso actual, y luego obtenga el instancia del nodo actual, según el nodo La instancia obtiene todas las rutas a partir del nodo actual y luego obtiene la siguiente instancia del nodo según la ruta:
for(actividad impl actividad impl: lista de actividades){
id de cadena = actividad impl. getid();
if(id de actividad. igual(id)){
System.out.println("Tarea actual :"+actividad impl. getproperty(" nombre ") ); // Genera algunos atributos de un nodo.
List & ltPvmTransition & gtout transiciones = actividad impl . getoutgoingtransitions() //Obtiene todas las filas que salen de un nodo.
for(PVM transición tr:out transiciones){
Actividad PVM AC = tr . obtener destino() //Obtener el nodo terminal de la línea
System .out.println("Siguiente tarea:"+AC . getproperty(" nombre "));
}
Break
} p>
}