up
This commit is contained in:
@@ -34,6 +34,21 @@ class Confeccion extends Model
|
||||
protected static function booted()
|
||||
{
|
||||
static::saving(function ($confeccion) {
|
||||
// Establecer fecha de envío por defecto si no se proporcionó
|
||||
if (! $confeccion->fecha_envio) {
|
||||
$confeccion->fecha_envio = now();
|
||||
}
|
||||
|
||||
// Validación: cantidad_enviada no puede exceder la cantidad total de la OP
|
||||
if ($confeccion->cantidad_enviada !== null && $confeccion->orden_produccion_id) {
|
||||
$orden = \App\Models\OrdenProduccion::find($confeccion->orden_produccion_id);
|
||||
if ($orden && $confeccion->cantidad_enviada > $orden->cantidad_total) {
|
||||
throw \Illuminate\Validation\ValidationException::withMessages([
|
||||
'cantidad_enviada' => 'La cantidad enviada no puede exceder la cantidad total de la Orden de Producción (' . $orden->cantidad_total . ').',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// Total a pagar
|
||||
if ($confeccion->cantidad_recibida !== null) {
|
||||
$confeccion->total_pagar =
|
||||
@@ -41,7 +56,7 @@ class Confeccion extends Model
|
||||
}
|
||||
|
||||
// Estado automático
|
||||
if (!$confeccion->cantidad_recibida) {
|
||||
if (! $confeccion->cantidad_recibida) {
|
||||
$confeccion->estado = 'pendiente';
|
||||
} elseif ($confeccion->cantidad_recibida < $confeccion->cantidad_enviada) {
|
||||
$confeccion->estado = 'parcial';
|
||||
|
||||
Reference in New Issue
Block a user