Monitor en vivo¶
¿Qué es?¶
El Monitor en vivo es un panel de vigilancia en tiempo real del estado de todos los dispositivos de los empleados. Muestra quién está en línea, el nivel de batería, la versión de la aplicación, la ubicación aproximada y cuándo fue el último reporte. Los datos se actualizan automáticamente mediante conexión SSE (Server-Sent Events) y con respaldo de sondeo cada 15 segundos.
Vista principal¶
Selector de zona¶
Al abrir el monitor, el primer elemento es el selector de zona con campo de búsqueda integrado. Se auto-selecciona la primera zona disponible. Si la empresa tiene solo una zona, el selector puede no aparecer.
- Seleccionar una zona recarga inmediatamente la lista de dispositivos.
- Si la zona seleccionada no tiene turnos asignados, aparece un aviso amarillo: "Esta zona no tiene turnos asignados. Se muestran todos los dispositivos de la empresa."
Barra de estadísticas¶
Cuatro contadores resumen en la parte superior:
- Dispositivos — Total de dispositivos en la zona seleccionada.
- En línea — Cantidad de dispositivos activos.
- Bat. baja — Dispositivos con batería por debajo del 20%.
- Cargando — Dispositivos conectados a cargador en ese momento.
Alternancia de vista¶
Dos botones en la parte superior derecha:
- Lista — Cuadrícula de tarjetas por dispositivo (vista por defecto).
- Mapa — Mapa de Google Maps con marcadores de empleados y puestos.
Vista de lista — Filtros¶
- Buscar empleado — Campo de texto libre que filtra tarjetas por nombre.
- Ordenar — Selector con opciones:
Último reporte— Por la marcación más reciente (por defecto).Batería menor— De menor a mayor porcentaje.Batería mayor— De mayor a menor porcentaje.Nombre A-Z— Orden alfabético.- Estado — Selector:
Ninguno— Sin filtro.En línea— Solo dispositivos activos.Fuera de línea— Solo dispositivos inactivos.- Batería — Selector:
Ninguno— Sin filtro.Baja <20%— Solo dispositivos críticos.Media 20-50%— Batería moderada.Buena >50%— Batería suficiente.- Plataforma — Selector:
Android/iOS.
Vista de lista — Tarjetas de dispositivo¶
Cada empleado tiene una tarjeta con los siguientes datos:
Encabezado¶
- Indicador de estado — Punto circular: verde (en línea) o gris (fuera de línea).
- Avatar — Foto de perfil del empleado o círculo con iniciales.
- Nombre del empleado — En negrita.
- Plataforma — Ícono de Android o iOS.
Batería¶
Barra de progreso con el porcentaje de batería y colores semánticos:
- Verde — 50% o más.
- Ámbar — Entre 20% y 49%.
- Rojo — Menos del 20%.
- Azul — El dispositivo está cargando (independientemente del porcentaje).
Información del dispositivo¶
- Fabricante y modelo — Ej. "Samsung Galaxy A32".
- Versión de la app — Ej. "v2.0.8".
Ubicación¶
- Ciudad o dirección aproximada (geocodificación inversa), o coordenadas lat/lon si no hay nombre disponible.
- Tiempo transcurrido desde la última actualización de ubicación (ej. "hace 5 min").
Último reporte¶
- Timestamp del último dato recibido del dispositivo.
Botones de acción¶
- Datos — Envía una notificación push al dispositivo para que reporte sus datos actuales. Tiene un tiempo de enfriamiento de 30 segundos antes de poder usarse de nuevo en la misma tarjeta.
- Msg — Abre el modal de envío de mensaje push al empleado.
Modal de envío de mensaje¶
Se abre con el botón Msg o desde acciones masivas. Campos:
- Título — Encabezado de la notificación push (obligatorio).
- Mensaje — Cuerpo de la notificación (obligatorio).
Envía a /notifications/send-bulk. Si hay múltiples empleados seleccionados, llega a todos.
Vista de mapa¶
La vista de mapa muestra:
- Marcadores de empleados — Círculos con foto o iniciales:
- Verde — Empleado en línea.
- Gris — Empleado fuera de línea.
- Puestos de trabajo — Círculos de colores con el nombre del puesto como etiqueta.
- Etiquetas de zona — Nombre de la zona sobre el mapa.
- Agrupación de marcadores — Cuando hay muchos dispositivos en la misma área se agrupan; al hacer zoom se separan.
- Indicador "Live" — Parpadea brevemente cada vez que llegan nuevos datos por SSE.
Conexión en tiempo real¶
El monitor usa SSE (Server-Sent Events):
- Se conecta al endpoint
/portal/v1/monitor/eventscon autenticación. - Si la conexión se interrumpe, reintenta automáticamente después de 5 segundos.
- Como respaldo, sondea el servidor cada 15 segundos aunque la conexión SSE esté activa.
- Cada actualización recibida refresca la tarjeta del empleado correspondiente sin recargar toda la lista.
Acciones masivas¶
Al seleccionar múltiples tarjetas aparece una barra flotante en la parte inferior:
- Contador — "N usuario(s) seleccionados".
- Notificar (tab) — Campos Título + Mensaje + Quién envía (opcional) → botón Enviar. Confirma con el número de dispositivos notificados: "Enviado a N dispositivo(s)".
Permisos¶
| Acción | Permiso requerido |
|---|---|
| Ver monitor | monitor: view |
| Solicitar datos | monitor: view |
| Enviar notificación | monitor: send |
Páginas relacionadas¶
- Asistencia — Historial de marcaciones de cada empleado.
- Empleados — Directorio con los datos del personal.
- Turnos y horarios — Ver los turnos asignados para entender la presencia esperada.
- Zonas — Las zonas configuradas determinan qué dispositivos aparecen.
Preguntas frecuentes¶
¿Por qué un empleado aparece como "fuera de línea" si está trabajando? Puede tener la aplicación cerrada, sin conexión a internet, o no haber reportado en el intervalo esperado. El botón Datos solicita un reporte inmediato.
¿Qué pasa cuando hago clic en "Datos"? Se envía una notificación push al dispositivo del empleado para que la app reporte su estado actual (batería, ubicación, etc.). El botón queda deshabilitado por 30 segundos después de cada solicitud.
¿Cada cuánto se actualiza la información? Con SSE activo, los datos llegan en tiempo real (segundos). Si SSE falla, el sistema sondea cada 15 segundos.
¿Por qué veo el aviso de "zona sin turnos"? La zona seleccionada no tiene programaciones configuradas. En ese caso el monitor muestra todos los dispositivos de la empresa.
¿El mapa muestra la ubicación exacta del empleado? Sí, muestra las últimas coordenadas GPS reportadas. La antigüedad se indica en cada tarjeta.
¿Puedo filtrar para ver solo dispositivos con batería crítica? Sí, usa el filtro Batería → Baja <20% para identificar dispositivos que necesitan carga urgente.