Files
pos_heidiver/app/Models/TintoreriaProceso.php
T
2026-01-15 01:36:26 -05:00

53 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class TintoreriaProceso extends Model
{
protected $fillable = [
'proveedor_id',
'orden_produccion_id',
'tipo_proceso',
'fecha_envio',
'cantidad_enviada',
'fecha_recepcion',
'cantidad_recibida',
'perdidas',
'observaciones',
];
/* Relaciones */
public function proveedor()
{
return $this->belongsTo(Proveedor::class);
}
public function ordenProduccion()
{
return $this->belongsTo(OrdenProduccion::class);
}
/* Lógica de negocio */
protected static function booted()
{
static::saving(function ($tintoreria) {
if ($tintoreria->cantidad_recibida !== null) {
$tintoreria->perdidas =
$tintoreria->cantidad_enviada - $tintoreria->cantidad_recibida;
}
});
// Cuando vuelve de tintorería → avanzar OP
static::updated(function ($tintoreria) {
if (
$tintoreria->fecha_recepcion &&
$tintoreria->cantidad_recibida !== null
) {
$tintoreria->ordenProduccion?->avanzarEstado();
}
});
}
}