38 🧾 Reimpresión de Facturas Emitidas | Sistema de Parqueo Laravel 12 FullStack
Duración: 13 minDescripción
38 🧾 Índice de Lección: Reimpresión de Facturas Emitidas (Laravel 12 FullStack)
La lección 38 responde a un requerimiento de última hora del cliente: la necesidad de reimprimir facturas que ya han sido emitidas. Para ello, se implementa un nuevo módulo de Facturación que lista todas las facturas y habilita la función de reimpresión.
1. Preparación y Corrección de Errores Iniciales
Antes de implementar la nueva funcionalidad, se aborda un error de permisos descubierto en el proceso de facturación.
- Error de Acceso Denegado (403): Se detecta que el Super Administrador no puede acceder a la ruta de facturación (facturar) debido a un error de tipeo en el nombre del permiso de la ruta (factuación en lugar de facturación) [01:41].
- Corrección de Permisos: Se corrige el typo en el archivo de rutas (web.php) y en la semilla de roles (RoleSeeder) [03:02].
- Optimizaciones: Se realiza un fresh y optimización para aplicar el nuevo permiso y permitir la emisión de facturas [03:43].
2. Creación del Módulo de Facturación
Se crea la nueva vista y ruta para el listado de facturas emitidas.
- Creación de la Ruta: Se añade una nueva ruta (/admin/facturacion) con el método index para listar todas las facturas [08:28].
- Creación del Permiso: Se añade el permiso facturacion.index al RoleSeeder y se optimiza el sistema para que aparezca en el menú [08:54].
- Implementación del Menú (Sidebar): Se añade el nuevo ítem "Facturación" en el sidebar de la aplicación, después de Tickets, con un ícono de factura [06:03].
- Lógica del Controlador (FacturacionController): En el método index, se consulta a la base de datos para obtener todas las facturas (Facturacion::orderBy('id', 'desc')->get()) y se envían a la vista [09:50].
3. Diseño de la Vista de Listado (facturacion/index.blade.php)
Se configura la tabla que mostrará el historial de todas las facturas emitidas.
- Datos Mostrados en la Tabla: Se listan los campos esenciales de la factura [11:23]:
- Número de Factura
- Cliente (nombre)
- Documento (C.I. / NIT)
- Placa (del vehículo)
- Detalle (descripción del servicio de parqueo)
- Monto (monto total, ajustado con la divisa)
- Fecha y Hora de Registro (created_at)
- Divisa (Moneda): Se recupera la configuración de divisa del sistema para mostrar el monto facturado correctamente (ej., Bs 15) [16:16].
4. Implementación de la Funcionalidad de Reimpresión
Se habilita la acción de reimprimir utilizando una ruta existente.
- Acción de la Tabla: En la tabla de listado, la única acción permitida es "Reimprimir" [13:39].
- Enlace de Reimpresión: El botón de Reimprimir utiliza la ruta ya existente para la impresión de facturas (admin.factura.imprimir) y le pasa el ID de la factura [13:48].
- Verificación Final: Se demuestra que al dar clic en el botón, se abre la vista de la factura en formato imprimible, cumpliendo el requerimiento del cliente [17:15].
Fin del Proyecto: Con este ajuste, el proyecto del Sistema de Gestión de Parqueo queda completamente terminado en cuanto a sus módulos y funcionalidades principales. La próxima lección se centrará en el respaldo del código [17:29].