Plataforma técnica · Sevastopol
Vacaciones en Sevastopol
Islands Remuneraciones Vacaciones
Propósito
Section titled “Propósito”VacationsViewIsland opera dos preguntas distintas sobre vacaciones del tenant:
- Solicitudes — CRUD de uso con workflow
PENDIENTE → APROBADA / RECHAZADA / ANULADA. - Saldos — días disponibles por empleado a una fecha de corte arbitraria, opcionalmente filtrado por departamento.
El motor de finiquito lee el saldo al cierre para calcular la indemnización por feriado proporcional.
Decisiones de UX
Section titled “Decisiones de UX”| Decisión | Motivo |
|---|---|
| Dos tabs en lugar de dos islands | Comparten contexto de tenant y catálogo de empleados; tabbing evita duplicar carga. |
Saldo con corte editable | El cálculo no es siempre “a hoy” — el operador puede preguntar saldo proyectado a cualquier fecha. |
| Filtro de departamento sólo en saldos | Tiene sentido en saldos (consolidado por área); en solicitudes se filtra por empleado puntual. |
| Status quick-edit con modal | Cambiar PENDIENTE → APROBADA es la acción más frecuente; el modal evita abrir el form completo. |
Default estado_solicitud = PENDIENTE al alta | El alta crea siempre como PENDIENTE — la aprobación es paso explícito separado. |
| Empleado inyectado en catálogo si falta | Si al editar la solicitud el empleado no está en empleados() (filtros aplicados), la island lo inyecta para que el select muestre el nombre correcto. |
Filtro por estado default PENDIENTE | Lo más usual al abrir la island es ver lo que falta aprobar. |
| Tab | Endpoint | Contenido |
|---|---|---|
solicitudes | /api/vacations?scope=list | Lista paginada con filtros (empleado, estado, rango, texto). |
saldos | /api/vacations/saldos | Días disponibles por empleado a fecha de corte. |
Endpoints
Section titled “Endpoints”| Método + ruta | Uso |
|---|---|
GET /api/vacations?scope=list&tenant_id=&... | Listado paginado (summary con totales por estado). |
GET /api/vacations?tenant_id=&id= | Carga puntual para editar. |
GET /api/vacations/saldos?tenant_id=&corte=&q=&departamento_codigo= | Saldos por empleado. |
POST /api/vacations?tenant_id= | Alta. |
PUT /api/vacations?tenant_id=&id= | Edición (incluye cambio de estado). |
DELETE /api/vacations?tenant_id=&id= | Eliminación. |
GET /api/employees?tenant_id= | Catálogo. |
Backend de referencia
Section titled “Backend de referencia”VacationService — CRUD de solicitudes con workflow y cálculo de saldos a fecha de corte.