Ir al contenido

Workflow Beans

Objetos de transferencia de datos (DTO) para las operaciones del flujo de trabajo, incluyendo actores, definiciones de proceso, instancias de proceso e instancias de tarea.

Descripción:

Propiedad Tipo Descripción
id String El identificador único del actor.
name String El nombre para mostrar del actor.
email String La dirección de correo electrónico del actor.
roles List La lista de roles asignados al actor.

Ejemplo:

import com.openkm.okmflow.bean.Actor;
import java.util.Arrays;
try {
Actor actor = new Actor();
actor.setId("user123");
actor.setName("John Doe");
actor.setEmail("john.doe@example.com");
actor.setRoles(Arrays.asList("ROLE_USER", "ROLE_APPROVER"));
System.out.println("Actor: " + actor.getName());
System.out.println("Email: " + actor.getEmail());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la definición de proceso.
name String El nombre de la definición de proceso.
version Integer El número de versión de la definición de proceso.

Ejemplo:

import com.openkm.okmflow.bean.ProcessDefinition;
try {
ProcessDefinition processDef = new ProcessDefinition();
processDef.setId(456L);
processDef.setName("DocumentApproval");
processDef.setVersion(2);
System.out.println("Process: " + processDef.getName());
System.out.println("Version: " + processDef.getVersion());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la instancia de proceso.

Ejemplo:

import com.openkm.okmflow.bean.ProcessInstance;
try {
ProcessInstance processInstance = new ProcessInstance();
processInstance.setId(789L);
System.out.println("Process Instance ID: " + processInstance.getId());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la instancia de tarea.

Ejemplo:

import com.openkm.okmflow.bean.TaskInstance;
try {
TaskInstance taskInstance = new TaskInstance();
taskInstance.setId(101L);
System.out.println("Task Instance ID: " + taskInstance.getId());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la definición de proceso.
name String El nombre de la definición de proceso.
locked Boolean Indica si la definición de proceso está bloqueada para su edición.
version Integer El número de versión de la definición de proceso.
nodes List La lista de nodos del flujo de trabajo en la definición de proceso.

Ejemplo:

import com.openkm.okmflow.rest.dto.ProcessDefinitionDTO;
import com.openkm.okmflow.util.WorkflowUtils;
try {
ProcessDefinitionDTO processDef = WorkflowUtils.getProcessDefinitionByName("DocumentApproval");
System.out.println("Process ID: " + processDef.getId());
System.out.println("Process Name: " + processDef.getName());
System.out.println("Version: " + processDef.getVersion());
System.out.println("Locked: " + processDef.getLocked());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la instancia de proceso.
lastActivity LocalDateTime La marca de tiempo de la última actividad de la instancia de proceso.
currentNode NodeDTO El nodo actual en el que está esperando la instancia de proceso.
procDefName String El nombre de la definición de proceso.
status String El estado actual de la instancia de proceso.
formVariables Map<String, FormElementComplex> Las variables de formulario asociadas a la instancia de proceso.
miscVariables Map<String, Object> Variables diversas almacenadas en la instancia de proceso.

Ejemplo:

import com.openkm.okmflow.rest.dto.ProcessInstanceDTO;
import com.openkm.okmflow.util.WorkflowUtils;
try {
Long processId = 123L;
ProcessInstanceDTO processInstance = WorkflowUtils.getProcessInstance(processId);
System.out.println("Process Instance ID: " + processInstance.getId());
System.out.println("Status: " + processInstance.getStatus());
System.out.println("Process Name: " + processInstance.getProcDefName());
System.out.println("Current Node: " + processInstance.getCurrentNode().getName());
} catch (Exception e) {
e.printStackTrace();
}

Descripción:

Propiedad Tipo Descripción
id Long El identificador único de la instancia de tarea.
name String El nombre de la tarea.
status String El estado actual de la instancia de tarea.
actor String El actor asignado a esta instancia de tarea.
pooledActors Set El conjunto de actores de grupo (pooled) que pueden reclamar esta tarea.
start LocalDateTime La marca de tiempo de inicio de la instancia de tarea.
end LocalDateTime La marca de tiempo de finalización de la instancia de tarea.
form String El formulario asociado a esta tarea.

Ejemplo:

import com.openkm.okmflow.rest.dto.TaskInstanceDTO;
import com.openkm.okmflow.util.WorkflowUtils;
try {
Long processId = 123L;
TaskInstanceDTO taskInstance = WorkflowUtils.getCurrentTaskInstance(processId);
if (taskInstance != null) {
System.out.println("Task ID: " + taskInstance.getId());
System.out.println("Task Name: " + taskInstance.getName());
System.out.println("Status: " + taskInstance.getStatus());
System.out.println("Assigned Actor: " + taskInstance.getActor());
System.out.println("Form: " + taskInstance.getForm());
}
} catch (Exception e) {
e.printStackTrace();
}