Horas Extras del Mes (1) - [getMarkingsForEmployeePerMonth2]
🧾 Descripción
Obtiene y calcula todas las horas extras registradas para un empleado en un mes específico, detallando:
-
Horas al 25%
-
Horas al 35%
-
Horas al 100% (domingos y feriados)
-
Listado detallado por día
-
Total acumulado del periodo de corte mensual
El servicio consulta información desde varios recursos del ERP:
-
Cortes (tabCortes) → para determinar el rango mensual válido
-
Horas Extras (tabHoras Extras) → totales por mes
-
Marcaciones (tabMarcaciones) → registros por día
-
Archivo local de feriados:
holidays.json
🚀 Endpoint
POST /get-markings-employee-month
📥 Parámetros en el body
🔐 Seguridad
-
Requiere token interno del ERP (autenticación manejada por
ServiceErp()). -
Validación del request vía Laravel.
🧠 Flujo del Servicio (resumen real)
1️⃣ Obtiene el corte mensual
Consulta el recurso:
Si no existe corte → retorna error "No hay corte mensual para este mes".
2️⃣ Obtiene las horas extras acumuladas del mes
3️⃣ Obtiene las marcaciones dentro del periodo del corte
Si no hay marcaciones → retorna mensaje informativo.
4️⃣ Carga feriados desde archivo local
public/recursos_humanos/holidays.json
Feriados + domingos se consideran jornada al 100%.
5️⃣ Procesa cada marcación
Por cada registro:
-
Si es feriado/domingo → 100%
-
Si horas ≤ 2 → 25%
-
Si horas > 2
-
primeras 2h → 25%
-
resto → 35%
-
Cada día se estructura como:
6️⃣ Arma la respuesta final:
Incluye:
-
marcaciones: detalle por día -
horas25,horas35,horas100: de la tabla Horas Extras -
horas_acumuladas: sumatoria real de horas del mes
No hay comentarios para mostrar
No hay comentarios para mostrar