From 302ebb9abd17c579ed35cd6bb72fafc7c01bc491 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Wed, 4 Feb 2026 20:39:47 -0500 Subject: [PATCH] Update Ojal.php --- app/Models/Ojal.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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." + ]); } });