Generar tickets con QR y manejar validación de salida en MinaFlow. Use when: necesitas crear tickets operativos, generar códigos QR, implementar impresión de tickets, validación de salida por escaneo QR, o control de reimpresión.
Cada operación de salida de material genera un ticket con QR único. El ticket se imprime en 3 copias. La validación de salida requiere escanear el QR o capturar el folio manualmente.
tickets — documento operativo principalvouchers — referencia comercial previaweight_logs — registros de peso (entrada/salida)print_logs — registro de impresiones/reimpresionesscan_logs — registro de escaneos en validaciónaudit_logs — acciones sensiblesCampos mínimos:
ticketNumber — folio único autogeneradotype — bascula | mostradorstatus — estado operativoclientId, driverId, truckId, materialId, plantIdcommercialQty, commercialUnitqrData — string embebido en el QRcreatedByUsar librería de QR (ej: qrcode.react o qrcode):
@media print)print_logs cada impresiónLa reimpresión es acción sensible:
reprintprint_logs con isReprint: trueaudit_logsPágina: frontend/src/features/validacion/pages/Validacion.jsx
qrData o ticketNumberSi el ticket existe:
Antes de aprobar salida, verificar:
completed)pending_exit_validation)completed, registrar en scan_logs y audit_logsrejected, pedir motivo, registrarblocked, pedir motivo, registrarCada validación registra en scan_logs:
ticketIdscannedBy (userId)result — approved | rejected | blockedreason (si rechazado/bloqueado)scannedAt