@extends('layouts.master') @section('content')
| Pregunta | @foreach($materias as $mat){{ $mat }} | @endforeachPromedio por Pregunta |
|---|---|---|
| {{ $texto }} | @foreach($materias as $matId => $mat) @php $prom = $promedios[$pregId][$matId] ?? null; $modalidadCelda = $modalidades[$pregId][$matId] ?? null; $colorCelda = 'bg-light'; // gris por defecto $valorMostrar = ''; if(!is_null($prom)) { if($modalidadCelda === 0 || $modalidadCelda === 2) { $colorCelda = 'bg-success text-white'; $valorMostrar = number_format($prom, 2); } elseif($modalidadCelda === 3) { $colorCelda = 'bg-primary text-white'; $valorMostrar = number_format($prom, 2); } // Solo sumar al promedio si modalidad aplica (0,2,3) if(in_array($modalidadCelda, [0,2,3])) { $totalPregunta += $prom; $countMaterias++; $promediosPorMateria[$matId][] = ['valor' => $prom, 'modalidad' => $modalidadCelda]; } } @endphp{{ $valorMostrar }} | @endforeach{{ $countMaterias ? number_format($totalPregunta / $countMaterias, 2) : '' }} |
| Promedio por Materia | @php $totalGeneral = 0; $materiasConPromedio = 0; // contaremos solo materias que tienen promedio @endphp @foreach($materias as $matId => $mat) @php $promMat = 0; $colorProm = 'bg-light'; if(isset($promediosPorMateria[$matId]) && count($promediosPorMateria[$matId])) { $valores = $promediosPorMateria[$matId]; $promMat = array_sum(array_column($valores, 'valor')) / count($valores); // Determinar color según modalidad de los valores $colorProm = 'bg-light'; foreach($valores as $v) { if($v['modalidad'] === 0 || $v['modalidad'] === 2) { $colorProm = 'bg-success text-white'; break; } elseif($v['modalidad'] === 3) { $colorProm = 'bg-primary text-white'; break; } } $totalGeneral += $promMat; $materiasConPromedio++; } @endphp{{ $promMat ? number_format($promMat, 2) : '' }} | @endforeach @php // Promedio general: solo dividir entre materias que tienen promedio $promGeneral = $materiasConPromedio ? $totalGeneral / $materiasConPromedio : 0; @endphp{{ $promGeneral ? number_format($promGeneral, 2) : '' }} |