Logo
InicioDocumentaciónWorkflows y Procesos

Workflows y Procesos

Documentación del sistema de flujos de trabajo y procesos de la intranet

Sistema de Workflows

Motor de flujos de trabajo configurable

El sistema utiliza un motor de workflows configurable data-driven que permite definir flujos de aprobación sin modificar código. Esto significa que los procesos de validación, aprobación y gestión de solicitudes pueden adaptarse a las necesidades del centro sin necesidad de cambios técnicos.

Gestión de Usuarios

Alta y validación de usuarios

Calendarios

Días libres y permisos

Validaciones

Horarios y documentación

Workflows Configurados
REQUEST

Alta de Nuevo Usuario

request_new_user

Flujo de estados:

Pendiente de Validación
Aprobada - Usuario Creado
Rechazada
REQUEST

Día Libre Disposición

request_free_day

Flujo de estados:

Pendiente
Aprobada
o
Rechazada
Cancelada por usuario
REQUEST

Comunicación de Bajas

request_sick_leave

Flujo de estados:

Pendiente de Notificación
Notificado
Esperando Documentación
Enviado a Validación
Validado
Rechazado

Mantenimiento de Workflows

Cómo crear y modificar workflows

Pasos para crear un nuevo workflow:

1

Editar el archivo de configuración

prisma/seed/data/workflows.ts
2

Añadir la definición del workflow

export const myNewWorkflow = {
  code: 'my_workflow_code',
  name: 'Nombre del Workflow',
  description: 'Descripción',
  entityType: 'REQUEST',
  version: 1,
  isActive: true,
  states: [
    { code: 'pending', name: 'Pendiente', color: 'amber', order: 1, isInitial: true },
    { code: 'approved', name: 'Aprobado', color: 'green', order: 2, isFinal: true }
  ],
  transitions: [
    { fromCode: 'pending', toCode: 'approved', allowedRoles: ['ADMIN'], requiresComment: true }
  ]
}
3

Actualizar la exportación

Añadir el nuevo workflow al array allWorkflows

4

Aplicar cambios en BD

npx prisma db seed

Estructura de Estados

PropiedadTipoDescripción
codestringIdentificador único
namestringNombre visible
colorstringColor UI (amber, green, red...)
ordernumberOrden de aparición
isInitialbooleanEstado inicial
isFinalbooleanEstado terminal
isTerminalbooleanFinal sin salida

Estructura de Transiciones

PropiedadTipoDescripción
fromCodestringEstado origen
toCodestringEstado destino
allowedRolesstring[]Roles permitidos
requiresCommentboolean¿Requiere comentario?
validatorCodestringValidación personalizada
autoActionsstring[]Acciones automáticas

Acciones Automáticas Disponibles

Acciones que se ejecutan automáticamente en las transiciones

create_notification

Crea notificación al usuario cuando cambia el estado de su solicitud

remove_calendar_event

Elimina evento de calendario al cancelar una solicitud aprobada