From 2df7f6fc4bd5988a6464093126abcdf1be34d3da Mon Sep 17 00:00:00 2001 From: ale <ale.tasistro@gmail.com> Date: Mon, 12 May 2025 18:48:23 -0300 Subject: [PATCH] Agregado producto_es_bono a PedidosAprobados --- .../AgregarEsBonoAPedidosAprobados.php | 72 +++++++++++++++++++ ...ll_agregar_es_bono_a_pedidos_aprobados.php | 27 +++++++ 2 files changed, 99 insertions(+) create mode 100644 app/Console/Commands/AgregarEsBonoAPedidosAprobados.php create mode 100644 database/migrations/2025_05_12_214437_call_agregar_es_bono_a_pedidos_aprobados.php diff --git a/app/Console/Commands/AgregarEsBonoAPedidosAprobados.php b/app/Console/Commands/AgregarEsBonoAPedidosAprobados.php new file mode 100644 index 0000000..251b94c --- /dev/null +++ b/app/Console/Commands/AgregarEsBonoAPedidosAprobados.php @@ -0,0 +1,72 @@ +<?php + +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use Illuminate\Support\Facades\DB; + +class AgregarEsBonoAPedidosAprobados extends Command +{ + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'command:AgregarEsBonoAPedidosAprobados'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Agrega "producto_bono" a la view PedidosAprobados'; + + /** + * Create a new command instance. + * + * @return void + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Execute the console command. + * + * @return int + */ + public function handle(): int + { + DB::statement(" + ALTER VIEW pedidos_aprobados( + grupo_de_compra_id, + grupo_de_compra_nombre, + grupo_de_compra_region, + producto_id, + producto_nombre, + producto_precio, + cantidad_pedida, + total_por_producto, + producto_es_bono + ) AS + SELECT + g.id as grupo_de_compra_id, + g.nombre as grupo_de_compra_nombre, + g.region as grupo_de_compra_region, + pr.id AS producto_id, + pr.nombre as producto_nombre, + pr.precio as producto_precio, + SUM(ps.cantidad) as cantidad_pedida, + pr.precio*SUM(ps.cantidad) as total_por_producto, + pr.bono + FROM grupos_de_compra g + JOIN subpedidos s ON (s.grupo_de_compra_id = g.id AND s.aprobado=1) + JOIN producto_subpedido ps ON (ps.subpedido_id = s.id) + JOIN productos pr ON (pr.id = ps.producto_id) + GROUP BY + g.id, g.nombre, pr.id, pr.nombre + ;"); + return 0; + } +} diff --git a/database/migrations/2025_05_12_214437_call_agregar_es_bono_a_pedidos_aprobados.php b/database/migrations/2025_05_12_214437_call_agregar_es_bono_a_pedidos_aprobados.php new file mode 100644 index 0000000..0805318 --- /dev/null +++ b/database/migrations/2025_05_12_214437_call_agregar_es_bono_a_pedidos_aprobados.php @@ -0,0 +1,27 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Support\Facades\Artisan; + +class CallAgregarEsBonoAPedidosAprobados extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Artisan::call("command:AgregarEsBonoAPedidosAprobados"); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}