Update ProcesoAcabadoResource.php
This commit is contained in:
@@ -46,11 +46,17 @@ class ProcesoAcabadoResource extends Resource
|
|||||||
->required()
|
->required()
|
||||||
->afterStateUpdated(function ($state, $set) {
|
->afterStateUpdated(function ($state, $set) {
|
||||||
if ($state) {
|
if ($state) {
|
||||||
// Calcular cantidad disponible desde Tintorería
|
// Calcular cantidad disponible desde Tintorería (neto: recepciones - reprocesos - cobros)
|
||||||
$disponible = \App\Models\Tintoreria::where('orden_produccion_id', $state)
|
$tintoreriaRecords = \App\Models\Tintoreria::where('orden_produccion_id', $state)->get();
|
||||||
->sum('cantidad_recibida');
|
$disponible = 0;
|
||||||
|
foreach ($tintoreriaRecords as $tintoreria) {
|
||||||
|
$recepciones = (int) $tintoreria->recepciones()->sum(\DB::raw('cantidad - COALESCE(prendas_defectuosas, 0)'));
|
||||||
|
$reprocesos = (int) $tintoreria->ajustes()->where('tipo', 'reproceso')->sum('cantidad');
|
||||||
|
$cobros = (int) $tintoreria->cobros()->sum('cantidad');
|
||||||
|
$disponible += ($recepciones - $reprocesos - $cobros);
|
||||||
|
}
|
||||||
|
|
||||||
$set('cantidad_enviada', $disponible ?: 0);
|
$set('cantidad_enviada', max(0, $disponible));
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -68,8 +74,18 @@ class ProcesoAcabadoResource extends Resource
|
|||||||
->helperText(function ($get) {
|
->helperText(function ($get) {
|
||||||
$op_id = $get('orden_produccion_id');
|
$op_id = $get('orden_produccion_id');
|
||||||
if (!$op_id) return 'Selecciona una orden de producción primero';
|
if (!$op_id) return 'Selecciona una orden de producción primero';
|
||||||
$disponible = \App\Models\Tintoreria::where('orden_produccion_id', $op_id)->sum('cantidad_recibida');
|
|
||||||
return 'Disponible desde Tintorería: ' . $disponible;
|
// Calcular disponible neto desde Tintorería
|
||||||
|
$tintoreriaRecords = \App\Models\Tintoreria::where('orden_produccion_id', $op_id)->get();
|
||||||
|
$disponible = 0;
|
||||||
|
foreach ($tintoreriaRecords as $tintoreria) {
|
||||||
|
$recepciones = (int) $tintoreria->recepciones()->sum(\DB::raw('cantidad - COALESCE(prendas_defectuosas, 0)'));
|
||||||
|
$reprocesos = (int) $tintoreria->ajustes()->where('tipo', 'reproceso')->sum('cantidad');
|
||||||
|
$cobros = (int) $tintoreria->cobros()->sum('cantidad');
|
||||||
|
$disponible += ($recepciones - $reprocesos - $cobros);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'Disponible desde Tintorería: ' . max(0, $disponible);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
DatePicker::make('fecha_envio')
|
DatePicker::make('fecha_envio')
|
||||||
|
|||||||
Reference in New Issue
Block a user