Planilla de transporte

This commit is contained in:
Alejandro Tasistro 2024-12-09 12:35:32 -03:00
parent b5d23c6740
commit 8e885c18d8
1 changed files with 37 additions and 0 deletions

View File

@ -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());
}
}
}