Solo barrios con pedidos aprobados

This commit is contained in:
Alejandro Tasistro 2025-06-23 16:55:20 -03:00
parent aaeee70c9e
commit f520578525
2 changed files with 13 additions and 8 deletions

View file

@ -171,7 +171,7 @@ class GrupoDeCompra extends Model
*/ */
public static function exportarPedidosBarrialesAPdf() public static function exportarPedidosBarrialesAPdf()
{ {
$barrios = GrupoDeCompra::barriosMenosPrueba()->get(); $barrios = GrupoDeCompra::barriosMenosPruebaConPedidosAprobados()->get();
$fecha = now()->format('Y-m-d'); $fecha = now()->format('Y-m-d');
$filepath = 'pedidos_por_barrio-' . $fecha . '.pdf'; $filepath = 'pedidos_por_barrio-' . $fecha . '.pdf';
PdfHelper::exportarPedidos($filepath, $barrios); PdfHelper::exportarPedidos($filepath, $barrios);
@ -292,9 +292,12 @@ class GrupoDeCompra extends Model
return array($records, $i, $cantidad); return array($records, $i, $cantidad);
} }
public static function barriosMenosPrueba(): Builder public static function barriosMenosPruebaConPedidosAprobados(): Builder
{ {
return self::where('nombre', '<>', 'PRUEBA') return self::where('nombre', '<>', 'PRUEBA')
->whereHas('subpedidos', function ($query) {
$query->where('aprobado', true);
})
->orderBy('region') ->orderBy('region')
->orderBy('nombre'); ->orderBy('nombre');
} }
@ -302,7 +305,7 @@ class GrupoDeCompra extends Model
public static function transportePorBarrio(): array public static function transportePorBarrio(): array
{ {
$result = []; $result = [];
$barrios = GrupoDeCompra::barriosMenosPrueba()->get(); $barrios = GrupoDeCompra::barriosMenosPruebaConPedidosAprobados()->get();
foreach ($barrios as $barrio) { foreach ($barrios as $barrio) {
$result[] = $barrio->cantidadTransporte(); $result[] = $barrio->cantidadTransporte();

View file

@ -57,7 +57,7 @@ class Producto extends Model
static public function cantidadesPorBarrio(): Collection static public function cantidadesPorBarrio(): Collection
{ {
$barrios = GrupoDeCompra::barriosMenosPrueba()->pluck('id', 'nombre'); $barrios = GrupoDeCompra::barriosMenosPruebaConPedidosAprobados()->pluck('id', 'nombre');
$columnasBarrios = $barrios->map(function ($id, $nombre) { $columnasBarrios = $barrios->map(function ($id, $nombre) {
return DB::raw(" return DB::raw("
@ -69,7 +69,8 @@ class Producto extends Model
as `$nombre`"); as `$nombre`");
})->toArray(); })->toArray();
return self::noBarriales() return DB::table('productos')
->where('productos.nombre', 'not like', '%barrial%')
->leftJoin('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id') ->leftJoin('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
->leftJoin('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id') ->leftJoin('subpedidos', 'subpedidos.id', '=', 'producto_subpedido.subpedido_id')
->where('subpedidos.tipo_pedido_id', '=', 1) ->where('subpedidos.tipo_pedido_id', '=', 1)
@ -89,7 +90,7 @@ class Producto extends Model
static public function planillaTotales() static public function planillaTotales()
{ {
$headers = ['Producto']; $headers = ['Producto'];
$barrios = GrupoDeCompra::barriosMenosPrueba()->pluck('nombre')->toArray(); $barrios = GrupoDeCompra::barriosMenosPruebaConPedidosAprobados()->pluck('nombre')->toArray();
$headers = array_merge($headers, $barrios); $headers = array_merge($headers, $barrios);
$cantidadesPorBarrio = self::cantidadesPorBarrio(); $cantidadesPorBarrio = self::cantidadesPorBarrio();
@ -126,7 +127,8 @@ class Producto extends Model
public static function notasPorBarrio(): Collection public static function notasPorBarrio(): Collection
{ {
return self::noBarriales() return DB::table('productos')
->where('productos.nombre', 'not like', '%barrial%')
->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id') ->join('producto_subpedido', 'productos.id', '=', 'producto_subpedido.producto_id')
->join('subpedidos', 'producto_subpedido.subpedido_id', '=', 'subpedidos.id') ->join('subpedidos', 'producto_subpedido.subpedido_id', '=', 'subpedidos.id')
->join('grupos_de_compra', 'subpedidos.grupo_de_compra_id', '=', 'grupos_de_compra.id') ->join('grupos_de_compra', 'subpedidos.grupo_de_compra_id', '=', 'grupos_de_compra.id')
@ -143,7 +145,7 @@ class Producto extends Model
static public function planillaNotas() { static public function planillaNotas() {
$headers = ['Producto']; $headers = ['Producto'];
$barrios = GrupoDeCompra::barriosMenosPrueba() $barrios = GrupoDeCompra::barriosMenosPruebaConPedidosAprobados()
->pluck('nombre')->toArray(); ->pluck('nombre')->toArray();
$headers = array_merge($headers, $barrios); $headers = array_merge($headers, $barrios);