@extends('layouts.app') @section('titulo', 'Recuento de Elementos - ' . $revision->lugar->nombre) @section('contenido1') @php // Calcular totales agregados de TODAS las centrales $totalElementos = $todasLasCentrales->sum(function($central) { return $central->elementos->count(); }); // CORREGIDO: Filtrar por tipoElemento->tipo (no por elemento->tipo que es el ID) $totalDetectores = $todasLasCentrales->sum(function($central) { return $central->elementos->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->tipo == 1; })->count(); }); $totalModulos = $todasLasCentrales->sum(function($central) { return $central->elementos->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->tipo == 2; })->count(); }); $totalLazos = $todasLasCentrales->sum(function($central) { return $central->lazos->count(); }); // Obtener pulsadores de TODAS las centrales de la revisión $todosLosPulsadoresRevisados = collect(); foreach($todasLasCentrales as $centralItem) { $pulsadoresCentral = $centralItem->elementos ->filter(function($elemento) use ($revision) { // Verificar que es un pulsador $esPulsador = $elemento->tipoElemento && (strtoupper($elemento->tipoElemento->abreviatura) == 'PUL' || stripos($elemento->tipoElemento->nombre, 'pulsador') !== false); // Verificar si tiene pruebas realizadas en esta revisión específica $fueRevisado = $elemento->pruebasRealizadas && $elemento->pruebasRealizadas->where('id_revision', $revision->id)->count() > 0; return $esPulsador && $fueRevisado; }); $todosLosPulsadoresRevisados = $todosLosPulsadoresRevisados->merge($pulsadoresCentral); } // Seleccionar 10 pulsadores aleatorios de todas las centrales $pulsadoresRevisados = $todosLosPulsadoresRevisados->shuffle()->take(10); // NUEVO: Obtener detectores de TODAS las centrales de la revisión usando CiElementoRevisado $todosLosDetectoresRevisados = \App\Models\CiElementoRevisado::where('id_revision', $revision->id) ->whereHas('elemento', function($query) use ($revision) { $query->whereHas('central', function($q) use ($revision) { $q->where('revision_id', $revision->id); })->whereHas('tipoElemento', function($q) { $q->where('abreviatura', 'OPT') ->orWhere('abreviatura', 'TER') ->orWhere('nombre', 'like', '%óptico%') ->orWhere('nombre', 'like', '%térmico%'); }); }) ->with([ 'elemento.tipoElemento', 'elemento.lazoRelation', 'elemento.zona', 'elemento.central' ]) ->get() ->map(function($elementoRevisado) { return $elementoRevisado->elemento; }); // Seleccionar 10 detectores aleatorios de todas las centrales, asegurando mezcla de ópticos y térmicos $detectoresOpticos = $todosLosDetectoresRevisados->filter(function($elemento) { if(!$elemento->tipoElemento) return false; $abreviatura = strtoupper($elemento->tipoElemento->abreviatura); $nombre = strtolower($elemento->tipoElemento->nombre); return ($abreviatura == 'OPT' || $abreviatura == 'OPTI' || strpos($nombre, 'óptico') !== false || strpos($nombre, 'optico') !== false); }); $detectoresTermicos = $todosLosDetectoresRevisados->filter(function($elemento) { if(!$elemento->tipoElemento) return false; $abreviatura = strtoupper($elemento->tipoElemento->abreviatura); $nombre = strtolower($elemento->tipoElemento->nombre); return ($abreviatura == 'TER' || strpos($nombre, 'térmico') !== false || strpos($nombre, 'termico') !== false); }); // Tomar algunos térmicos (máximo 3) y el resto ópticos $termicosSeleccionados = $detectoresTermicos->shuffle()->take(min(3, $detectoresTermicos->count())); $optikosNecesarios = 10 - $termicosSeleccionados->count(); $optikosSeleccionados = $detectoresOpticos->shuffle()->take($optikosNecesarios); $detectoresRevisados = $termicosSeleccionados->merge($optikosSeleccionados)->shuffle(); // NUEVO: Obtener TODOS los módulos auxiliares de TODAS las centrales de la revisión $todosLosModulosAuxiliares = collect(); $debugLogs = collect(); foreach($todasLasCentrales as $centralIndex => $centralItem) { $debugLogs->push("=== CENTRAL {$centralIndex}: {$centralItem->nombre} ==="); $elementosCentral = $centralItem->elementos; $debugLogs->push("Total elementos en central: {$elementosCentral->count()}"); // CORREGIDO: Buscar elementos que son MÓDULOS (tipoElemento.tipo = 2) y excluir solo PUL, SIR, SIRE $elementosModulos = $elementosCentral->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->tipo == 2; }); $debugLogs->push("Elementos que son MÓDULOS (tipoElemento.tipo = 2): {$elementosModulos->count()}"); // DEBUG: Buscar TODOS los elementos CON independientemente del tipo $todosLosCON = $elementosCentral->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->abreviatura == 'CON'; }); $debugLogs->push("TODOS los elementos CON encontrados: {$todosLosCON->count()}"); foreach($todosLosCON as $elemIndex => $elemento) { $tipoElementoId = $elemento->tipoElemento->id ?? 'N/A'; $tipoElementoTipo = $elemento->tipoElemento->tipo ?? 'N/A'; $debugLogs->push("CON {$elemIndex}: {$elemento->nombre} | Elemento.tipo: {$elemento->tipo} | TipoElemento.id: {$tipoElementoId} | TipoElemento.tipo: {$tipoElementoTipo}"); } foreach($elementosModulos as $elemIndex => $elemento) { $abreviatura = $elemento->tipoElemento->abreviatura ?? 'N/A'; $tipoElementoId = $elemento->tipoElemento->id ?? 'N/A'; $tipoElementoTipo = $elemento->tipoElemento->tipo ?? 'N/A'; $debugLogs->push("Módulo {$elemIndex}: {$elemento->nombre} | Elemento.tipo: {$elemento->tipo} | TipoElemento.id: {$tipoElementoId} | TipoElemento.tipo: {$tipoElementoTipo} | Abreviatura: {$abreviatura}"); } $modulosCentral = $elementosModulos->filter(function($elemento) use ($debugLogs) { if (!$elemento->tipoElemento) { $debugLogs->push("❌ EXCLUIDO: {$elemento->nombre} - No tiene tipoElemento"); return false; } $abreviatura = $elemento->tipoElemento->abreviatura; // Excluir solo pulsadores y sirenas $excluir = ['PUL', 'SIR', 'SIRE']; if (in_array($abreviatura, $excluir)) { $debugLogs->push("❌ EXCLUIDO: {$elemento->nombre} - Abreviatura {$abreviatura} en lista de exclusión"); return false; } $debugLogs->push("✅ INCLUIDO: {$elemento->nombre} - Abreviatura: {$abreviatura}"); return true; }); $debugLogs->push("Elementos que pasan el filtro en esta central: {$modulosCentral->count()}"); $todosLosModulosAuxiliares = $todosLosModulosAuxiliares->merge($modulosCentral); } $debugLogs->push("=== RESULTADO FINAL ==="); $debugLogs->push("Total módulos auxiliares encontrados: {$todosLosModulosAuxiliares->count()}"); // Seleccionar 10 módulos auxiliares aleatorios $modulosAuxiliaresRevisados = $todosLosModulosAuxiliares->shuffle()->take(10); $debugLogs->push("=== ELEMENTOS SELECCIONADOS PARA LA TABLA ==="); foreach($modulosAuxiliaresRevisados as $index => $elemento) { $abreviatura = $elemento->tipoElemento->abreviatura ?? 'N/A'; $tipoElementoTipo = $elemento->tipoElemento->tipo ?? 'N/A'; $debugLogs->push("Seleccionado {$index}: {$elemento->nombre} | Tipo: {$elemento->tipo} | Abreviatura: {$abreviatura} | TipoElemento.tipo: {$tipoElementoTipo}"); } // Contar total de módulos auxiliares de TODAS las centrales (solo tipo 2, excluyendo PUL, SIR, SIRE) $totalModulosAuxiliares = 0; foreach($todasLasCentrales as $centralItem) { $totalModulosAuxiliares += $centralItem->elementos->filter(function($elemento) { if (!$elemento->tipoElemento || $elemento->tipoElemento->tipo != 2) return false; $abreviatura = $elemento->tipoElemento->abreviatura; $excluir = ['PUL', 'SIR', 'SIRE']; return !in_array($abreviatura, $excluir); })->count(); } @endphp
Debug Info - TODAS LAS CENTRALES

