Cambiado para tener todos los barrios, incluso los que tienen 0 bonos de transporte

This commit is contained in:
Alejandro Tasistro 2024-12-09 12:52:41 -03:00
parent 8e885c18d8
commit 5c97fc9e70
1 changed files with 19 additions and 8 deletions

View File

@ -263,20 +263,31 @@ class GrupoDeCompra extends Model
static public function totalesParaTransportePorBarrio() { static public function totalesParaTransportePorBarrio() {
return DB::table('grupos_de_compra') return DB::table('grupos_de_compra')
->join('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id') ->leftJoin('subpedidos', 'grupos_de_compra.id', '=', 'subpedidos.grupo_de_compra_id')
->join('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id') ->leftJoin('producto_subpedido', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
->join('productos', 'producto_subpedido.producto_id', '=', 'productos.id') ->leftJoin('productos', 'producto_subpedido.producto_id', '=', 'productos.id')
->where('productos.categoria', 'not like', '%SUBSIDIADO%') ->where(function ($query) {
->where('productos.bono', 0) $query->whereNull('productos.categoria') // Handle missing products
->where('subpedidos.aprobado', 1) ->orWhere('productos.categoria', 'not like', '%SUBSIDIADO%');
})
->where(function ($query) {
$query->whereNull('productos.bono') // Handle missing products
->orWhere('productos.bono', 0);
})
->where(function ($query) {
$query->whereNull('subpedidos.aprobado') // Handle missing subpedidos
->orWhere('subpedidos.aprobado', 1);
})
->select( ->select(
'grupos_de_compra.id as id',
'grupos_de_compra.nombre as barrio', 'grupos_de_compra.nombre as barrio',
DB::raw('SUM(producto_subpedido.cantidad * productos.precio) as total') DB::raw('COALESCE(SUM(producto_subpedido.cantidad * productos.precio), 0) as total')
) )
->groupBy('grupos_de_compra.nombre') ->groupBy('grupos_de_compra.id')
->get(); ->get();
} }
static public function planillaTransporte() { static public function planillaTransporte() {
$totalesPorBarrio = self::totalesParaTransportePorBarrio(); $totalesPorBarrio = self::totalesParaTransportePorBarrio();
$barrios = []; $barrios = [];