Skip to content

Plataforma técnica · Orchestrator

Maestro Laboral (services)

Orchestrator Remuneraciones Maestro

El subdominio Maestro Laboral mantiene las entidades base sobre las que opera todo el ciclo de remuneraciones: identidad del trabajador, posición funcional y vínculo contractual. Los services no calculan haberes ni resuelven asistencia; su responsabilidad es asegurar que existan empleados, cargos y contratos consistentes antes de que cualquier proceso downstream pueda correr.

La separación contable equivalente vive en accounting/remuneraciones/maestro-laboral, donde se explica por qué cada pieza importa para el devengo (NIC 19), la imputación por centro de costo y los controles de auditoría.

ServicioResponsabilidadDoc
EmployeeServiceCRUD del maestro de empleados. Validaciones de RUT, sexo, estado civil y sanitización antes de persistir.
CargoServiceCRUD del catálogo de cargos. Normalización del código a mayúsculas.
ContractServiceCiclo contractual: creación, anexos, vigencia, generación de PDF y validación de compliance laboral.

El catálogo de departamentos se administra a través de company/administracion; el contrato lo referencia vía departamento_id para determinar el centro de costo del trabajador.

flowchart LR
  subgraph SVC["domain/"]
    EMP["EmployeeService<br/>(employees/)"]
    CRG["CargoService<br/>(cargos/)"]
    CON["ContractService<br/>(contracts/)"]
  end

  subgraph TBL["Tablas tenant"]
    EMP_T[("empleados")]
    CRG_T[("cargos")]
    CON_T[("contratos")]
    DEP_T[("departamentos")]
  end

  EMP --> EMP_T
  CRG --> CRG_T
  CON --> CON_T
  CON --> EMP_T
  CON --> CRG_T
  CON --> DEP_T

  CON -. consume .-> EMP
  CON -. consume .-> CRG

ContractService es el punto donde convergen las tres entidades: cada contrato referencia un empleado_id, un cargo_id, una jornada_id y, opcionalmente, un departamento_id. Sin esos foreign keys vigentes, no se puede emitir contrato y, por extensión, no se puede liquidar al trabajador.

PatrónDónde
RepositoryCada service delega persistencia en su *Repository.ts correspondiente.
Template Method (BaseService)Validaciones, logging y manejo de pool heredados de BaseService.
BuilderContractGenerator y ContractHtmlGenerator arman el PDF/HTML del contrato a partir del input estructurado.
ValidatorContractComplianceValidator aplica las reglas legales (Código del Trabajo arts. 7-12) antes de persistir.
ServiceQué consume del maestro
AttendanceServiceVincula marcas y novedades al empleado_id y al contrato_id vigente.
VacationServiceCalcula saldo de feriado a partir de la fecha de ingreso y la jornada del contrato.
PayrollServiceHidrata el contexto de cálculo con empleado, contrato, jornada, AFP, salud y APV.
FiniquitoServiceToma el contrato vigente o recientemente terminado para liquidar el cierre del vínculo.