Plataforma técnica · Sevastopol
Jornada laboral en Sevastopol
Islands Remuneraciones Jornada Laboral
Propósito
Section titled “Propósito”WorkingDayViewIsland mantiene el catálogo de jornadas laborales que los contratos consumen. Cada jornada define horario por día de la semana (entrada, salida, almuerzo) y el total de horas semanales. Es FK del contrato y referencia obligatoria del cálculo de horas extra.
Decisiones de UX
Section titled “Decisiones de UX”| Decisión | Motivo |
|---|---|
| Cálculo de horas semanales en cliente | Al editar entrada/salida por día, la island recalcula horas en vivo (computeDayHours) y los totales semanales — sin segundo viaje al servidor. |
| Almuerzo derivado de inicio + fin | syncLunchDuration computa duración de almuerzo en minutos al cambiar inicio/fin. Evita inconsistencias entre los tres campos. |
| Soporte de turnos que cruzan medianoche | splitWrap(startMin, endMin) parte el rango cuando endMin < startMin para sumar horas correctamente en jornadas nocturnas. |
| Redondeo a cuartos de hora | roundToQuarter aplica al total — refleja convenios laborales que cuentan en bloques de 15 min. |
| Tipo de jornada como filtro | COMPLETA / PARCIAL / ESPECIAL filtran el listado; el tipo condiciona reglas del cálculo. |
| Filtro activo/inactivo + texto | Volumen bajo (pocas jornadas estándar por tenant). |
view:loaded dispatcher | Tras carga inicial emite el evento para esconder el spinner global del shell. |
Datos visibles
Section titled “Datos visibles”| Grupo | Campos esperados |
|---|---|
| Identificación | Código, nombre, label. |
| Tipo | COMPLETA / PARCIAL / ESPECIAL. |
| Distribución | Lunes–Domingo: trabaja sí/no, entrada, salida, almuerzo. |
| Totales | Horas semanales calculadas. |
| Estado | Activa / inactiva. |
Endpoints
Section titled “Endpoints”| Método + ruta | Uso |
|---|---|
GET /api/working_day?tenant_id= | Listado. |
POST /api/working_day?tenant_id= | Alta. |
PUT /api/working_day/:id?tenant_id= | Edición. |
DELETE /api/working_day/:id?tenant_id= | Eliminación. |
Backend de referencia
Section titled “Backend de referencia”WorkingDayService — CRUD del catálogo con validación de distribución semanal.