up
This commit is contained in:
+14
-33
@@ -55,42 +55,23 @@ class Tintoreria extends Model
|
||||
}
|
||||
});
|
||||
|
||||
$createTrasladoFn = function ($tintoreria) {
|
||||
if ($tintoreria->cantidad_recibida !== null) {
|
||||
// Evitar duplicados
|
||||
$exists = \App\Models\TrasladoPrenda::where('referencia_type', self::class)
|
||||
->where('referencia_id', $tintoreria->id)
|
||||
->exists();
|
||||
/* Recepciones polimórficas */
|
||||
public function recepciones()
|
||||
{
|
||||
return $this->morphMany(\App\Models\Recepcion::class, 'referencia');
|
||||
}
|
||||
|
||||
if (! $exists) {
|
||||
// Mapear "perdidas" a prendas_defectuosas en el traslado
|
||||
$payload = [
|
||||
'prendas_defectuosas' => $tintoreria->perdidas ?? 0,
|
||||
];
|
||||
// Cuantas faltan por recibir
|
||||
public function getFaltantesAttribute()
|
||||
{
|
||||
return max(0, (int)($this->cantidad_enviada ?? 0) - (int)($this->cantidad_recibida ?? 0));
|
||||
}
|
||||
|
||||
$destino = 'acabados';
|
||||
|
||||
\App\Models\TrasladoPrenda::crearDesdeReferencia(
|
||||
$tintoreria,
|
||||
'tintoreria',
|
||||
$destino,
|
||||
$payload
|
||||
);
|
||||
|
||||
// Avanzar la OP al cerrar el paso
|
||||
$tintoreria->ordenProduccion?->avanzarEstado();
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
$tintoreria->fecha_recepcion &&
|
||||
$tintoreria->cantidad_recibida !== null
|
||||
) {
|
||||
// Avanzar OP al cerrar el paso o cuando se complete
|
||||
static::saved(function ($tintoreria) {
|
||||
if ($tintoreria->fecha_recepcion && $tintoreria->cantidad_recibida !== null) {
|
||||
$tintoreria->ordenProduccion?->avanzarEstado();
|
||||
}
|
||||
};
|
||||
|
||||
static::updated($createTrasladoFn);
|
||||
static::saved($createTrasladoFn);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user