@php // 2.5% numero, 7.5% DNI, 18% estudiante: 72% restante para las sesiones. // En 32 sesiones, cada columna recibe 2.25% del ancho A3. $totalSesiones = $sesiones->count(); $anchoSesion = $totalSesiones > 0 ? (72 / $totalSesiones) : 72; $tamanoMarca = $totalSesiones > 38 ? 5.6 : ($totalSesiones > 32 ? 6.2 : 7); $diasCortos = ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab']; @endphp
@if($logoPath && is_file($logoPath)) Logo institucional @endif

{{ $instituto->nombre ?? 'INSTITUTO DE EDUCACIÓN SUPERIOR' }}

Código Modular: {{ $instituto->codigo_modular ?? '---' }}

{{ $instituto->direccion ?? '' }}

Reporte Consolidado de Asistencias

Unidad Didáctica: {{ $curso->nombre ?? 'No disponible' }}

{{ $totalSesiones }} sesiones en una sola matriz (todos los días de clase)
DATOS DEL INSTITUTO Y CURSO
Programa de Estudio {{ $planEstudio->nombre ?? 'No asignado' }} Periodo Lectivo {{ $periodo->nombre ?? 'N/A' }}
Sección / Turno SECCIÓN {{ $seccion->nombre ?? 'A' }} / Según horario Periodo Académico {{ $curso->semestre?->nombre ?? 'I' }}
Docente {{ $nombreDocente }} Modalidad Presencial
CONTROL DE ASISTENCIA POR SESIÓN
@if($totalSesiones === 0)

No se encontraron sesiones para el curso, sección y periodo seleccionados.

@else @foreach($sesiones as $s) @endforeach @foreach($sesiones as $s) @endforeach @forelse($estudiantes as $indice => $est) @foreach($sesiones as $s) @php // Cada sesion se relaciona con la matricula del horario de ese dia. $matriculaCursoId = $est['matricula_cursos_por_horario'][(int) $s->horario_id] ?? null; $clave = "{$s->id_sesion}_{$matriculaCursoId}"; $estado = $matriculaCursoId ? ($asistenciasMapa[$clave] ?? null) : null; @endphp @endforeach @empty @endforelse
N° DNI / CÓD. ESTUDIANTE S{{ $s->numero_reporte }} {{ $s->fecha ? date('d/m', strtotime($s->fecha)) : '--/--' }} {{ $s->fecha ? $diasCortos[(int) date('w', strtotime($s->fecha))] : '--' }}
{{ $indice + 1 }} {{ $est['codigo'] }} {{ $est['nombre_completo'] }} @if($estado === 'presente') P @elseif($estado === 'falta') F @elseif($estado === 'tardanza') T @elseif($estado === 'justificado') J @else - @endif
No se encontraron estudiantes matriculados en esta sección.
@endif
Leyenda: P = Presente   |   T = Tardanza   |   F = Falta   |   J = Justificado   |   - = Sin registro