Configuración del Sistema LOTO Digital
Documentación técnica y configuraciones del sistema
Parámetros
Configuración de tiempos, alertas y comportamientos del sistema
Seguridad
Configuraciones de seguridad, autenticación y permisos
API
Documentación de endpoints y integración del sistema
Parámetros del Sistema
Configuración de Tiempos
| Parámetro | Valor por Defecto | Descripción |
|---|---|---|
default_lockout_duration |
8 horas | Duración predeterminada de un bloqueo LOTO |
warning_time_before_expiry |
30 minutos | Tiempo de aviso antes del vencimiento |
max_extension_hours |
4 horas | Máximo de horas para extender un bloqueo |
session_timeout |
60 minutos | Tiempo de expiración de sesión de usuario |
Configuración de Notificaciones
| Tipo de Notificación | Estado | Destinatarios |
|---|---|---|
| Bloqueo Creado | Activo | Supervisor, HSE Manager |
| Bloqueo Liberado | Activo | Operador, Supervisor |
| FS-82 Autorizado | Activo | Solicitante, Supervisor |
| Bloqueo Próximo a Vencer | Activo | Operador, Supervisor |
| Bloqueo Vencido | Activo | Todos los roles |
Tipos de Energía
Eléctrica
Térmica
Hidráulica
Neumática
Mecánica
Química
Estados del Sistema
Estados de Equipos:
Operativo
Mantenimiento
Fuera de Servicio
Bloqueado
Estados de Bloqueos:
Pendiente
Activo
Vencido
Liberado
Emergencia
Configuración de Seguridad
Autenticación
Configuraciones de Contraseña:
- Longitud mínima: 8 caracteres
- Debe incluir mayúsculas y minúsculas
- Debe incluir números
- Debe incluir caracteres especiales
- Expiración: 90 días
- Historial: No repetir últimas 5 contraseñas
Bloqueo de Cuenta:
- Intentos fallidos: 3 máximo
- Tiempo de bloqueo: 15 minutos
- Desbloqueo automático o manual
Roles y Permisos
Auditoría y Logs
Eventos Auditados:
- Inicios de sesión exitosos y fallidos
- Creación y liberación de bloqueos
- Autorizaciones FS-82
- Cambios en usuarios y permisos
- Modificaciones de configuración
- Exportación de datos
Retención de Logs:
- Logs de seguridad: 2 años
- Logs de operación: 1 año
- Logs de sistema: 6 meses
Protección de Datos
Cifrado:
- Datos en tránsito: TLS 1.3
- Datos en reposo: AES-256
- Contraseñas: bcrypt con salt
Backup y Recuperación:
- Backup automático diario
- Almacenamiento en la nube
- Punto de recuperación: 24 horas
- Tiempo de recuperación: 4 horas
Documentación API
Endpoints Principales
GET
/api/health
Verificar estado del sistema
POST
/api/auth/login
Autenticación de usuario
POST
/api/auth/logout
Cerrar sesión
GET
/api/lockouts
Listar bloqueos
POST
/api/lockouts
Crear nuevo bloqueo
PUT
/api/lockouts/{id}/release
Liberar bloqueo
GET
/api/fs82
Listar formularios FS-82
POST
/api/fs82/{id}/authorize
Autorizar FS-82
GET
/api/users
Gestión de usuarios
GET
/api/equipment
Gestión de equipos
Autenticación
Ejemplo de Login:
POST /api/auth/login
Content-Type: application/json
{
"email": "usuario@empresa.com",
"password": "contraseña_segura"
}
Respuesta:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user": {
"id": 1,
"name": "Juan Pérez",
"email": "usuario@empresa.com",
"role": "supervisor"
}
}
Uso del Token:
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
Estructura de Datos
Bloqueo (Lockout):
{
"id": 1,
"equipment_id": 5,
"user_id": 2,
"status": "active",
"start_time": "2024-01-15T08:00:00Z",
"end_time": "2024-01-15T16:00:00Z",
"energy_types": ["electrical", "mechanical"],
"safety_notes": "Verificar desconexión completa",
"witness_required": true,
"created_at": "2024-01-15T08:00:00Z",
"updated_at": "2024-01-15T08:00:00Z"
}
Formulario FS-82:
{
"id": 1,
"lockout_id": 1,
"requested_by": 2,
"authorized_by": null,
"status": "pending",
"work_description": "Mantenimiento preventivo",
"risk_assessment": "Riesgo medio - requiere EPP",
"safety_measures": ["EPP completo", "Testigo presente"],
"authorization_date": null,
"created_at": "2024-01-15T08:00:00Z"
}
Códigos de Error
| Código | Descripción | Solución |
|---|---|---|
| 401 | No autorizado | Verificar token de autenticación |
| 403 | Permisos insuficientes | Contactar administrador para permisos |
| 404 | Recurso no encontrado | Verificar ID del recurso |
| 422 | Datos de entrada inválidos | Revisar formato y campos requeridos |
| 500 | Error interno del servidor | Contactar soporte técnico |
Instalación y Configuración
1
Requisitos del Sistema
- PHP 8.1 o superior
- MySQL 8.0 o PostgreSQL 13+
- 4GB RAM mínimo
- 10GB espacio en disco
- Servidor web (Apache/Nginx)
2
Instalación Backend
# Clonar repositorio
git clone https://github.com/empresa/loto-digital.git
cd loto-digital/backend
# Instalar dependencias
composer install
# Configurar entorno
cp .env.example .env
php artisan key:generate
# Configurar base de datos
php artisan migrate
php artisan db:seed
3
Instalación Frontend
# Ir al directorio frontend
cd ../frontend
# Instalar dependencias
npm install
# Configurar variables de entorno
cp .env.example .env.local
# Compilar para producción
npm run build
4
Configuración Inicial
- Crear usuario administrador inicial
- Configurar parámetros del sistema
- Configurar servidor de correo
- Configurar certificados SSL
- Configurar backups automáticos