COMANDO GENERAL DEL EJÉRCITO
DEPARTAMENTO III - OPERACIONES
BOLIVIA
Fecha y hora: {{ date('d/m/Y H:i') }}
REPORTE DETALLADO DE MONITOREO OPERATIVO
Trazabilidad cronológica y geográfica del personal monitoreado
@php $filtros = []; if (request()->uni_cod) { $filtros[] = 'Unidad: ' . ($datos->first()->uni_detalle ?? 'Seleccionada'); } if (request()->mision_cod) { $filtros[] = 'Misión: ' . ($datos->first()->mision_descrip ?? 'Seleccionada'); } if (request()->mision_fecha) { $filtros[] = 'Fecha: ' . \Carbon\Carbon::parse( request()->mision_fecha )->format('d/m/Y'); } @endphp @if(!empty($filtros))
CRITERIOS DEL REPORTE: {{ implode(' | ', $filtros) }}
@endif @if($datos->isEmpty())
NO EXISTEN DATOS PARA EL REPORTE
No se encontraron registros con los criterios seleccionados.
@else @foreach($datos as $misionIndex => $mision) @if($misionIndex > 0)
@endif {{-- DATOS DEL OPERATIVO --}}
1. DATOS DEL OPERATIVO
Misión {{ $mision->mision_descrip }} Código {{ $mision->mision_cod }}
Unidad {{ $mision->uni_detalle }}
Inicio misión @if($mision->mision_fecha_inicio) {{ \Carbon\Carbon::parse( $mision->mision_fecha_inicio )->format('d/m/Y') }} @else Sin registro @endif Fin misión @if($mision->mision_fecha_fin) {{ \Carbon\Carbon::parse( $mision->mision_fecha_fin )->format('d/m/Y') }} @else Sin fecha límite @endif
Fecha monitoreada {{ \Carbon\Carbon::parse( $mision->mision_fecha )->format('d/m/Y') }} Puesto {{ $mision->mision_puesto_cod ?? 'No especificado' }}
{{-- RESUMEN --}}
2. RESUMEN DEL MONITOREO
{{ $mision->total_usuarios }} Personal asignado {{ $mision->realizaron_monitoreo }} Realizaron monitoreo {{ $mision->no_realizaron_monitoreo }} Sin monitoreo {{ number_format( $mision->total_posiciones, 0, ',', '.' ) }} Posiciones GPS
{{-- PERSONAL --}}
3. PERSONAL ASIGNADO
@if($mision->usuarios->isEmpty()) @else @foreach($mision->usuarios as $usuarioIndex => $usuario) @endforeach @endif
N° PERSONAL ESTADO POSICIONES INICIO FINAL
No existe personal asignado.
{{ $usuarioIndex + 1 }} {{ $usuario->persona }} @if($usuario->realizo_monitoreo) REALIZÓ @else SIN REGISTRO @endif {{ number_format( $usuario->total_posiciones, 0, ',', '.' ) }} {{ $usuario->hora_inicio ?? '-' }} {{ $usuario->hora_fin ?? '-' }}
{{-- DETALLE DE CADA PERSONA --}} @foreach($mision->usuarios as $usuarioIndex => $usuario) @if($usuario->realizo_monitoreo)
4. DETALLE DEL MONITOREO
Personal: {{ $usuario->persona }} MONITOREO REGISTRADO
{{ number_format( $usuario->total_posiciones, 0, ',', '.' ) }} Posiciones {{ $usuario->hora_inicio ?? '-' }} Hora inicio {{ $usuario->hora_fin ?? '-' }} Hora final {{ $usuario->duracion ?? '-' }} Duración
{{ number_format( $usuario->distancia_km, 2, ',', '.' ) }} km Distancia GPS aproximada {{ \Carbon\Carbon::parse( $mision->mision_fecha )->format('d/m/Y') }} Fecha del recorrido
{{-- INICIO Y FIN --}}
5. INICIO Y FINAL DEL RECORRIDO
POSICIÓN INICIAL
@if($usuario->posicion_inicio)
Fecha: {{ \Carbon\Carbon::parse( $usuario->posicion_inicio->fecha_hora )->format('d/m/Y') }}
Hora: {{ \Carbon\Carbon::parse( $usuario->posicion_inicio->fecha_hora )->format('H:i:s') }}
Latitud: {{ $usuario->posicion_inicio->latitud }}
Longitud: {{ $usuario->posicion_inicio->longitud }}
@else Sin información. @endif
POSICIÓN FINAL
@if($usuario->posicion_fin)
Fecha: {{ \Carbon\Carbon::parse( $usuario->posicion_fin->fecha_hora )->format('d/m/Y') }}
Hora: {{ \Carbon\Carbon::parse( $usuario->posicion_fin->fecha_hora )->format('H:i:s') }}
Latitud: {{ $usuario->posicion_fin->latitud }}
Longitud: {{ $usuario->posicion_fin->longitud }}
@else Sin información. @endif
{{-- TRAZABILIDAD --}}
6. TRAZABILIDAD CRONOLÓGICA DEL RECORRIDO
Total de posiciones registradas: {{ number_format( $usuario->total_posiciones, 0, ',', '.' ) }}
@if($usuario->trazabilidad_resumida)
Para mantener el documento legible, se presenta una muestra cronológica de {{ $usuario->posiciones_mostradas }} posiciones sobre un total de {{ number_format( $usuario->total_posiciones, 0, ',', '.' ) }} registros. Se conserva siempre el primer y último punto.
@endif @if($usuario->trazabilidad->isEmpty()) @else @foreach($usuario->trazabilidad as $trazaIndex => $traza) @endforeach @endif
REG. FECHA HORA LATITUD LONGITUD TIPO
No existen posiciones GPS.
{{ $traza->numero_registro }} {{ \Carbon\Carbon::parse( $traza->fecha_hora )->format('d/m/Y') }} {{ \Carbon\Carbon::parse( $traza->fecha_hora )->format('H:i:s') }} {{ $traza->latitud }} {{ $traza->longitud }} @if($trazaIndex === 0) INICIO @elseif($loop->last) FIN @else PUNTO @endif
Observación técnica: La distancia es una estimación calculada a partir de las coordenadas GPS registradas por el dispositivo. La precisión puede variar por señal GPS, condiciones del entorno y frecuencia de actualización.
@endif @endforeach {{-- RESUMEN FINAL --}}
7. RESUMEN FINAL
@php $cumplimiento = $mision->total_usuarios > 0 ? round( ( $mision->realizaron_monitoreo / $mision->total_usuarios ) * 100, 1 ) : 0; @endphp
Misión {{ $mision->mision_descrip }}
Unidad {{ $mision->uni_detalle }}
Fecha monitoreada {{ \Carbon\Carbon::parse( $mision->mision_fecha )->format('d/m/Y') }}
Posiciones GPS {{ number_format( $mision->total_posiciones, 0, ',', '.' ) }}
Personal asignado {{ $mision->total_usuarios }}
Realizaron monitoreo {{ $mision->realizaron_monitoreo }}
Sin monitoreo {{ $mision->no_realizaron_monitoreo }}
Cumplimiento {{ $cumplimiento }}%
@endforeach @endif