From 27390e46591bce500b50b351ee7c8978c86931b8 Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 23 Dec 2024 19:00:57 -0300 Subject: [PATCH 1/4] Esqueleto faltantes y sobrantes --- resources/js/components/admin/Body.vue | 31 +++++------ .../components/admin/FaltantesYSobrantes.vue | 51 +++++++++++++++++++ .../js/components/comunes/TabsSecciones.vue | 17 +++++-- 3 files changed, 78 insertions(+), 21 deletions(-) create mode 100644 resources/js/components/admin/FaltantesYSobrantes.vue diff --git a/resources/js/components/admin/Body.vue b/resources/js/components/admin/Body.vue index 1b4b8c5..f275a89 100644 --- a/resources/js/components/admin/Body.vue +++ b/resources/js/components/admin/Body.vue @@ -1,33 +1,28 @@ @@ -37,14 +32,14 @@ import CaracteristicasOpcionales from "./CaracteristicasOpcionales.vue"; import TabsSecciones from "../comunes/TabsSecciones.vue"; import DropdownDescargar from "./DropdownDescargar.vue"; import TablaPedidos from "./TablaPedidos.vue"; -import TablaBonos from "./TablaBonos.vue"; +import FaltantesYSobrantes from "./FaltantesYSobrantes.vue"; export default { components: { CaracteristicasOpcionales, TabsSecciones, DropdownDescargar, TablaPedidos, - TablaBonos, + FaltantesYSobrantes, }, data() { return { @@ -53,7 +48,7 @@ export default { bonosDeTransporte: 0, totalBonosBarriales: 0, tabs: [{ id: "pedidos", nombre: "Pedidos" }, - { id: "bonos", nombre: "Bonos" }, + { id: "faltantes-y-sobrantes", nombre: "Faltantes y Sobrantes" }, { id: "caracteristicas", nombre: "Caracteristicas opcionales" }], tabActiva: "pedidos", seccionActiva: "pedidos-seccion", diff --git a/resources/js/components/admin/FaltantesYSobrantes.vue b/resources/js/components/admin/FaltantesYSobrantes.vue new file mode 100644 index 0000000..e1d075e --- /dev/null +++ b/resources/js/components/admin/FaltantesYSobrantes.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/resources/js/components/comunes/TabsSecciones.vue b/resources/js/components/comunes/TabsSecciones.vue index 7a2f88a..bb4b54f 100644 --- a/resources/js/components/comunes/TabsSecciones.vue +++ b/resources/js/components/comunes/TabsSecciones.vue @@ -1,6 +1,7 @@ diff --git a/routes/api.php b/routes/api.php index d367a9c..012474d 100644 --- a/routes/api.php +++ b/routes/api.php @@ -44,6 +44,14 @@ Route::middleware('api')->group(function () { $habilitadas = GrupoDeCompra::find($gdc)->toggleDevoluciones(); return ['devoluciones' => $habilitadas]; }); + Route::get('/{gdc}/faltantes', function($gdc) { + $faltantes = GrupoDeCompra::find($gdc)->faltantes(); + return ['faltantes' => $faltantes]; + }); + Route::get('/{gdc}/sobrantes', function($gdc) { + $sobrantes = GrupoDeCompra::find($gdc)->sobrantes(); + return ['sobrantes' => $sobrantes]; + }); }); Route::prefix('subpedidos')->group(function () { -- 2.48.1 From 3366de8c31788221d26c76434aa073581a67fe70 Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 23 Dec 2024 19:49:26 -0300 Subject: [PATCH 3/4] Columnas y atributos para es_faltante y es_sobrante --- app/Subpedido.php | 2 +- ...3_221907_pedidos_faltantes_y_sobrantes.php | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2024_12_23_221907_pedidos_faltantes_y_sobrantes.php diff --git a/app/Subpedido.php b/app/Subpedido.php index 62eccb1..3341019 100644 --- a/app/Subpedido.php +++ b/app/Subpedido.php @@ -11,7 +11,7 @@ use App\Filtros\FiltroDeSubpedido; class Subpedido extends Model { public $timestamps = false; - protected $fillable = ['grupo_de_compra_id', 'aprobado', 'nombre', 'devoluciones_total', 'devoluciones_notas']; + protected $fillable = ['grupo_de_compra_id', 'aprobado', 'nombre', 'devoluciones_total', 'devoluciones_notas', 'es_faltantes', 'es_sobrantes']; public function productos() { diff --git a/database/migrations/2024_12_23_221907_pedidos_faltantes_y_sobrantes.php b/database/migrations/2024_12_23_221907_pedidos_faltantes_y_sobrantes.php new file mode 100644 index 0000000..7c4285b --- /dev/null +++ b/database/migrations/2024_12_23_221907_pedidos_faltantes_y_sobrantes.php @@ -0,0 +1,34 @@ +boolean('es_faltantes')->default(false); + $table->boolean('es_sobrantes')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('subpedidos', function (Blueprint $table) { + $table->dropColumn('es_faltantes'); + $table->dropColumn('es_sobrantes'); + }); + } +} -- 2.48.1 From a44c0745932ac68fb79292679082fbae02401be2 Mon Sep 17 00:00:00 2001 From: ale Date: Mon, 23 Dec 2024 19:51:15 -0300 Subject: [PATCH 4/4] Adaptados metodos faltantes() y sobrantes() para crear el pedido correspondiente --- app/GrupoDeCompra.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index ee414cc..dd3ff13 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -18,12 +18,24 @@ class GrupoDeCompra extends Model public function faltantes() { - return 'Faltantes de ' . $this->nombre; + return Subpedido::firstOrCreate([ + 'nombre' => 'Faltantes de ' . $this->nombre, + 'grupo_de_compra_id' => $this->id + ], + [ + 'es_faltantes' => true + ])->id; } public function sobrantes() { - return 'Sobrantes de ' . $this->nombre; + return Subpedido::firstOrCreate([ + 'nombre' => 'Sobrantes de ' . $this->nombre, + 'grupo_de_compra_id' => $this->id + ], + [ + 'es_sobrantes' => true + ])->id; } public function toggleDevoluciones() -- 2.48.1