From 17148d73f8720cf72e3e3a24243b7843d2d6ef1d Mon Sep 17 00:00:00 2001 From: ale Date: Sat, 14 Jun 2025 15:55:56 -0300 Subject: [PATCH] Agregada fecha a nombre de archivos exportados (csv y pdf) --- app/GrupoDeCompra.php | 12 +++++++---- app/Http/Controllers/AdminController.php | 20 +++++++++++++++---- app/Http/Controllers/ComisionesController.php | 20 +++++++++++++++---- app/Producto.php | 6 ++++-- 4 files changed, 44 insertions(+), 14 deletions(-) diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 12f789d..bb13a9f 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -111,7 +111,8 @@ class GrupoDeCompra extends Model public function exportarPedidosAPdf() { $subpedidos = $this->pedidosAprobados(); - PdfHelper::exportarPedidos($this->nombre . '.pdf', $subpedidos); + $fecha = now()->format('Y-m-d'); + PdfHelper::exportarPedidos($this->nombre . '-' . $fecha . '.pdf', $subpedidos); } function pedidoParaPdf(): array @@ -144,7 +145,8 @@ class GrupoDeCompra extends Model public static function exportarPedidosBarrialesAPdf() { $barrios = GrupoDeCompra::barriosMenosPrueba()->get(); - PdfHelper::exportarPedidos('pedidos_por_barrio.pdf', $barrios); + $fecha = now()->format('Y-m-d'); + PdfHelper::exportarPedidos('pedidos_por_barrio-' . $fecha . '.pdf', $barrios); } static function filaVacia(string $product, int $columns): array @@ -178,7 +180,8 @@ class GrupoDeCompra extends Model { $records = $this->generarColumnaCantidades(); - CsvHelper::generarCsv('csv/exports/' . $this->nombre . '.csv', $records); + $fecha = now()->format('Y-m-d'); + CsvHelper::generarCsv('csv/exports/' . $this->nombre . '-' . $fecha . '.csv', $records); } public function generarColumnaCantidades(): array @@ -235,7 +238,8 @@ class GrupoDeCompra extends Model } array_splice($records, 0, 0, array($nucleos)); - CsvHelper::generarCsv('csv/exports/' . $this->nombre . '-completo.csv', $records); + $fecha = now()->format('Y-m-d'); + CsvHelper::generarCsv('csv/exports/' . $this->nombre . '-completo-' . $fecha . '.csv', $records); } public function agregarCantidad($pedido, $id, array $records, $fila, int $i): array diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 3f79129..3073578 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -23,14 +23,26 @@ class AdminController extends Controller public function exportarPedidoACSV(GrupoDeCompra $gdc): BinaryFileResponse { $gdc->exportarPedidoEnCSV(); - $file = storage_path('csv/exports/'.$gdc->nombre.'.csv'); - return response()->download($file); + $pattern = storage_path('csv/exports/'. $gdc->nombre . '-*.csv'); + $files = glob($pattern); + + usort($files, function ($a, $b) { + return filemtime($b) <=> filemtime($a); + }); + + return response()->download($files[0]); } public function exportarPedidoConNucleosACSV(GrupoDeCompra $gdc): BinaryFileResponse { $gdc->exportarPedidoConNucleosEnCSV(); - $file = storage_path('csv/exports/'.$gdc->nombre.'-completo.csv'); - return response()->download($file); + $pattern = storage_path('csv/exports/'.$gdc->nombre.'-completo-*.csv'); + $files = glob($pattern); + + usort($files, function ($a, $b) { + return filemtime($b) <=> filemtime($a); + }); + + return response()->download($files[0]); } } diff --git a/app/Http/Controllers/ComisionesController.php b/app/Http/Controllers/ComisionesController.php index c42c0e5..9ffd3f1 100644 --- a/app/Http/Controllers/ComisionesController.php +++ b/app/Http/Controllers/ComisionesController.php @@ -21,15 +21,27 @@ class ComisionesController public function descargarPedidos(): BinaryFileResponse { Producto::planillaTotales(); - $file = storage_path('csv/exports/pedidos-por-barrio.csv'); - return response()->download($file); + $pattern = storage_path('csv/exports/pedidos-por-barrio-*.csv'); + $files = glob($pattern); + + usort($files, function ($a, $b) { + return filemtime($b) <=> filemtime($a); + }); + + return response()->download($files[0]); } public function descargarNotas(): BinaryFileResponse { Producto::planillaNotas(); - $file = storage_path('csv/exports/notas-por-barrio.csv'); - return response()->download($file); + $pattern = storage_path('csv/exports/notas-por-barrio-*.csv'); + $files = glob($pattern); + + usort($files, function ($a, $b) { + return filemtime($b) <=> filemtime($a); + }); + + return response()->download($files[0]); } public function pdf() { diff --git a/app/Producto.php b/app/Producto.php index 15c19ae..505909d 100644 --- a/app/Producto.php +++ b/app/Producto.php @@ -109,7 +109,8 @@ class Producto extends Model $planilla[$filaTransporte][] = $cantidad; } - CsvHelper::generarCsv('csv/exports/pedidos-por-barrio.csv', $planilla, $headers); + $fecha = now()->format('Y-m-d'); + CsvHelper::generarCsv('csv/exports/pedidos-por-barrio- ' . $fecha . '.csv', $planilla, $headers); } public static function notasPorBarrio(): Collection @@ -146,6 +147,7 @@ class Producto extends Model $planilla[] = $fila; } - CsvHelper::generarCsv('csv/exports/notas-por-barrio.csv', $planilla, $headers); + $fecha = now()->format('Y-m-d'); + CsvHelper::generarCsv('csv/exports/notas-por-barrio-' . $fecha . '.csv', $planilla, $headers); } }