diff --git a/app/Models/Ojal.php b/app/Models/Ojal.php index f717076..54d0365 100644 --- a/app/Models/Ojal.php +++ b/app/Models/Ojal.php @@ -57,11 +57,16 @@ class Ojal extends Model $q->where('orden_produccion_id', $opId); })->sum('cantidad'); $totalProducido = $totalRecibido - $totalArreglos - $totalCobros; - $yaAsignado = \App\Models\Prensilla::where('orden_produccion_id', $opId)->sum('cantidad_enviada') - + \App\Models\Ojal::where('orden_produccion_id', $opId)->sum('cantidad_enviada'); + + // Solo verificar ojales ya asignados (no prensillas, porque vienen después) + $yaAsignado = \App\Models\Ojal::where('orden_produccion_id', $opId)->sum('cantidad_enviada'); - if (($yaAsignado + ($p->cantidad_enviada ?? 0)) > $totalProducido) { - throw \Illuminate\Validation\ValidationException::withMessages(['cantidad_enviada' => 'No hay suficientes unidades disponibles desde confecciones para asignar.']); + $disponible = $totalProducido - $yaAsignado; + + if (($p->cantidad_enviada ?? 0) > $disponible) { + throw \Illuminate\Validation\ValidationException::withMessages([ + 'cantidad_enviada' => "Solo hay {$disponible} unidades disponibles desde confecciones. No se pueden asignar " . ($p->cantidad_enviada ?? 0) . " unidades." + ]); } });