This commit is contained in:
Lizandro Guarnizo
2026-02-04 16:35:34 -05:00
parent cb7bc1229b
commit f37b2fe8d0
9 changed files with 598 additions and 105 deletions
@@ -43,7 +43,7 @@ class PrendasPendientesWidget extends BaseWidget
->label('Pend. Confección')
->alignCenter()
->state(function (OrdenProduccion $record): int {
// Recibidas en confección - Enviadas a ojales
// Recibidas en confección - Enviadas a ojales y prensillas
$recibidas = $record->confecciones()
->whereNotNull('fecha_recepcion')
->sum('cantidad_recibida');
@@ -62,8 +62,9 @@ class PrendasPendientesWidget extends BaseWidget
$disponiblesConfeccion = $recibidas - $arreglos - $cobros;
$enviadasOjales = $record->ojales()->sum('cantidad_enviada');
$enviadasPrensillas = $record->prensillas()->sum('cantidad_enviada');
return max(0, $disponiblesConfeccion - $enviadasOjales);
return max(0, $disponiblesConfeccion - $enviadasOjales - $enviadasPrensillas);
})
->color(fn ($state) => $state > 0 ? 'warning' : 'gray')
->weight(fn ($state) => $state > 0 ? 'bold' : 'normal'),
@@ -71,17 +72,51 @@ class PrendasPendientesWidget extends BaseWidget
Tables\Columns\TextColumn::make('pendiente_ojales')
->label('Pend. Ojales')
->alignCenter()
->state(function (OrdenProduccion $record): int {
->state(function (OrdenProduccion $record): string {
// Enviadas a ojales - Terminadas en ojales
$enviadas = $record->ojales()->sum('cantidad_enviada');
$terminadas = $record->ojales()
->where('terminada', true)
->sum('cantidad_enviada');
$pendientes = max(0, $enviadas - $terminadas);
return max(0, $enviadas - $terminadas);
return "{$terminadas}/{$enviadas}";
})
->color(fn ($state) => $state > 0 ? 'warning' : 'gray')
->weight(fn ($state) => $state > 0 ? 'bold' : 'normal'),
->color(function (OrdenProduccion $record) {
$enviadas = $record->ojales()->sum('cantidad_enviada');
$terminadas = $record->ojales()->where('terminada', true)->sum('cantidad_enviada');
return $terminadas < $enviadas ? 'warning' : ($terminadas > 0 ? 'success' : 'gray');
})
->weight(function (OrdenProduccion $record) {
$enviadas = $record->ojales()->sum('cantidad_enviada');
$terminadas = $record->ojales()->where('terminada', true)->sum('cantidad_enviada');
return $terminadas < $enviadas ? 'bold' : 'normal';
})
->tooltip('Terminadas / Total Enviadas'),
Tables\Columns\TextColumn::make('pendiente_prensillas')
->label('Pend. Prensillas')
->alignCenter()
->state(function (OrdenProduccion $record): string {
$enviadas = $record->prensillas()->sum('cantidad_enviada');
$terminadas = $record->prensillas()
->where('terminada', true)
->sum('cantidad_enviada');
$pendientes = max(0, $enviadas - $terminadas);
return "{$terminadas}/{$enviadas}";
})
->color(function (OrdenProduccion $record) {
$enviadas = $record->prensillas()->sum('cantidad_enviada');
$terminadas = $record->prensillas()->where('terminada', true)->sum('cantidad_enviada');
return $terminadas < $enviadas ? 'warning' : ($terminadas > 0 ? 'success' : 'gray');
})
->weight(function (OrdenProduccion $record) {
$enviadas = $record->prensillas()->sum('cantidad_enviada');
$terminadas = $record->prensillas()->where('terminada', true)->sum('cantidad_enviada');
return $terminadas < $enviadas ? 'bold' : 'normal';
})
->tooltip('Terminadas / Total Enviadas'),
Tables\Columns\TextColumn::make('pendiente_tintoreria')
->label('Pend. Tintorería')