diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 6928d5f..c56a795 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -261,4 +261,41 @@ class GrupoDeCompra extends Model } } + static public function totalesParaTransportePorBarrio() { + return DB::table('grupos_de_compra') + ->join('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id') + ->join('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id') + ->join('productos', 'producto_subpedido.producto_id', '=', 'productos.id') + ->where('productos.categoria', 'not like', '%SUBSIDIADO%') + ->where('productos.bono', 0) + ->where('subpedidos.aprobado', 1) + ->select( + 'grupos_de_compra.nombre as barrio', + DB::raw('SUM(producto_subpedido.cantidad * productos.precio) as total') + ) + ->groupBy('grupos_de_compra.nombre') + ->get(); + } + + static public function planillaTransporte() { + $totalesPorBarrio = self::totalesParaTransportePorBarrio(); + $barrios = []; + $bonosDeTransporte = []; + + foreach ($totalesPorBarrio as $totalBarrio) { + $barrios[] = $totalBarrio->barrio; + $bonosDeTransporte[] = ceil($totalBarrio->total / 500); + } + + $planilla = []; + $planilla[] = array_merge(['Barrio'], $barrios); + $planilla[] = array_merge(['Cant. bonos de transporte'], $bonosDeTransporte); + + try { + $writer = Writer::createFromPath(resource_path('csv/exports/transporte-por-barrio.csv'), 'w'); + $writer->insertAll($planilla); + } catch (CannotInsertRecord $e) { + var_export($e->getRecords()); + } + } }