up
This commit is contained in:
@@ -33,9 +33,25 @@ class Tintoreria extends Model
|
||||
protected static function booted()
|
||||
{
|
||||
static::saving(function ($tintoreria) {
|
||||
// Fecha de envío por defecto
|
||||
if (! $tintoreria->fecha_envio) {
|
||||
$tintoreria->fecha_envio = now();
|
||||
}
|
||||
|
||||
// Validación: cantidad_enviada no puede exceder la suma de confecciones recibidas de la OP
|
||||
if ($tintoreria->cantidad_enviada !== null && $tintoreria->orden_produccion_id) {
|
||||
$sum = \App\Models\Confeccion::where('orden_produccion_id', $tintoreria->orden_produccion_id)->sum('cantidad_recibida');
|
||||
if ($sum && $tintoreria->cantidad_enviada > $sum) {
|
||||
throw \Illuminate\Validation\ValidationException::withMessages([
|
||||
'cantidad_enviada' => 'La cantidad enviada no puede exceder la cantidad recibida en Confección (' . $sum . ').',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($tintoreria->cantidad_recibida !== null) {
|
||||
$tintoreria->perdidas =
|
||||
$tintoreria->cantidad_enviada - $tintoreria->cantidad_recibida;
|
||||
if ($tintoreria->perdidas < 0) $tintoreria->perdidas = 0;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user