Plataforma técnica · Sevastopol
Contratos en Sevastopol
Islands Remuneraciones Contratos
Propósito
Section titled “Propósito”ContractsViewIsland mantiene los contratos de trabajo del tenant. Cada contrato vincula un empleado con un cargo, un departamento, una jornada laboral y condiciones económicas (sueldo base, tipo de contrato, vigencia). Es el documento que el motor de liquidación lee mes a mes.
El semáforo del contrato (VIGENTE / POR_VENCER / VENCIDO) se calcula en el backend a partir de fecha_termino y se usa como filtro principal.
Decisiones de UX
Section titled “Decisiones de UX”| Decisión | Motivo |
|---|---|
| 4 catálogos cargados al cambiar tenant | Empleados, cargos, departamentos y working_day se hidratan en paralelo en loadAll(tenantId) — el formulario no debe esperar al abrir. |
| Working day como FK requerido | La jornada laboral define horas semanales y reglas de sábado/domingo. El contrato sin jornada no puede liquidar. |
| Filtros locales por estado del semáforo + texto | El volumen de contratos por tenant es manejable; filtered() aplica q y fEstado en cliente. |
| Estadísticas por semáforo en métricas | total, vigentes, porVencer, vencidos se muestran como InlineMetricPill arriba del listado para detectar urgencias. |
Búsqueda incluye numero_contrato y jornada_label | Permite encontrar un contrato por código o por jornada cuando no se recuerda el nombre del trabajador. |
Datos visibles
Section titled “Datos visibles”| Grupo | Campos esperados |
|---|---|
| Empleado | FK a empleado + nombres/apellidos/RUT denormalizados. |
| Organización | Cargo, departamento. |
| Vigencia | Fecha inicio, fecha término opcional, semáforo derivado. |
| Económico | Sueldo base, tipo de contrato (INDEFINIDO/PLAZO_FIJO/HONORARIOS). |
| Jornada | FK a working_day + label denormalizado. |
| Numeración | numero_contrato para referencia legal. |
Endpoints
Section titled “Endpoints”| Método + ruta | Uso |
|---|---|
GET /api/contracts?tenant_id= | Listado del tenant. |
POST /api/contracts?tenant_id= | Alta. |
PUT /api/contracts/:id?tenant_id= | Edición. |
DELETE /api/contracts/:id?tenant_id= | Eliminación. |
GET /api/employees?tenant_id= · GET /api/cargos?tenant_id= · GET /api/departments?tenant_id= · GET /api/working_day?tenant_id= | Catálogos del formulario. |
Backend de referencia
Section titled “Backend de referencia”ContractService — CRUD del contrato con cálculo del semáforo y validación de vigencia.