59 Kardex y Control de Lotes en Laravel Trazabilidad de Inventario y Control Sanitario📊💊Sis Farmacia
Duración: 7 min¡Contenido Exclusivo!
Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.
Inscribirse Ahora por $10.00 Acceso instantáneo de por vida y código fuente incluido.Descripción
🚀 Lección 59: Traslados entre Sucursales en Laravel: Envíos de Inventario y Control de Estados
En este capítulo iniciamos el desarrollo del Módulo de Traslados de Inventario. Programamos la infraestructura lógica y visual para permitir el movimiento seguro de medicamentos de una sucursal a otra, estableciendo un flujo de control riguroso para asegurar que el stock no se "pierda" en el camino durante el tránsito físico.
🎯 El Objetivo Central
Desarrollar el ecosistema de envío de mercancías entre almacenes, creando formularios dinámicos de selección, descontando el stock de la sucursal de origen e implementando una máquina de estados para rastrear el progreso de la carga.
🛣️ Flujo de Control y la Máquina de Estados (Tránsito Seguro)
Para evitar discrepancias en las auditorías de inventario, establecemos que un traslado no impacta inmediatamente a la sucursal de destino, sino que pasa por un flujo regulado:
- ⏳ Estado "En Tránsito": Al confirmar el envío desde la sucursal de origen (ej. Casa Matriz), las unidades se restan de inmediato de sus lotes para evitar que se sigan vendiendo en el mostrador. Sin embargo, el stock entra en un "limbo legal" y se marca en tránsito, impidiendo que la sucursal de destino disponga de él hasta que se verifique físicamente el paquete.
- ✅ Estado "Recibido / Completado": Solo cuando el encargado del almacén de destino inspecciona la caja y presiona el botón de aceptación, el backend inyecta formalmente el stock en las tablas de inventario locales.
🛠️ Formulario Dinámico de Envío y Restricciones
Diseñamos una interfaz interactiva adaptada al contexto del empleado que realiza la operación:
- Autodetección de Origen: El sistema bloquea automáticamente el campo "Sucursal de Origen" basándose en la sesión activa del usuario (si estás logueado en la Sucursal Sur, el envío solo puede salir de ahí).
- Filtros por Lote Específico: Al buscar el medicamento a trasladar, el sistema despliega una lista detallada de los lotes disponibles con sus respectivas fechas de vencimiento. El usuario selecciona el lote exacto del cual extraerá las unidades.
- Validación en Caliente de Cantidades: JavaScript y las validaciones del backend impiden que se registre un traslado si la cantidad digitada supera el stock físico real del lote seleccionado, arrojando una alerta instantánea de error.
🔔 Notificaciones en Tiempo Real para el Destinatario
Añadimos un componente de experiencia de usuario (UX) crucial para la logística interna:
- Al guardarse el traslado con éxito en la tabla traslados y su respectiva traslado_detalles, el sistema dispara una alerta visual en el Dashboard de la sucursal de destino. El administrador receptor verá un contador dinámico que le advierte: "Tienes un traslado pendiente por recibir", invitándolo a procesar la entrada de mercancía.
Al finalizar este capítulo, los estudiantes dominarán la gestión logística multisucursal, la creación de registros interbancarios de stock y el control de flujos por estados en Laravel. ¡En el próximo video completaremos la contraparte de este módulo: el formulario de recepción, validación de daños y consolidación final del stock entrante!
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️