Nueva logica para planilla de notas, a partir de producto
This commit is contained in:
parent
df05b31b86
commit
f84e1f2954
|
@ -113,4 +113,44 @@ class Producto extends Model
|
||||||
var_export($e->getRecords());
|
var_export($e->getRecords());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public function planillaNotas() {
|
||||||
|
$headers = ['Producto'];
|
||||||
|
$barrios = DB::table('grupos_de_compra')->pluck('nombre')->toArray();
|
||||||
|
$headers = array_merge($headers, $barrios);
|
||||||
|
|
||||||
|
$notasPorBarrio = 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')
|
||||||
|
->where('productos.requiere_notas', 1)
|
||||||
|
->select(
|
||||||
|
'productos.nombre as producto',
|
||||||
|
'grupos_de_compra.nombre as barrio',
|
||||||
|
'producto_subpedido.notas'
|
||||||
|
)
|
||||||
|
->get()
|
||||||
|
->groupBy('producto'); // Group notes by product
|
||||||
|
|
||||||
|
$planilla = [];
|
||||||
|
|
||||||
|
foreach ($notasPorBarrio as $producto => $notasGrupo) {
|
||||||
|
$fila = [$producto];
|
||||||
|
|
||||||
|
foreach ($barrios as $barrio) {
|
||||||
|
$notas = $notasGrupo->where('barrio', $barrio)->pluck('notas')->implode('; ');
|
||||||
|
$fila[] = $notas ?: '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$planilla[] = $fila;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$writer = Writer::createFromPath(resource_path('csv/exports/notas-por-barrio.csv'), 'w');
|
||||||
|
$writer->insertOne($headers);
|
||||||
|
$writer->insertAll($planilla);
|
||||||
|
} catch (CannotInsertRecord $e) {
|
||||||
|
var_export($e->getRecords());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue