Registro de Producción por Lotes, Desperdicios y Reportes de Supervisión
Sistema integral para el registro detallado de producción por lotes, con seguimiento horario de piezas buenas, genéricas y molidas, consumo de materia prima, gestión de desperdicios, reportes de supervisión con bloqueo de lotes para evitar doble conteo, integración con n8n para notificaciones automáticas y exportación a Excel. Todo construido con arquitectura hexagonal en Python/FastAPI y frontend React con componentes táctiles optimizados para planta.
// 01_EL RETO
El reto
La planta carecía de un sistema digital para el registro de producción diaria. Los operadores anotaban manualmente en hojas de papel las piezas producidas por hora, el consumo de materiales y los desperdicios generados. Esto provocaba: errores de captura y omisiones, pérdida de información por deterioro de los formatos, imposibilidad de consolidar datos en tiempo real, reportes de supervisión elaborados manualmente con días de retraso, y falta de trazabilidad para identificar causas de baja eficiencia o alto desperdicio. Además, no existía un control que evitara que un mismo lote de producción fuera reportado en múltiples reportes de supervisión, generando inconsistencias en los indicadores de planta. El proceso de cambio de turno era caótico y no se tenía visibilidad de la operación en curso.
// 02_ROLE
Mi rol y tecnologías
Diseño de la arquitectura hexagonal del módulo, implementación del backend (servicios de aplicación, repositorios, rutas API), desarrollo del frontend React con componentes de formulario multi-paso y registro horario, lógica de bloqueo de lotes para reportes finalizados, integración con n8n, y servicio de exportación a Excel.
- Modelado de entidades: ProductionBatch, ProductionBatchHourly, ProductionBatchItem, ProductionSupervisorReport, ProductionWaste, ProductionTurno, ProductionGrupo.
- Implementación del formulario de registro de producción (RegistroProduccionLote) con tres secciones: encabezado (fecha, turno, máquina, supervisor), lotes (material, consumo, contadores de máquina) y registros horarios (piezas buenas, genéricas, molidas por hora).
- Sistema de caché de materiales en localStorage (8h de expiración) y persistencia de borradores para evitar pérdida de datos en turnos largos.
- Lógica de bloqueo de lotes: al finalizar un reporte de supervisor, los lotes incluidos quedan marcados como 'usados' y no pueden ser seleccionados en futuros reportes, evitando doble contabilidad.
- Componente táctil TouchStepper para incremento/decremento de piezas, optimizado para uso en tabletas en planta.
- Servicio de generación de reportes de supervisión con consolidación de totales por máquina y globales, y envío asíncrono a n8n para notificaciones (Email, Slack, WhatsApp).
- Gestión de desperdicios: registro de mermas, barreduras y finos con pesos en kg/g, historial y exportación a Excel.
- Servicios de exportación a Excel para lotes, reportes de supervisor y desperdicios, utilizando openpyxl.
- Gestión de turnos y grupos con validación de horarios (incluyendo cruce de medianoche) y cálculo de estado 'en turno' en tiempo real.
// 03_SOLUTION
Solución e impacto
El Módulo de Producción de Kairos se implementó siguiendo una arquitectura hexagonal que separa claramente el dominio (entidades y reglas de negocio) de la infraestructura (API, persistencia, notificaciones). El operador accede a 'RegistroProduccionLote', un formulario multi-paso que guía la captura: primero el encabezado (fecha, turno, máquina, personal), luego los lotes (material, consumo de materiales, contadores de máquina) y finalmente los registros horarios, donde se ingresan piezas buenas, genéricas y molidas por intervalo de 1 hora. El sistema utiliza un caché de materiales en localStorage para agilizar la selección y guarda borradores automáticos para prevenir pérdidas. Al guardar, el backend valida y persiste en PostgreSQL. Para los reportes de supervisión, el supervisor selecciona múltiples lotes desde un modal que excluye aquellos ya usados en reportes finalizados. Al crear el reporte, el sistema consolida totales, guarda el registro y envía asíncronamente un payload a n8n para notificar por email/Slack. El módulo de desperdicios permite registrar distintos desperdicios generados, con pesos en kg y gramos, con historial y exportación. La gestión de turnos y grupos permite configurar horarios y calcular en tiempo real si un grupo está activo. Todos los módulos cuentan con exportación a Excel para análisis externo.
Arquitectura conceptual
// 04_RESULTS
Resultados
100%
Eliminación de registros en papel
Tiempo real
Visibilidad de producción por hora
0
Doble conteo en reportes (bloqueo automático)
Automático
Reportes de supervisión y notificaciones vía n8n
Histórico
Trazabilidad completa de lotes, consumos y desperdicios
Excel
Exportación para análisis externo