12 🚗 Gestión de TICKETS - Dashboard Operativo + Control Visual | Laravel Parqueo

Duración: 52 min
Módulo: 🎟️ Gestión de Tickets y Cobro Lección 1 de 8

Descripción

🚗 Lección 12: Gestión de TICKETS - Dashboard Operativo + Control Visual | Laravel Parqueo

Este video se centra en el desarrollo del Módulo de Tickets para el sistema de parqueo en Laravel, incluyendo la creación de la tabla de base de datos, la definición de relaciones y la implementación de un Dashboard Operativo basado en la visualización del estado de los espacios.

1. Preparación de Datos y Modelo de Tickets ⚙️

  • Generación de Datos de Prueba: Se utiliza migrate:fresh --seed para poblar la base de datos, asegurando que cada cliente tenga al menos un vehículo registrado para las pruebas [00:57].
  • Diseño de la Tabla tickets: Se define la estructura de la nueva tabla de tickets con las siguientes llaves foráneas y campos [00:04:08 - 00:08:45]:
    • Relaciones (Llaves Foráneas): espacio_ID, cliente_ID, vehiculo_ID, tarifa_ID, y usuario_ID.
    • Campos Clave: codigo_ticket (único), fecha_ingreso (Date), hora_ingreso (Time).
    • Campos Nulos (Iniciales): fecha_salida, hora_salida, tiempo_total (string), monto_total (decimal).
    • Campos Adicionales: estado (Enum: activo, completado, cancelado), observaciones.
  • Creación y Migración: Se crea el modelo, la migración y el controlador [09:02]. Se ajusta el campo monto_total a tipo Decimal (10, 2) y se vuelve a migrar la base de datos [18:28].
  • Definición de Relaciones en Modelos:
    • Modelo Ticket: Se define la relación belongsTo (uno a uno) con Espacio, Cliente, Vehiculo, Tarifa y User [19:23].
    • Otros Modelos: Se define la relación hasMany (uno a muchos) en Espacio, Cliente, Vehiculo, Tarifa y User hacia tickets [21:31].

2. Dashboard Operativo y Gestión Visual de Espacios 🚦

  • Rutas y Vista Principal: Se establece la ruta y la vista index.blade.php para el módulo Tickets [25:16].
  • Visualización de Espacios: El dashboard se implementa mostrando todos los espacios del parqueo (50 cubículos) como botones, basándose en la vista del modelo Espacio [30:15].
  • Control de Estados mediante Modals (JQuery):
    • La lógica se maneja con JQuery para abrir un único modal por estado, enviando el ID del espacio a través de un atributo data-espacio-id [00:34:52 - 00:39:43].