Skip to content

Plataforma técnica · Sevastopol

Asistencia en Sevastopol

Islands Remuneraciones Asistencia

AttendanceViewIsland registra la asistencia diaria del trabajador para un mes. Es uno de los insumos críticos del cálculo mensual: PayrollService lee días trabajados, horas extra y ausencias para escalar el sueldo y aplicar descuentos por inasistencia.

La grilla se carga por empleado + mes para evitar volúmenes innecesarios — el operador trabaja sobre una persona a la vez.

DecisiónMotivo
Empleado + mes como filtros primariosEl registro de asistencia es por persona. Mostrar la grilla de todo el tenant es ruidoso.
isoMonth(today) como defaultAl abrir la island se asume el mes en curso; el operador cambia si revisa históricos.
Cálculo de stats en clienteDías trabajados, horas totales y ausencias se computan localmente sobre el listado cargado. Evita ida al servidor para totales.
Tabla editable por filaCada día permite edición inline; al guardar se envía PUT con el delta.
Catálogo de empleados precargadoloadEmployees(tenantId) se ejecuta al cambiar tenant para que el select de empleado responda al instante.
GrupoCampos esperados
DíaFecha, día de la semana.
AsistenciaAsistió sí/no, horas trabajadas, horas extra.
AusenciaTipo (licencia, falta, vacación, permiso), observación.
Método + rutaUso
GET /api/attendance?tenant_id=&empleado_id=&mes=YYYY-MMGrilla del empleado para el mes.
POST /api/attendance?tenant_id=Alta de día.
PUT /api/attendance/:id?tenant_id=Edición de día.
DELETE /api/attendance/:id?tenant_id=Eliminación de día.
GET /api/employees?tenant_id=Catálogo del select.

AttendanceService — CRUD de asistencia diaria con validación de fechas dentro del mes y reglas de horas extra.