From 1fff8f899976d753c078210978e7fd29bd8d52d9 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 29 Jan 2026 22:55:24 -0500 Subject: [PATCH] up --- .../Resources/TrasladoPrendaResource.php | 2 ++ app/Models/Ojal.php | 34 +++++++++++++++++++ app/Models/Prensilla.php | 34 +++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/app/Filament/Resources/TrasladoPrendaResource.php b/app/Filament/Resources/TrasladoPrendaResource.php index a50e6d4..3923183 100644 --- a/app/Filament/Resources/TrasladoPrendaResource.php +++ b/app/Filament/Resources/TrasladoPrendaResource.php @@ -31,6 +31,7 @@ class TrasladoPrendaResource extends Resource ->schema([ Select::make('origen')->options([ 'confeccion' => 'Confección', + 'ojales_prensillas' => 'Ojales y Prensillas', 'tintoreria' => 'Tintorería', 'acabados' => 'Acabados', 'bodega' => 'Bodega', @@ -38,6 +39,7 @@ class TrasladoPrendaResource extends Resource Select::make('destino')->options([ 'confeccion' => 'Confección', + 'ojales_prensillas' => 'Ojales y Prensillas', 'tintoreria' => 'Tintorería', 'acabados' => 'Acabados', 'bodega' => 'Bodega', diff --git a/app/Models/Ojal.php b/app/Models/Ojal.php index 836b034..f95c29d 100644 --- a/app/Models/Ojal.php +++ b/app/Models/Ojal.php @@ -49,6 +49,40 @@ class Ojal extends Model } }); + // Crear traslado cuando se crea un Ojal/Prensilla (Confección → Ojales/Prensillas) + static::created(function ($ojal) { + if ($ojal->cantidad_enviada > 0) { + \App\Models\TrasladoPrenda::create([ + 'orden_produccion_id' => $ojal->orden_produccion_id, + 'referencia_type' => self::class, + 'referencia_id' => $ojal->id, + 'origen' => 'confeccion', + 'destino' => 'ojales_prensillas', + 'cantidad_enviada' => $ojal->cantidad_enviada, + 'cantidad_recibida' => null, + 'fecha_envio' => $ojal->fecha_envio ?? now(), + 'estado' => 'pendiente', + ]); + } + }); + // Crear traslado cuando se marca como terminada (Ojales/Prensillas → Tintorería) + static::updated(function ($ojal) { + if ($ojal->terminada && $ojal->getOriginal('terminada') == false) { + if ($ojal->cantidad_enviada > 0) { + \App\Models\TrasladoPrenda::create([ + 'orden_produccion_id' => $ojal->orden_produccion_id, + 'referencia_type' => self::class, + 'referencia_id' => $ojal->id, + 'origen' => 'ojales_prensillas', + 'destino' => 'tintoreria', + 'cantidad_enviada' => $ojal->cantidad_enviada, + 'cantidad_recibida' => null, + 'fecha_envio' => now(), + 'estado' => 'pendiente', + ]); + } + } + }); } } diff --git a/app/Models/Prensilla.php b/app/Models/Prensilla.php index 1eaf485..4b57e69 100644 --- a/app/Models/Prensilla.php +++ b/app/Models/Prensilla.php @@ -47,6 +47,40 @@ class Prensilla extends Model } }); + // Crear traslado cuando se crea una Prensilla (Confección → Ojales/Prensillas) + static::created(function ($prensilla) { + if ($prensilla->cantidad_enviada > 0) { + \App\Models\TrasladoPrenda::create([ + 'orden_produccion_id' => $prensilla->orden_produccion_id, + 'referencia_type' => self::class, + 'referencia_id' => $prensilla->id, + 'origen' => 'confeccion', + 'destino' => 'ojales_prensillas', + 'cantidad_enviada' => $prensilla->cantidad_enviada, + 'cantidad_recibida' => null, + 'fecha_envio' => $prensilla->fecha_envio ?? now(), + 'estado' => 'pendiente', + ]); + } + }); + // Crear traslado cuando se marca como terminada (Ojales/Prensillas → Tintorería) + static::updated(function ($prensilla) { + if ($prensilla->terminada && $prensilla->getOriginal('terminada') == false) { + if ($prensilla->cantidad_enviada > 0) { + \App\Models\TrasladoPrenda::create([ + 'orden_produccion_id' => $prensilla->orden_produccion_id, + 'referencia_type' => self::class, + 'referencia_id' => $prensilla->id, + 'origen' => 'ojales_prensillas', + 'destino' => 'tintoreria', + 'cantidad_enviada' => $prensilla->cantidad_enviada, + 'cantidad_recibida' => null, + 'fecha_envio' => now(), + 'estado' => 'pendiente', + ]); + } + } + }); } }