La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cómo obtiene ACTIVITI el siguiente nodo?

¿Cómo obtiene ACTIVITI el siguiente nodo?

1. Primero, obtenga la tarea actual según el ID del proceso:

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

}

}