108 Reporte de Reservas de Citas Medicas en PDF del Sistema con LARAVEL(PHP-MySql) FullStack
Duración: 18 minDescripción
📅 Lección 108: Preparación de Reportes de Reservas por Rango de Fechas
Esta lección se enfoca en establecer la infraestructura necesaria para generar reportes de citas médicas (Reservas o Eventos) que puedan ser filtrados por un rango de fechas específico. Además, se añade un toque profesional a los reportes PDF existentes mediante la inclusión de un pie de página dinámico.
1. 📄 Mejora Profesional del PDF (Pie de Página)
Se añade un pie de página consistente a todos los reportes PDF generados con Dompdf, utilizando la funcionalidad de canvas para inyectar contenido dinámico [02:17].
- Propósito: Mostrar información clave para la auditoría y control de documentos.
- Contenido:
- Usuario Impresor: Muestra el correo electrónico del usuario que ha generado el reporte, utilizando la helper de autenticación (Auth::user()->email) [03:41].
- Paginación: Indica el número de página actual y el total de páginas (Ej: "Página 1 de 5") [02:43].
- Fecha y Hora: Muestra la fecha y hora exactas de generación del reporte, formateadas con la librería Carbon [04:42].
- Mecanismo: Se utiliza la variable $pdf después de cargar la vista, aplicando el método setOption('default-canvas-font', 'Arial') y manipulando el canvas de Dompdf para dibujar el texto en las coordenadas deseadas.
2. 🏥 Integración del Módulo de Reservas
Dado que el módulo de Reservas (Citas Médicas) es el que contiene los datos de los eventos, se integran las rutas y el menú para acceder a sus reportes [07:00].
- Menú: Se añade un nuevo ítem en el sidebar llamado "Reservas" con un submenú para "Reportes".
- Controlador: Se confirma que la gestión de reservas está enlazada al EventController (Controlador de Eventos) [09:53].
- Rutas y Permisos: Se definen las nuevas rutas (admin/reservas/reportes) y se otorgan permisos de acceso solo al rol de Administrador [11:04].
3. 🗓️ Diseño de la Interfaz de Reportes por Fecha
Se crea la vista reportes.blade.php dentro del directorio admin/reservas para ofrecer las opciones de filtrado [13:35].
La interfaz incluye dos opciones principales para generar reportes de citas médicas:
Opción A: Listado de Todas las Reservas
Un botón de acceso directo para generar un reporte que incluya todas las citas registradas en el sistema.
Opción B: Generar Reporte por Fechas
Se implementa un formulario para el filtrado, que se procesará en la próxima lección:
- Fecha de Inicio: Un campo input type="date" con label para seleccionar la fecha inicial del rango [15:14].
- Fecha de Fin: Un campo input type="date" con label para seleccionar la fecha final del rango [15:55].
- Botón: "Generar Reporte" (btn-success), que enviará las fechas seleccionadas al controlador para realizar la consulta filtrada [16:13].
➡️ Próximo Paso [18:01]
En la siguiente lección, se implementará la lógica en el controlador (EventController) para recibir las fechas del formulario, ejecutar la consulta a la base de datos, y generar el reporte PDF con el listado de citas médicas que caen dentro de ese rango de fechas seleccionado.
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! ❤️