Asistencia¶
¿Qué es?¶
El módulo de Asistencia es el historial completo de marcaciones de entrada, salida y registro de los empleados. Cada registro captura la hora exacta, la ubicación GPS, fotos de verificación y el resultado del reconocimiento facial. Desde este módulo se pueden revisar alertas de seguridad (GPS falsificado, discrepancia de ubicación, cara dudosa) y ver la posición exacta en el mapa donde se realizó cada marcación.
Vista principal¶
La pantalla muestra una tabla ordenada por Fecha / Hora de forma descendente (más reciente primero). No tiene selección de filas ni acciones masivas — es un módulo de consulta.
Columnas de la tabla¶
- Fecha / Hora — Fecha en formato AAAA-MM-DD y hora en HH:MM. Ancho 130 px, ordenable. Si no tiene fecha muestra un guión (—).
- Empleado — Nombre completo del empleado. Truncado en 180 px máximo.
- Puesto — Nombre del puesto de trabajo donde se realizó la marcación. Ancho 160 px, truncado.
- Tipo — Badge de color que indica el tipo de marcación:
- Entrada — Badge verde esmeralda.
- Salida — Badge rojo.
- Registro — Badge azul. Ancho 110 px, ordenable.
- Distancia — Distancia entre la ubicación GPS del empleado y el puesto de trabajo al momento de la marcación. Ancho 100 px, ordenable. Se muestra en metros (m) si es menor de 1 km, o en kilómetros con dos decimales (ej. "1.23 km") si es mayor. Si no hay distancia registrada, muestra (—).
- Alertas — Badges que indican problemas detectados. Si hay alertas, el campo es un botón que abre el modal de detalle. Ancho 130 px, no ordenable:
- GPS falso — Badge ámbar. El dispositivo tenía GPS simulado.
- Discrepancia — Badge rojo. El empleado estaba lejos del puesto.
- Cara dudosa — Badge naranja. La similitud del reconocimiento facial fue menor al 50%.
- Fotos — Miniatura de la primera foto de la marcación con un badge indicando la cantidad total (ej. si hay 3 fotos, se apilan visualmente mostrando el número). Ancho 80 px. Si no hay fotos, muestra (—). Al hacer clic abre el lightbox.
- Ubicación — Enlace "Ver mapa" con ícono de pin. Ancho 110 px. Solo aparece si la marcación tiene coordenadas GPS. Al hacer clic abre el modal del mapa.
Filtros y búsqueda¶
La barra de filtros tiene dos secciones:
Filtros estándar (barra superior)¶
- Tipo — Selector fijo:
Todos(valor por defecto)EntradaSalidaRegistro- Buscar empleado, puesto... — Campo de texto libre que busca en nombre del empleado y nombre del puesto.
Filtros personalizados (fila adicional)¶
- Zona — Selector desplegable que aparece solo cuando el usuario tiene 2 o más zonas asignadas. Permite ver registros de una zona específica o de "Todas" las zonas. Se auto-selecciona la primera zona al cargar la página.
- Fecha — Campo de texto con formato
DD/MM/AAAA. Al escribir o seleccionar una fecha, la tabla filtra registros solo de ese día. Tiene un botón Limpiar fecha que aparece cuando hay una fecha seleccionada y borra el filtro.
Comportamiento de carga inicial: La tabla no carga datos automáticamente. Espera a que se inicialice la zona (si aplica) antes de hacer la primera consulta al servidor.
Exportar¶
El botón de exportación en la barra de la tabla descarga un archivo con nombre asistencia con todos los registros según los filtros activos. Requiere permiso attendance: export.
Modal de Detalle de Alertas¶
Se abre haciendo clic sobre los badges de alerta en una fila. Muestra:
- Encabezado — Nombre del empleado y título "Detalle de Alertas".
- Barra de contexto — Fecha y hora del registro + nombre del puesto.
- Sección GPS Falsificado — (ámbar) Se muestra cuando
is_mocked > 0. Texto: "Se detectó que la ubicación GPS fue manipulada artificialmente en el dispositivo." - Sección Discrepancia de Ubicación — (roja) Se muestra cuando
location_discrepancy > 0. Texto dinámico: "El empleado se encontraba a [distancia] del puesto de trabajo al momento del registro." La distancia se formatea en metros o kilómetros. - Sección Reconocimiento Facial — Se muestra cuando hay distancia facial registrada (
distance > 0): - Si la similitud es menor al 50%: badge naranja, título "Reconocimiento Facial Dudoso". Texto: "Similitud: XX% — Posible impostor detectado."
- Si la similitud es 50% o más: badge amarillo, título "Reconocimiento Facial". Texto: "Similitud: XX% — Similitud baja, verificar manualmente."
- La similitud se calcula como
(1 - distance) × 100redondeado al entero más cercano. - Sección Notificación del sistema — (azul) Se muestra cuando hay un campo
notificationen el registro. Muestra el texto de la notificación tal como fue registrado. - Estado vacío — Si no hay ninguna alerta aplicable muestra: "Sin alertas registradas para este ingreso."
Lightbox de Fotografías¶
Se abre haciendo clic sobre las miniaturas en la columna Fotos. Características:
- Pantalla completa oscura con las fotos del registro ampliadas.
- Contador en la esquina superior izquierda: "1 / N".
- Barra de herramientas superior derecha con tres botones:
- Descargar — Descarga la foto actual como
registro-foto-N.jpg. - Pantalla completa — Activa fullscreen nativo del navegador sobre la imagen.
- Cerrar — Cierra el lightbox.
- Navegación con flechas (izquierda/derecha) a los lados de la imagen. Disponibles solo si hay más de una foto. También funcionan las teclas de flechas del teclado.
- Tira de miniaturas en la parte inferior. Al hacer clic en una miniatura salta a esa foto. La foto activa tiene un borde blanco y opacidad completa; las demás tienen menor opacidad.
- Presionar Escape cierra el lightbox.
Modal de Mapa¶
Se abre haciendo clic sobre el enlace "Ver mapa" en la columna Ubicación. Muestra:
- Título "Ubicación del registro".
- Botón "Google Maps" — Abre la ubicación en Google Maps en una nueva pestaña.
- Barra de coordenadas — Muestra Latitud y Longitud en formato monoespaciado.
- Mapa incrustado — Iframe de Google Maps centrado en las coordenadas del registro con zoom nivel 16. Se carga solo cuando el modal está abierto.
- Hacer clic fuera del modal o presionar Escape lo cierra.
Permisos¶
| Acción | Permiso requerido |
|---|---|
| Ver registros | attendance: view |
| Exportar | attendance: export |
Estados de marcación¶
| Tipo | Badge | Descripción |
|---|---|---|
| Entrada | Verde esmeralda | El empleado entró al turno o jornada |
| Salida | Rojo | El empleado finalizó el turno |
| Registro | Azul | Marcación intermedia (ronda, verificación, etc.) |
Alertas de seguridad¶
| Alerta | Color | Condición |
|---|---|---|
| GPS falso | Ámbar | El dispositivo detectó que la ubicación fue simulada artificialmente |
| Discrepancia | Rojo | La ubicación real del empleado difiere significativamente del puesto |
| Cara dudosa | Naranja | La similitud del reconocimiento facial fue menor al 50% |
| Notificación sistema | Azul | El sistema registró un mensaje adicional en el registro |
Páginas relacionadas¶
- Monitor en vivo — Estado en tiempo real de los dispositivos y ubicación de empleados.
- Empleados — Directorio donde se gestiona el personal.
- Turnos y horarios — Programaciones de turno asignadas a cada empleado.
- Puestos — Lugares físicos donde los empleados registran su asistencia.
Preguntas frecuentes¶
¿Por qué la tabla empieza vacía? El módulo no carga datos automáticamente al abrir la página. Requiere al menos una zona configurada. Si el usuario tiene múltiples zonas, primero selecciona la zona activa y luego carga los datos. Si hay solo una zona, la carga ocurre automáticamente al inicializarse.
¿Qué significa una distancia de 0 en la columna Distancia? El sistema no registró distancia para ese marcaje (por ejemplo, el tipo de puesto no valida distancia). Se muestra un guión (—) en lugar de 0.
¿Cómo sé si un empleado hizo trampa con el GPS? La alerta "GPS falso" (badge ámbar) aparece cuando el sistema operativo del dispositivo detectó que se estaba usando una aplicación de ubicación simulada. Haz clic sobre el badge para ver el detalle completo de alertas.
¿Puedo ver las fotos de verificación facial desde aquí? Sí. La columna Fotos muestra una miniatura. Al hacer clic se abre el lightbox con todas las fotos del registro en resolución completa.
¿Cómo filtro los registros de un día específico? Usa el campo "Fecha" en la fila de filtros personalizados. Escribe la fecha en formato DD/MM/AAAA. Para volver a ver todos los registros, haz clic en "Limpiar fecha".
¿Puedo ver de dónde marcó un empleado en el mapa? Sí, cuando la marcación tiene coordenadas GPS, aparece el enlace "Ver mapa" en la columna Ubicación. Al hacer clic se abre un mapa de Google Maps con la posición exacta.
¿La alerta "Cara dudosa" significa que el empleado es un impostor? No necesariamente. Puede deberse a mala iluminación, movimiento durante la foto, cambios de apariencia (lentes, barba, etc.). Una similitud menor al 50% dispara la alerta como señal de advertencia, no como confirmación de fraude.
¿Por qué veo el filtro de Zona y otros empleados no? El filtro de Zona solo aparece cuando el usuario tiene acceso a 2 o más zonas. Usuarios con acceso a una sola zona no lo ven, ya que siempre ven los datos de su única zona.