From f778a4f24e85734acc5b28d569c1dcda3da02f96 Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 9 Dec 2024 12:33:42 -0300 Subject: [PATCH] Planilla de notas + ignorar barrio PRUEBA --- app/Producto.php | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/app/Producto.php b/app/Producto.php index df6652d..9375c20 100644 --- a/app/Producto.php +++ b/app/Producto.php @@ -83,17 +83,19 @@ class Producto extends Model static public function planillaTotales() { $headers = ['Producto']; - $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray(); + $barrios = DB::table('grupos_de_compra') + ->where('nombre', '<>', 'PRUEBA') + ->pluck('nombre')->toArray(); $headers = array_merge($headers, $barrios); - $cantidadesPorBarrio = Producto::cantidadesPorBarrio(); + $cantidadesPorBarrio = self::cantidadesPorBarrio(); $planilla = []; $ultimaFila = 1; foreach ($cantidadesPorBarrio as $productoCantidades) { $fila = $productoCantidades->fila; while ($fila - $ultimaFila > 1) { - $producto = Producto::where('fila', $ultimaFila)->first(); + $producto = self::where('fila', $ultimaFila)->first(); $planilla[$ultimaFila] = [$producto ? $producto->nombre : '']; $ultimaFila++; } @@ -104,7 +106,6 @@ class Producto extends Model $ultimaFila = $fila; } - // Guardar en un archivo .csv try { $writer = Writer::createFromPath(resource_path('csv/exports/total-pedidos.csv'), 'w'); $writer->insertOne($headers); @@ -114,12 +115,9 @@ class Producto extends Model } } - static public function planillaNotas() { - $headers = ['Producto']; - $barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray(); - $headers = array_merge($headers, $barrios); - - $notasPorBarrio = DB::table('productos') + public static function notasPorBarrio(): \Illuminate\Support\Collection + { + return DB::table('productos') ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id') ->join('subpedidos', 'producto_subpedido.subpedido_id', '=', 'subpedidos.id') ->join('grupos_de_compra', 'subpedidos.grupo_de_compra_id', '=', 'grupos_de_compra.id') @@ -130,18 +128,25 @@ class Producto extends Model 'producto_subpedido.notas' ) ->get() - ->groupBy('producto'); // Group notes by product + ->groupBy('producto'); + } + static public function planillaNotas() { + $headers = ['Producto']; + $barrios = DB::table('grupos_de_compra') + ->where('nombre', '<>', 'PRUEBA') + ->pluck('nombre')->toArray(); + $headers = array_merge($headers, $barrios); + + $notasPorBarrio = self::notasPorBarrio(); $planilla = []; foreach ($notasPorBarrio as $producto => $notasGrupo) { $fila = [$producto]; - foreach ($barrios as $barrio) { $notas = $notasGrupo->where('barrio', $barrio)->pluck('notas')->implode('; '); $fila[] = $notas ?: ''; } - $planilla[] = $fila; }