Update OjalPresillaResource.php
This commit is contained in:
@@ -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')
|
||||||
|
|||||||
Reference in New Issue
Block a user