{{-- Legend --}}

Grupos de Operadores

@foreach($groupColors as $name => $classes)
{{ $name }}
@endforeach
Parado / Falla
En Producción
Sin Asignar / Apagado
{{-- Loom Grid --}}
@foreach($groupedLooms as $rowName => $rowLooms) @if($rowLooms->isNotEmpty())

{{ $rowName }}

@foreach($rowLooms as $loom) @php $asgn = $loom->assignments->first(); $hasIncident = $loom->incidents->isNotEmpty(); $statusColor = $hasIncident || $loom->running_state === 'STOPPED' ? 'bg-red-500' : ($loom->running_state === 'RUNNING' ? 'bg-green-500' : 'bg-gray-300'); // Mock group assign logic for visual demo based on loom ID $groupClass = $groupColors['POR ASIGNAR']; if(str_starts_with($loom->id, 'WHE 1') || str_starts_with($loom->id, 'WTC 6')) $groupClass = $groupColors['KEVIN-JOSUE']; elseif(str_starts_with($loom->id, 'WTD 1') || str_starts_with($loom->id, 'WTD 15')) $groupClass = $groupColors['BRANDON-BRADY']; elseif(str_starts_with($loom->id, 'ATD')) $groupClass = $groupColors['EDILBERTO-JORGE']; @endphp
{{ $loom->id }}
@if($asgn) {{ $asgn->article->legacy_code ?? $asgn->articulo_id }} {{ $asgn->partida_id }} @if(isset($estimates[$loom->id])) @php $est = $estimates[$loom->id]; @endphp
{{ number_format($est['produced'], 0) }} / {{ number_format($est['target'], 0) }}m (Corte)
@endif
P: {{ $asgn->plegador_id }} @if($asgn->beam) @php $avail = $asgn->beam->available_meters; $total = $asgn->beam->longitud_m; $dailyRate = ($asgn->meta_m_turno > 0 ? $asgn->meta_m_turno : 100) * 3; $daysLeft = $avail / $dailyRate; @endphp Total: {{ number_format($total, 0) }}m {{ number_format($daysLeft, 1) }} días rest. @endif
@else VACÍO @endif
@endforeach
@endif @endforeach