@php // 1) Ordenar secciones según: Ingresantes, Matriculados, Egresados, Titulados $desiredOrder = ['ingresantes', 'matriculados', 'egresados', 'titulados']; $sectionsById = []; foreach ($sections as $s) { $sectionsById[$s['id']] = $s; } $sectionsOrdered = []; foreach ($desiredOrder as $oid) { if (isset($sectionsById[$oid])) { $sectionsOrdered[] = $sectionsById[$oid]; } } foreach ($sections as $s) { if (!in_array($s['id'], $desiredOrder, true)) { $sectionsOrdered[] = $s; } } @endphp {{-- Navegación lateral --}} @include('header')
{{-- HERO --}}

Estadísticas Académicas

Datos transparentes por tema estadístico, programa de estudio y año académico.

{{-- SECCIONES DINÁMICAS --}} @foreach ($sectionsOrdered as $sec) @php // 2) Calcular AÑOS VISIBLES (solo columnas cuyo total > 0 sumando TODOS los programas) $visibleYearIds = []; $visibleYearLabels = []; foreach ($yearIds as $idx => $yid) { $hasData = false; foreach (array_keys($programs) as $pid) { $val = $sec['grid'][$pid][$yid] ?? 0; if ((int) $val !== 0) { $hasData = true; break; } } if ($hasData) { $visibleYearIds[] = $yid; $visibleYearLabels[] = $years[$idx] ?? $yid; } } // 3) Preparar SERIES para el gráfico de la sección (por programa, siguiendo los años visibles) $series = []; foreach ($programs as $pid => $pname) { $row = []; foreach ($visibleYearIds as $yid) { $row[] = (int) ($sec['grid'][$pid][$yid] ?? 0); } $series[] = ['label' => $pname, 'data' => $row]; } @endphp
{{-- Título + CTA --}}

{{ $sec['titulo'] }}

{{-- Tabla dinámica --}}
@foreach ($visibleYearLabels as $label) @endforeach @foreach ($programs as $pid => $pname) @foreach ($visibleYearIds as $yid) @endforeach @endforeach
Programa de Estudio{{ $label }}
{{ $pname }} {{ $sec['grid'][$pid][$yid] ?? 0 }}

{{-- Gráfico sincronizado con columnas visibles --}}

Evolución por programa ({{ $sec['titulo'] }})

@endforeach
@include('footer')