Update OjalPresillaResource.php

This commit is contained in:
Lizandro Guarnizo
2026-01-29 20:53:56 -05:00
parent 0621307ee8
commit dc1d79df09
@@ -36,9 +36,22 @@ class OjalPresillaResource extends Resource
return \App\Models\OrdenProduccion::whereHas('confecciones', function ($q) { return \App\Models\OrdenProduccion::whereHas('confecciones', function ($q) {
$q->where('cantidad_recibida', '>', 0); $q->where('cantidad_recibida', '>', 0);
})->get()->mapWithKeys(function ($op) { })->get()->mapWithKeys(function ($op) {
$recibido = $op->confecciones->sum('cantidad_recibida'); // Calcular cantidad total de confecciones recibidas
return [$op->id => "{$op->numero_orden} ({$recibido} prendas recibidas)"]; $cantidadConfecciones = $op->confecciones->sum('cantidad_recibida');
});
// Calcular cantidad ya enviada en ojales
$cantidadEnOjales = \App\Models\Ojal::where('orden_produccion_id', $op->id)
->sum('cantidad_enviada');
// Calcular saldo disponible
$saldoDisponible = $cantidadConfecciones - $cantidadEnOjales;
// Solo incluir si hay saldo disponible
if ($saldoDisponible > 0) {
return [$op->id => "{$op->numero_orden} (Disponible: {$saldoDisponible})"];
}
return [];
})->filter(); // Eliminar valores vacíos
}) })
->searchable() ->searchable()
->required() ->required()
@@ -47,11 +60,17 @@ class OjalPresillaResource extends Resource
if ($state) { if ($state) {
$op = \App\Models\OrdenProduccion::find($state); $op = \App\Models\OrdenProduccion::find($state);
if ($op) { if ($op) {
$recibido = $op->confecciones->sum('cantidad_recibida'); // Calcular cantidad disponible (confecciones - ojales ya enviados)
$set('cantidad_enviada', $recibido); $cantidadConfecciones = $op->confecciones->sum('cantidad_recibida');
$cantidadEnOjales = \App\Models\Ojal::where('orden_produccion_id', $state)
->sum('cantidad_enviada');
$cantidadDisponible = $cantidadConfecciones - $cantidadEnOjales;
$set('cantidad_enviada', $cantidadDisponible);
} }
} }
}), })
->helperText('Solo se muestran órdenes con prendas disponibles para enviar'),
TextInput::make('tipo') TextInput::make('tipo')
->label('Tipo') ->label('Tipo')