Employee Service
Orchestrator Services
EmpleadosOrchestratorServicio
Propósito
Section titled “Propósito”EmployeeService administra el maestro central de trabajadores. Expone operaciones para crear, consultar, actualizar y eliminar empleados, aplicando validaciones de datos personales, estados laborales y normalización de campos antes de persistir.
El servicio no calcula remuneraciones ni define condiciones contractuales. Su responsabilidad es mantener una entidad empleado consistente para que contratos, asistencia, vacaciones, liquidaciones y finiquitos puedan operar sobre una base común.
Ubicación
Section titled “Ubicación”Directoryorchestrator/src/domain/employees/
- EmployeeService.ts
- EmployeeRepository.ts
Métodos
Section titled “Métodos”| Método | Uso |
|---|---|
getEmployeeById(tenantDb, id) | Obtiene un empleado por identificador. |
getEmployees(tenantDb, filter) | Lista empleados con filtros operativos. |
createEmployee(tenantDb, userId, data) | Crea un empleado nuevo. |
updateEmployee(tenantDb, userId, id, data) | Actualiza datos del empleado. |
deleteEmployee(tenantDb, id) | Elimina o desactiva un empleado según regla vigente. |
Flujo de Escritura
Section titled “Flujo de Escritura”-
Recibir el
tenantDb, el usuario ejecutor y el payload del empleado. -
Validar campos obligatorios y enumeraciones.
-
Sanitizar strings, estados y valores booleanos.
-
Persistir mediante
EmployeeRepository. -
Devolver el empleado normalizado para que la vista recargue el estado.
Validaciones
Section titled “Validaciones”| Campo | Regla |
|---|---|
rut | Formato y unicidad operativa. |
sexo | Valores esperados M o F. |
estado_civil | Valores controlados por catálogo laboral. |
estado | Estados laborales válidos para el flujo. |
tipo_cuenta | Cuenta corriente, vista o ahorro cuando se informa pago bancario. |
Sanitización
Section titled “Sanitización”El servicio normaliza datos antes de persistir:
- aplica
trima textos; - convierte enumeraciones a mayúsculas;
- parsea booleanos como
asignacion_familiar; - completa valores por defecto cuando corresponde, como nacionalidad;
- evita que la UI persista variantes inconsistentes de estados o catálogos.
Integraciones
Section titled “Integraciones”| Servicio | Relación |
|---|---|
ContractService | Usa el empleado como titular de contratos laborales y anexos. |
AttendanceService | Asocia asistencia, licencias y horas extra a trabajador/contrato. |
PayrollService | Hidrata contexto de liquidación con empleado, contrato y previsión. |
FiniquitoService | Usa estado laboral, contrato y antigüedad para término de relación. |