📊 Statistiques — Récapitulatif des heures à récupérer

{{-- CSS d'impression --}}
{{-- ─── Onglets de navigation ───────────────────────────────────── --}}
{{-- ─── Formulaire de filtre ───────────────────────────────────── --}}
@if($selectedService && count($tableData) > 0) @endif
{{-- ─── Tableau ─────────────────────────────────────────────────── --}} @if($selectedService && count($tableData) > 0)
{{-- Titre visible à l'écran --}}

🏢 {{ $selectedService->libelle_service }} — {{ $selectedYear }}

{{ count($tableData) }} agent(s)
{{-- Titre du tableau visible uniquement Ă  l'impression --}} @foreach($monthNames as $num => $label) @endforeach @foreach($monthNames as $num => $label) @endforeach @foreach($tableData as $row) {{-- Report N-1 --}} @php $val = $row['report_n1']; $cls = $val <= 0 ? 'zero' : ($val >= 20 ? 'high' : 'positive'); @endphp {{-- 12 mois --}} @foreach($monthNames as $num => $label) @php $mVal = $row['months'][$num] ?? null; if ($mVal === null) { $mCls = ''; $display = ''; } else { $mCls = $mVal <= 0 ? 'zero' : ($mVal >= 20 ? 'high' : 'positive'); $display = $mVal > 0 ? \App\Helpers\TimeHelper::decimalToHours($mVal) : ''; } @endphp @endforeach @endforeach {{-- Ligne totaux --}} @php $totalN1 = array_sum(array_column($tableData, 'report_n1')); @endphp @foreach($monthNames as $num => $label) @php $totalM = 0; $hasValue = false; foreach($tableData as $r) { if (isset($r['months'][$num]) && $r['months'][$num] !== null) { $totalM += $r['months'][$num]; $hasValue = true; } } @endphp @endforeach
Récapitulatif des heures à récupérer - Service {{ $selectedService->libelle_service }} [{{ $selectedYear }}]
Agent Report
{{ $selectedYear - 1 }}
{{ $label }}
Solde fin {{ $num }}/{{ $selectedYear }}
{{ $row['agent'] }} {{ $val > 0 ? \App\Helpers\TimeHelper::decimalToHours($val) : '' }} {{ $display }}
TOTAL SERVICE{{ $totalN1 > 0 ? \App\Helpers\TimeHelper::decimalToHours($totalN1) : '' }}{{ ($hasValue && $totalM > 0) ? \App\Helpers\TimeHelper::decimalToHours($totalM) : '' }}

ℹ️ Les soldes affichés représentent les heures encore valides en fin de mois (majorées, FIFO, expiration selon paramètres). Les cases à 0:00 en gris indiquent un solde nul. Les valeurs en orange sont ≥ 20h.

@elseif($selectedService)

Aucun agent trouvé

Aucun agent n'était affecté au service {{ $selectedService->libelle_service }} en {{ $selectedYear }}.

@else

đź“‹

Sélectionnez un service et une année pour afficher le récapitulatif.

@endif