This commit is contained in:
lizandrogd
2026-01-19 21:11:58 -05:00
parent 2e9946fde3
commit 3fa805ee18
2 changed files with 44 additions and 1 deletions
+17
View File
@@ -33,6 +33,23 @@ class InventarioPrenda extends Model
protected static function booted()
{
static::creating(function ($inventario) {
// Validación: la cantidad terminada no puede exceder lo recibido para esta OP (traslados a bodega)
if ($inventario->orden_produccion_id) {
$totalRecibido = \App\Models\TrasladoPrenda::where('orden_produccion_id', $inventario->orden_produccion_id)
->where('destino', 'bodega')
->sum('cantidad_recibida');
$assigned = \App\Models\InventarioPrenda::where('orden_produccion_id', $inventario->orden_produccion_id)->sum('cantidad_terminada');
$available = max(0, (int) $totalRecibido - (int) $assigned);
if ((int) $inventario->cantidad_terminada > $available) {
throw \Illuminate\Validation\ValidationException::withMessages([
'cantidad_terminada' => 'No se puede registrar más cantidad terminada de la que está disponible desde acabados/traslados (' . $available . ').',
]);
}
}
// Al ingresar al inventario, todo está disponible
$inventario->cantidad_disponible = $inventario->cantidad_terminada;