Lista de Asistencias (1) - [getMarkingsApp]
🧾 Descripción
Este servicio obtiene y consolida todas las asistencias de un empleado en un mes específico, calculando:
-
Porcentaje de asistencia del mes.
-
Total de días asistidos.
-
Permisos.
-
Faltas.
-
Feriados.
-
Días de descanso.
-
Marcaciones incompletas.
-
Fechas únicas de asistencia.
Además, toma en cuenta:
-
Fecha de ingreso del trabajador (para no contar días previos como faltas).
-
Domingos y feriados declarados en holidays.json.
-
Validación de límites según el mes actual.
Es un endpoint fundamental para el módulo de Control de Asistencias dentro del aplicativo.
🚀 Endpoint
POST /get-markings-app
📥 Requiere parámetros obligatorios en el body:
🔐 Seguridad
Requiere autenticación interna del sistema ERP mediante:
-
dbErp()para consultas SQL internas. -
Acceso a archivo local
/public/recursos_humanos/holidays.json.
🧠 Flujo del Servicio (resumen real)
-
Recibe parámetros del empleado y mes a consultar.
employee, month, anio, fechaIngreso
-
Calcula rango real del mes a evaluar, tomando en cuenta:
-
Si es el mes actual.
-
Si el empleado ingresó después del día 1.
-
Días previos al ingreso del trabajador.
-
-
Carga feriados y domingos del archivo JSON:
/public/recursos_humanos/holidays.json -
Determina cuántos días del mes son feriados o domingos dentro del rango permitido.
-
Valida campos obligatorios.
-
Consulta en el ERP todas las asistencias del empleado en el mes:
-
Recorre todas las asistencias y clasifica:
-
Present → Suma asistencia
-
On Leave → Permisos
-
Absent → Faltas
-
Feriado → Feriados
-
Día de Descanso → Descansos
-
Marcacion Incompleta → Marcaciones incompletas
-
-
Calcula porcentaje de asistencia, considerando:
-
Días previos al ingreso.
-
Si el mes es el actual → hasta el día de hoy.
-
Casos especiales de permisos dominicales.
-
-
Construye respuesta final con totales y fechas.
📥 Request Body
📌 Todos son obligatorios.
📤 Response 200 – Ejemplo
❗ Posibles Errores
1. Faltan parámetros obligatorios
2. No existe asistencia registrada
3. Error interno inesperado
📚 Estructuras usadas
Attendance (tabAttendance)
Campos consultados:
-
attendance_date -
status -
horas_trabajadas -
horas_extras -
name
Archivo holidays.json
Estructura:
No hay comentarios para mostrar
No hay comentarios para mostrar