@extends('layouts.main') @section('main')
@include('extranet.partials.flash-messages')

Resultados de la Encuesta

{{ $encuesta->titulo }}
@if($encuesta->descripcion)

{{ $encuesta->descripcion }}

@endif
Volver @can('crear-encuesta') @endcan

{{ $encuesta->total_respuestas }}

Total Respuestas
@php $empleadosActivos = \App\Models\empleado::where('EMP_ACTIVO', 1)->count(); $participacion = $empleadosActivos > 0 ? round(($encuesta->total_respuestas / $empleadosActivos) * 100, 1) : 0; @endphp

{{ $participacion }}%

Tasa de Participación

{{ $encuesta->preguntas->count() }}

Total Preguntas

@if($encuesta->anonima) Sí @else No @endif

Anónima
@foreach($encuesta->preguntas->sortBy('orden') as $index => $pregunta)
{{ $index + 1 }}. {{ $pregunta->pregunta }}
Tipo: {{ ucfirst(str_replace('_', ' ', $pregunta->tipo_respuesta)) }} | Respuestas: {{ $pregunta->respuestas->count() }}
@if(in_array($pregunta->tipo_respuesta, ['opcion_multiple', 'checkbox']))
Resumen
@php $opciones = json_decode($pregunta->opciones, true) ?? []; $respuestas = $pregunta->respuestas->pluck('respuesta'); $contadores = []; foreach($opciones as $opcion) { $contadores[$opcion] = 0; } foreach($respuestas as $respuesta) { if($pregunta->tipo_respuesta == 'checkbox') { $valores = json_decode($respuesta, true) ?? [$respuesta]; foreach($valores as $valor) { if(isset($contadores[$valor])) { $contadores[$valor]++; } } } else { if(isset($contadores[$respuesta])) { $contadores[$respuesta]++; } } } @endphp
    @foreach($contadores as $opcion => $count)
  • {{ $opcion }}: {{ $count }} ({{ $pregunta->respuestas->count() > 0 ? round(($count / $pregunta->respuestas->count()) * 100, 1) : 0 }}%)
  • @endforeach
@elseif($pregunta->tipo_respuesta == 'escala')
@php $escalaContadores = []; for($i = $pregunta->escala_min; $i <= $pregunta->escala_max; $i++) { $escalaContadores[$i] = 0; } foreach($pregunta->respuestas as $respuesta) { $valor = (int)$respuesta->respuesta; if(isset($escalaContadores[$valor])) { $escalaContadores[$valor]++; } } $promedio = $pregunta->respuestas->avg('respuesta'); @endphp
Estadísticas

Promedio: {{ number_format($promedio, 2) }}

Total respuestas: {{ $pregunta->respuestas->count() }}

Distribución
    @foreach($escalaContadores as $valor => $count)
  • {{ $valor }}: {{ $count }} ({{ $pregunta->respuestas->count() > 0 ? round(($count / $pregunta->respuestas->count()) * 100, 1) : 0 }}%)
  • @endforeach
@else
@foreach($pregunta->respuestas->take(50) as $respuesta)

{{ $respuesta->respuesta }}

{{ \Carbon\Carbon::parse($respuesta->created_at)->locale('es')->diffForHumans() }}
@endforeach @if($pregunta->respuestas->count() > 50)

Y {{ $pregunta->respuestas->count() - 50 }} respuestas más...

@endif
@endif
@endforeach
@endsection