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

View file

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