From 436b19f9f4a4ce22ef201399b7c196672c4c8c43 Mon Sep 17 00:00:00 2001 From: sergiomarquez778 Date: Thu, 29 May 2025 23:04:52 -0600 Subject: [PATCH] formatooo formato de los prestamos --- app/Http/Controllers/PrestamoController.php | 6 +- .../Controllers/UserDashboardController.php | 7 ++ .../exports/prestamo-individual-pdf.blade.php | 66 ++++++++++++++++ .../exports/prestamos-reporte-pdf.blade.php | 79 +++++++++++++++++++ resources/views/prestamos.blade.php | 2 +- .../user-dashboard/detalle-prestamo.blade.php | 3 + routes/web.php | 1 + 7 files changed, 160 insertions(+), 4 deletions(-) create mode 100644 resources/views/exports/prestamo-individual-pdf.blade.php create mode 100644 resources/views/exports/prestamos-reporte-pdf.blade.php diff --git a/app/Http/Controllers/PrestamoController.php b/app/Http/Controllers/PrestamoController.php index af2d6da..f4c02c0 100644 --- a/app/Http/Controllers/PrestamoController.php +++ b/app/Http/Controllers/PrestamoController.php @@ -152,9 +152,9 @@ class PrestamoController extends Controller */ public function exportPDF() { - $prestamos = Prestamo::where('eliminado', 0)->get(); - $pdf = PDF::loadView('exports.prestamos-pdf', ['prestamos' => $prestamos]); - return $pdf->download('prestamos.pdf'); + $prestamos = \App\Models\Prestamo::with(['vehiculo', 'choferAsignado'])->get(); + $pdf = \PDF::loadView('exports.prestamos-reporte-pdf', ['prestamos' => $prestamos]); + return $pdf->download('reporte_general_prestamos.pdf'); } public function aceptados(Request $request) diff --git a/app/Http/Controllers/UserDashboardController.php b/app/Http/Controllers/UserDashboardController.php index 4babffe..a58ee9c 100644 --- a/app/Http/Controllers/UserDashboardController.php +++ b/app/Http/Controllers/UserDashboardController.php @@ -44,4 +44,11 @@ class UserDashboardController extends Controller } return view('user-dashboard.cuestionario', compact('prestamo')); } + + public function pdfPrestamo($id) + { + $prestamo = \App\Models\Prestamo::with('choferAsignado')->findOrFail($id); + $pdf = \PDF::loadView('exports.prestamo-individual-pdf', compact('prestamo')); + return $pdf->download('reporte_prestamo_'.$prestamo->id.'.pdf'); + } } diff --git a/resources/views/exports/prestamo-individual-pdf.blade.php b/resources/views/exports/prestamo-individual-pdf.blade.php new file mode 100644 index 0000000..cd6b08f --- /dev/null +++ b/resources/views/exports/prestamo-individual-pdf.blade.php @@ -0,0 +1,66 @@ + + + + Reporte de Préstamo + + + +
+

REPORTE DE PRÉSTAMO

+

Fecha de generación: {{ now()->format('d/m/Y H:i') }}

+
+ + + + + + + + + + + + + + + + + + + + + +
SolicitanteDestinoFecha SalidaFecha LlegadaMotivoPersonasChoferEstado
{{ $prestamo->nombre_solicitante }}{{ $prestamo->destino }}{{ \Carbon\Carbon::parse($prestamo->fecha_hora_salida)->format('d/m/Y H:i') }}{{ \Carbon\Carbon::parse($prestamo->fecha_hora_llegada)->format('d/m/Y H:i') }}{{ $prestamo->motivo }}{{ $prestamo->numero_personas }}{{ $prestamo->choferAsignado ? $prestamo->choferAsignado->nombre : 'Sin chofer' }}{{ ucfirst($prestamo->estado) }}
+ + + + + +
_________________________
Solicitante
_________________________
Vo. Bo.
+ + diff --git a/resources/views/exports/prestamos-reporte-pdf.blade.php b/resources/views/exports/prestamos-reporte-pdf.blade.php new file mode 100644 index 0000000..d1b130b --- /dev/null +++ b/resources/views/exports/prestamos-reporte-pdf.blade.php @@ -0,0 +1,79 @@ + + + + Reporte General de Préstamos + + + +
+

REPORTE GENERAL DE PRÉSTAMOS

+

Fecha de generación: {{ now()->format('d/m/Y H:i') }}

+
+ + + + + + + + + + + + + + + + + + @foreach($prestamos as $i => $prestamo) + + + + + + + + + + + + + + @endforeach + +
#SolicitanteVehículoDestinoFecha SalidaFecha LlegadaMotivoDomicilioPersonasChoferEstado
{{ $i + 1 }}{{ $prestamo->nombre_solicitante }}{{ $prestamo->vehiculo->nombre ?? '-' }}{{ $prestamo->destino }}{{ \Carbon\Carbon::parse($prestamo->fecha_hora_salida)->format('d/m/Y H:i') }}{{ \Carbon\Carbon::parse($prestamo->fecha_hora_llegada)->format('d/m/Y H:i') }}{{ $prestamo->motivo }}{{ $prestamo->domicilio }}{{ $prestamo->numero_personas }}{{ $prestamo->choferAsignado ? $prestamo->choferAsignado->nombre : 'Sin chofer' }}{{ ucfirst($prestamo->estado) }}
+ + + + + +
_________________________
Elaboró
_________________________
Vo. Bo.
+ + diff --git a/resources/views/prestamos.blade.php b/resources/views/prestamos.blade.php index c922cd0..8f46a63 100644 --- a/resources/views/prestamos.blade.php +++ b/resources/views/prestamos.blade.php @@ -86,8 +86,8 @@ Número - Vehiculo Nombre Solicitante + Vehiculo Destino Fecha y Hora Salida Fecha y Hora Llegada diff --git a/resources/views/user-dashboard/detalle-prestamo.blade.php b/resources/views/user-dashboard/detalle-prestamo.blade.php index 4306e67..7d14b31 100644 --- a/resources/views/user-dashboard/detalle-prestamo.blade.php +++ b/resources/views/user-dashboard/detalle-prestamo.blade.php @@ -21,5 +21,8 @@ Continuar con el cuestionario Volver a la lista + + Descargar PDF + @endsection diff --git a/routes/web.php b/routes/web.php index 32b9a9a..703f49b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -98,6 +98,7 @@ use App\Http\Controllers\PuestoController; Route::get('/user-dashboard/prestamos-aceptados', [App\Http\Controllers\UserDashboardController::class, 'prestamosAceptados'])->name('user.prestamos.aceptados'); Route::get('/user-dashboard/prestamos-aceptados/{id}', [App\Http\Controllers\UserDashboardController::class, 'detallePrestamo'])->name('user.prestamos.detalle'); Route::get('/user-dashboard/cuestionario', [App\Http\Controllers\UserDashboardController::class, 'cuestionario'])->name('user.cuestionario'); + Route::get('/user-dashboard/prestamo/{id}/pdf', [App\Http\Controllers\UserDashboardController::class, 'pdfPrestamo'])->name('user.prestamo.pdf'); }); // Ruta para el dashboard de usuarios