Total centrales en revisión: {{ $todasLasCentrales->count() }}
Centrales: @foreach($todasLasCentrales as $centralItem) {{ $centralItem->nombre }}{{ !$loop->last ? ', ' : '' }} @endforeach

Elementos revisados en TODAS las centrales:
Térmicos revisados: {{ $totalTermicosCentral }}
Ópticos revisados: {{ $totalOpticosCentral }}
Pulsadores revisados: {{ $totalPulsadoresCentral }}

DEBUG: Todos los elementos revisados disponibles:
@foreach($todasLasCentrales as $centralItem) {{ $centralItem->nombre }}:
@foreach($centralItem->elementos as $elemento) @if($elemento->pruebasRealizadas && $elemento->pruebasRealizadas->where('id_revision', $revision->id)->count() > 0) - {{ $elemento->nombre }} ({{ $elemento->tipoElemento->abreviatura ?? 'N/A' }}) - Lazo {{ $elemento->lazoRelation->numero ?? 'N/A' }} - Zona {{ $elemento->zona->numero ?? 'N/A' }}
@endif @endforeach @endforeach
Pulsadores para tabla (aleatorios de todas las centrales):
Total pulsadores revisados disponibles: {{ $todosLosPulsadoresRevisados->count() }}
Pulsadores seleccionados para tabla: {{ $pulsadoresRevisados->count() }}
@if($pulsadoresRevisados->count() > 0) Pulsadores seleccionados:
@foreach($pulsadoresRevisados as $pulsador) - {{ $pulsador->central->nombre ?? 'Central N/A' }}: {{ $pulsador->nombre }} ({{ $pulsador->tipoElemento->abreviatura ?? 'N/A' }}) - Lazo {{ $pulsador->lazoRelation->numero ?? 'N/A' }} - Zona {{ $pulsador->zona->numero ?? 'N/A' }}
   ID: {{ $pulsador->id }}, Tipo ID: {{ $pulsador->tipo }}, Lazo ID: {{ $pulsador->lazo }}, Zona ID: {{ $pulsador->id_zona }}
@endforeach @endif
Detectores para tabla (aleatorios de todas las centrales):
Total detectores revisados disponibles: {{ $todosLosDetectoresRevisados->count() }}
Detectores seleccionados para tabla: {{ $detectoresRevisados->count() }}
@if($detectoresRevisados->count() > 0) Detectores seleccionados:
@foreach($detectoresRevisados as $detector) - {{ $detector->central->nombre ?? 'Central N/A' }}: {{ $detector->nombre }} ({{ $detector->tipoElemento->abreviatura ?? 'N/A' }}) - Lazo {{ $detector->lazoRelation->numero ?? 'N/A' }}
@endforeach @endif
Módulos auxiliares para tabla (aleatorios de todas las centrales):
Total módulos auxiliares disponibles (todos, no solo revisados): {{ $todosLosModulosAuxiliares->count() }}
Módulos auxiliares seleccionados para tabla: {{ $modulosAuxiliaresRevisados->count() }}
@if($modulosAuxiliaresRevisados->count() > 0) Módulos auxiliares seleccionados:
@foreach($modulosAuxiliaresRevisados as $modulo) - {{ $modulo->central->nombre ?? 'Central N/A' }}: {{ $modulo->nombre }} ({{ $modulo->tipoElemento->abreviatura ?? 'N/A' }}) - Tipo: {{ $modulo->tipo ?? 'N/A' }} - Lazo {{ $modulo->lazoRelation->numero ?? 'N/A' }}
@endforeach @endif
DEBUG: Todos los tipos de módulos disponibles en la revisión:
@php $tiposModulosDisponibles = collect(); foreach($todasLasCentrales as $centralItem) { // CORREGIDO: Filtrar por tipoElemento->tipo (no por elemento->tipo) $modulosCentral = $centralItem->elementos->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->tipo == 2; }); foreach($modulosCentral as $modulo) { $tipo = $modulo->tipoElemento->abreviatura ?? 'N/A'; if(!in_array($tipo, ['PUL', 'SIR', 'SIRE']) && !$tiposModulosDisponibles->contains($tipo)) { $tiposModulosDisponibles->push($tipo); } } } @endphp Tipos de módulos encontrados (todos, no solo revisados): {{ $tiposModulosDisponibles->implode(', ') }}
Filtro aplicado: Solo módulos (tipoElemento->tipo = 2), excluye pulsadores/sirenas (PUL, SIR, SIRE)

🔍 LOGS DETALLADOS DEL FILTRO:
@foreach($debugLogs as $log) {{ $log }}
@endforeach

DEBUG DETALLADO: Todos los elementos que son MÓDULOS (tipoElemento.tipo = 2) en la revisión:
@php $debugTodosModulos = collect(); foreach($todasLasCentrales as $centralItem) { // Solo elementos que son módulos (tipoElemento.tipo = 2) $todosModulos = $centralItem->elementos->filter(function($elemento) { return $elemento->tipoElemento && $elemento->tipoElemento->tipo == 2; }); foreach($todosModulos as $modulo) { $debugTodosModulos->push([ 'nombre' => $modulo->nombre, 'abreviatura' => $modulo->tipoElemento->abreviatura ?? 'N/A', 'elementoTipo' => $modulo->tipo ?? 'N/A', 'tipoElementoTipo' => $modulo->tipoElemento->tipo ?? 'N/A', 'central' => $modulo->central->nombre ?? 'N/A', 'tieneTipoElemento' => $modulo->tipoElemento ? 'Sí' : 'No' ]); } } @endphp Total elementos que son MÓDULOS: {{ $debugTodosModulos->count() }}
@if($debugTodosModulos->count() > 0) @foreach($debugTodosModulos->take(10) as $elem) - {{ $elem['central'] }}: {{ $elem['nombre'] }} ({{ $elem['abreviatura'] }}) - Elemento.tipo: {{ $elem['elementoTipo'] }} - TipoElemento.tipo: {{ $elem['tipoElementoTipo'] }} - Tiene tipoElemento: {{ $elem['tieneTipoElemento'] }}
@endforeach @endif
DEBUG DETALLADO: Elementos que pasan el filtro:
@php $debugElementos = collect(); foreach($todasLasCentrales as $centralItem) { $modulosCentral = $centralItem->elementos ->filter(function($elemento) { if (!$elemento->tipoElemento || $elemento->tipoElemento->tipo != 2) { return false; } $abreviatura = $elemento->tipoElemento->abreviatura; $excluir = ['PUL', 'SIR', 'SIRE']; return !in_array($abreviatura, $excluir); }); foreach($modulosCentral as $modulo) { $debugElementos->push([ 'nombre' => $modulo->nombre, 'abreviatura' => $modulo->tipoElemento->abreviatura ?? 'N/A', 'elementoTipo' => $modulo->tipo ?? 'N/A', 'tipoElementoTipo' => $modulo->tipoElemento->tipo ?? 'N/A', 'central' => $modulo->central->nombre ?? 'N/A' ]); } } @endphp Total elementos que pasan el filtro: {{ $debugElementos->count() }}
@if($debugElementos->count() > 0) @foreach($debugElementos->take(10) as $elem) - {{ $elem['central'] }}: {{ $elem['nombre'] }} ({{ $elem['abreviatura'] }}) - Elemento.tipo: {{ $elem['elementoTipo'] }} - TipoElemento.tipo: {{ $elem['tipoElementoTipo'] }}
@endforeach @endif

Recuento de Elementos

{{ $revision->lugar->nombre }} - {{ $todasLasCentrales->count() }} {{ $todasLasCentrales->count() == 1 ? 'Central' : 'Centrales' }}

{{ $totalLazos }}

Lazos

{{ $totalElementos }}

Total Elementos

{{ $totalDetectores }}

Detectores

{{ $totalModulos }}

Módulos
Recuento por Centrales, Lazos y Tipos
@if(empty($recuentoPorCentral))
No hay elementos configurados
@else @foreach($recuentoPorCentral as $centralId => $datosCentral) @php $central = $datosCentral['central']; $recuentoPorLazo = $datosCentral['recuentoPorLazo']; @endphp @if($todasLasCentrales->count() > 1)
{{ $central->nombre }}
@endif
@foreach($recuentoPorLazo as $numeroLazo => $datosLazo) @php $totalElementos = $datosLazo['elementos']->count(); $elementosRevisados = $datosLazo['elementos']->filter(function($elemento) use ($revision) { return $elemento->pruebasRealizadas()->where('id_revision', $revision->id)->exists(); })->count(); @endphp
L{{ $numeroLazo }} {{ $totalElementos }} total
@if($totalElementos > 0)
{{ $elementosRevisados }} revisados
@php $detectores = $datosLazo['porTipo']->filter(function($elementos, $tipoId) use ($tiposElementos) { $tipo = $tiposElementos->get($tipoId); return $tipo && $tipo->tipo == 1; }); $modulos = $datosLazo['porTipo']->filter(function($elementos, $tipoId) use ($tiposElementos) { $tipo = $tiposElementos->get($tipoId); return $tipo && $tipo->tipo == 2; }); @endphp @if($detectores->count() > 0)
Detectores:
@foreach($detectores as $tipoId => $elementosDelTipo) @php $tipoElemento = $tiposElementos->get($tipoId); $abreviatura = $tipoElemento ? $tipoElemento->abreviatura : 'N/A'; $elementosRevisadosTipo = $elementosDelTipo->filter(function($elemento) use ($revision) { return $elemento->pruebasRealizadas()->where('id_revision', $revision->id)->exists(); })->count(); @endphp
{{ $abreviatura }}: {{ $elementosDelTipo->count() }} ({{ $elementosRevisadosTipo }})
@endforeach
@endif @if($modulos->count() > 0)
Módulos:
@foreach($modulos as $tipoId => $elementosDelTipo) @php $tipoElemento = $tiposElementos->get($tipoId); $abreviatura = $tipoElemento ? $tipoElemento->abreviatura : 'N/A'; $elementosRevisadosTipo = $elementosDelTipo->filter(function($elemento) use ($revision) { return $elemento->pruebasRealizadas()->where('id_revision', $revision->id)->exists(); })->count(); @endphp
{{ $abreviatura }}: {{ $elementosDelTipo->count() }} ({{ $elementosRevisadosTipo }})
@endforeach
@endif @else Sin elementos @endif
@endforeach
@endforeach @endif
Resumen por Tipos {{ $todasLasCentrales->count() > 1 ? '(por Central)' : '' }}
@foreach($todasLasCentrales as $central) @php // Agrupar elementos de esta central por tipo $elementosPorTipo = $central->elementos->groupBy('tipo'); @endphp @if($todasLasCentrales->count() > 1)
{{ $central->nombre }}
@endif @if($elementosPorTipo->count() > 0)
@foreach($elementosPorTipo as $tipoId => $elementosDelTipo) @php $tipoElemento = $tiposElementos->get($tipoId); $nombreTipo = $tipoElemento ? $tipoElemento->nombre : 'Tipo ' . $tipoId; $abreviatura = $tipoElemento ? $tipoElemento->abreviatura : 'N/A'; @endphp
@if($abreviatura == 'OPT' || $abreviatura == 'OPTI') @elseif($abreviatura == 'TER') @elseif($abreviatura == 'MULT') @elseif($abreviatura == 'SMART 4') @elseif($abreviatura == 'PUL') @elseif($abreviatura == 'SIR' || $abreviatura == 'SIRE') @elseif($abreviatura == 'MON') @else @endif
{{ $nombreTipo }}

{{ $elementosDelTipo->count() }}

elementos
@endforeach
@if($todasLasCentrales->count() > 1 && !$loop->last)
@endif @else

No hay elementos configurados en esta central

@endif @endforeach @if($todasLasCentrales->count() == 0)

No hay centrales configuradas

@endif
Elementos con Incidencias
@php $hayIncidencias = false; $centralIndex = 0; @endphp @foreach($todasLasCentrales as $central) @php // Obtener elementos con incidencias de esta central $elementosConIncidencias = collect(); foreach($central->elementos as $elemento) { // Buscar la prueba realizada en esta revisión $prueba = $elemento->pruebasRealizadas->where('id_revision', $revision->id)->first(); if($prueba) { // Incluir si está pendiente, no funciona, o funciona pero tiene observaciones if($prueba->estado == 'pendiente' || $prueba->estado == 'no funciona' || ($prueba->estado == 'funciona' && !empty($prueba->observaciones))) { $elementosConIncidencias->push([ 'elemento' => $elemento, 'prueba' => $prueba ]); $hayIncidencias = true; } } } // Ordenar elementos: primero por número de lazo, luego por número de elemento $elementosConIncidencias = $elementosConIncidencias->sortBy(function($item) { $elemento = $item['elemento']; $numeroLazo = $elemento->lazoRelation->numero ?? 9999; // Si no tiene lazo, ponerlo al final $numeroElemento = $elemento->numero ?? 9999; // Si no tiene número, ponerlo al final // Crear una clave de ordenamiento: lazo * 10000 + numero // Esto asegura que se ordene primero por lazo y luego por número return ($numeroLazo * 10000) + $numeroElemento; }); $centralIndex++; @endphp @if($elementosConIncidencias->count() > 0)
@foreach($elementosConIncidencias as $item) @php $elemento = $item['elemento']; $prueba = $item['prueba']; // Determinar clase de badge según estado $badgeClass = 'secondary'; $iconoEstado = 'circle'; if($prueba->estado == 'no funciona') { $badgeClass = 'danger'; $iconoEstado = 'times-circle'; } elseif($prueba->estado == 'pendiente') { $badgeClass = 'warning'; $iconoEstado = 'clock'; } elseif($prueba->estado == 'funciona') { $badgeClass = 'info'; $iconoEstado = 'check-circle'; } @endphp @endforeach
Lazo Nº - Zona Elemento Tipo Estado Observaciones Acciones
L{{ $elemento->lazoRelation->numero ?? 'N/A' }} @php // Determinar si es Sensor (S) o Módulo (M) $prefijo = 'S'; // Por defecto Sensor if($elemento->tipoElemento && $elemento->tipoElemento->tipo == 2) { $prefijo = 'M'; // Módulo } // Formatear número del elemento con ceros a la izquierda $numeroFormateado = str_pad($elemento->numero, 2, '0', STR_PAD_LEFT); @endphp @if($elemento->zona) {{ $prefijo }}{{ $numeroFormateado }} Z{{ $elemento->zona->numero }} @else {{ $prefijo }}{{ $numeroFormateado }} - @endif {{ $elemento->nombre }} @if($elemento->zona)
{{ $elemento->zona->nombre }} @endif
@if($elemento->tipoElemento) @php $abrev = $elemento->tipoElemento->abreviatura; @endphp @if($abrev == 'OPTI' || $abrev == 'OPT') {{ $abrev }} @elseif($abrev == 'TER') {{ $abrev }} @elseif($abrev == 'MULT') {{ $abrev }} @elseif($abrev == 'SMART 4') {{ $abrev }} @elseif($abrev == 'PUL') {{ $abrev }} @elseif($abrev == 'SIRE' || $abrev == 'SIR') {{ $abrev }} @elseif($abrev == 'MON') {{ $abrev }} @elseif($abrev == 'CON') {{ $abrev }} @elseif($abrev == 'AUX') {{ $abrev }} @else {{ $abrev }} @endif @else N/A @endif
{{ ucfirst($prueba->estado) }}
@if(!empty($prueba->observaciones)) {{ $prueba->observaciones }} @else - @endif
@if(!$loop->last)
@endif @endif @endforeach @if(!$hayIncidencias)
¡Sin incidencias!

Todos los elementos funcionan correctamente sin observaciones

@endif
Resumen Copiable
Puedes copiar este texto y pegarlo en documentos o informes
Resumen de Zonas
Lista de zonas con sus nombres
Elementos Revisados - Pulsadores ({{ $totalPulsadoresCentral }} Pulsadores revisados)
@if($pulsadoresRevisados->count() > 0)
@foreach($pulsadoresRevisados as $index => $elemento) @php $pruebaTrimestral = $elemento->pruebasRealizadas() ->where('id_revision', $revision->id) ->first(); $estadoTrimestral = ($pruebaTrimestral && $pruebaTrimestral->estado) ? 'V' : ''; @endphp @endforeach
Núm. Marca Modelo Zona/Lazo Operación realizada Trimestral Anual Ubicación Observaciones
A B C D E
{{ $elemento->numero ?? ($index + 1) }} Notifier M5A-RP02FF @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ' ' : ''; $zonaLazo = ''; if($elemento->zona) { $zonaLazo = 'Z' . $elemento->zona->numero . ' L' . ($elemento->lazoRelation->numero ?? 'N/A'); } else { $zonaLazo = 'L' . ($elemento->lazoRelation->numero ?? 'N/A'); } @endphp {{ $centralNum }}{{ $zonaLazo }} Prueba Mediante Llave V @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ': ' : ''; @endphp {{ $centralNum }}{{ $elemento->nombre }} @if($elemento->zona) - {{ $elemento->zona->nombre }} @endif Funciona correctamente
@else
No hay pulsadores revisados

No se encontraron pulsadores revisados en esta central.

@endif
Elementos Revisados - Detectores ({{ $totalOpticosCentral + $totalTermicosCentral }} Detectores revisados)
@if($detectoresRevisados->count() > 0)
@foreach($detectoresRevisados->take(10) as $index => $elemento) @php $operacion = ''; if($elemento->tipoElemento) { if(strtoupper($elemento->tipoElemento->abreviatura) == 'OPT' || stripos($elemento->tipoElemento->nombre, 'óptico') !== false) { $operacion = 'Prueba Mediante Bote Humo'; } elseif(strtoupper($elemento->tipoElemento->abreviatura) == 'TER' || stripos($elemento->tipoElemento->nombre, 'térmico') !== false) { $operacion = 'Prueba Mediante Calor Pertiga'; } else { $operacion = 'Prueba realizada'; } } else { $operacion = 'Prueba realizada'; } @endphp @endforeach
Núm. Marca Modelo Zona/Lazo Operación realizada Trimestral Anual Ubicación Observaciones
A B C D E
{{ $elemento->numero ?? ($index + 1) }} Notifier @php $modelo = ''; if($elemento->tipoElemento) { $abreviatura = strtoupper($elemento->tipoElemento->abreviatura); $nombre = strtolower($elemento->tipoElemento->nombre); if($abreviatura == 'OPT' || $abreviatura == 'OPTI' || strpos($nombre, 'óptico') !== false || strpos($nombre, 'optico') !== false) { $modelo = 'NFXI-OPT'; } elseif($abreviatura == 'TER' || strpos($nombre, 'térmico') !== false || strpos($nombre, 'termico') !== false) { $modelo = 'NFXI-TDIFF'; } else { $modelo = '-'; } } else { $modelo = '-'; } @endphp {{ $modelo }} @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ' ' : ''; $zonaLazo = ''; if($elemento->zona) { $zonaLazo = 'Z' . $elemento->zona->numero . ' L' . ($elemento->lazoRelation->numero ?? 'N/A'); } else { $zonaLazo = 'L' . ($elemento->lazoRelation->numero ?? 'N/A'); } @endphp {{ $centralNum }}{{ $zonaLazo }} @php $operacion = ''; if($elemento->tipoElemento) { $abreviatura = strtoupper($elemento->tipoElemento->abreviatura); $nombre = strtolower($elemento->tipoElemento->nombre); if($abreviatura == 'OPT' || $abreviatura == 'OPTI' || strpos($nombre, 'óptico') !== false || strpos($nombre, 'optico') !== false) { $operacion = 'Prueba Mediante Humo'; } elseif($abreviatura == 'TER' || strpos($nombre, 'térmico') !== false || strpos($nombre, 'termico') !== false) { $operacion = 'Prueba Mediante Calor'; } else { $operacion = 'Prueba realizada'; } } else { $operacion = 'Prueba realizada'; } @endphp {{ $operacion }} V @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ': ' : ''; @endphp {{ $centralNum }}{{ $elemento->nombre }} @if($elemento->zona) - {{ $elemento->zona->nombre }} @endif Funciona correctamente
@else
No hay detectores revisados

No se encontraron detectores revisados en esta central.

@endif
Elementos Revisados - Módulos Auxiliares ({{ $totalModulosAuxiliares }} Módulos de todas las centrales)
@if($modulosAuxiliaresRevisados->count() > 0)
@foreach($modulosAuxiliaresRevisados->take(10) as $index => $elemento) @endforeach
Núm. Marca Modelo Zona/Lazo Operación realizada Trimestral Anual Ubicación Observaciones
A B C D E
{{ $elemento->numero ?? ($index + 1) }} Notifier {{ $elemento->tipoElemento ? $elemento->tipoElemento->abreviatura : '-' }} @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ' ' : ''; $zonaLazo = ''; if($elemento->zona) { $zonaLazo = 'Z' . $elemento->zona->numero . ' L' . ($elemento->lazoRelation->numero ?? 'N/A'); } else { $zonaLazo = 'L' . ($elemento->lazoRelation->numero ?? 'N/A'); } @endphp {{ $centralNum }}{{ $zonaLazo }} Prueba realizada V @php $centralNum = $todasLasCentrales->count() > 1 ? 'C' . ($todasLasCentrales->search($elemento->central) + 1) . ': ' : ''; @endphp {{ $centralNum }}{{ $elemento->nombre }} @if($elemento->zona) - {{ $elemento->zona->nombre }} @endif Funciona correctamente
@else
No hay módulos auxiliares revisados

No se encontraron módulos auxiliares revisados en esta central.

@endif
@endsection @section('css') @endsection @section('scripts') @endsection