Skip to main content

🧑‍💼 Recursos Humanos


1. 🧩 Descripción General

El módulo de Recursos Humanos (RRHH) permite la gestión de personal de la empresa, incluyendo empleados, contratos, nómina, asistencias, evaluaciones y estructura organizacional. Este módulo se conecta con Finanzas (para pagos y contabilidad) y Producción (para asignación de personal).


2. 🧱 Modelos del Módulo

a. Employee

  • id: integer (PK)
  • name: string
  • rfc: string
  • email: string
  • phone: string
  • position: string
  • department: string
  • hire_date: date
  • salary: decimal
  • is_active: boolean

b. Contract

  • id: integer (PK)
  • employee_id: FK → Employee
  • type: enum (temporal, indefinido, outsourcing)
  • start_date: date
  • end_date: date (nullable)
  • salary: decimal
  • status: enum (activo, terminado, suspendido)

c. Attendance

  • id: integer (PK)
  • employee_id: FK → Employee
  • date: date
  • type: enum (entrada, salida)
  • timestamp: datetime

d. Payroll

  • id: integer (PK)
  • employee_id: FK → Employee
  • period_start: date
  • period_end: date
  • gross_salary: decimal
  • deductions: decimal
  • net_salary: decimal
  • status: enum (generada, pagada)

3. 🔁 Funciones del Controlador

  • indexEmployees(): Listar empleados.
  • storeEmployee(): Alta de nuevo empleado.
  • showEmployee($id): Ver perfil completo.
  • updateEmployee($id): Editar datos.
  • terminateContract($id): Finalizar relación laboral.
  • registerAttendance(): Registrar entrada/salida.
  • generatePayroll(): Crear cálculo de nómina.
  • payPayroll(): Marcar como pagada.

4. 🌐 Endpoints detallados y justificados

MétodoRutaDescripciónJustificación
GET/api/employeesLista de empleadosGestión de personal
POST/api/employeesCrear empleadoContratación
GET/api/employees/{id}Perfil del empleadoConsultas internas
PUT/api/employees/{id}Editar datosActualizaciones
DELETE/api/employees/{id}Baja lógicaTerminación
POST/api/attendanceRegistrar asistenciaControl de jornada
POST/api/payroll/generateGenerar nóminaCálculo por periodo
POST/api/payroll/{id}/payRegistrar pagoIntegración con finanzas

5. 🖥️ Diseño UX sugerido (flujo de usuario)

Página: "Empleados"

  • Tabla con nombre, puesto, salario, estado
  • Filtros: por departamento, activo/inactivo
  • Acciones: Ver, Editar, Terminar

Página: "Perfil del Empleado"

  • Datos generales
  • Contratos
  • Asistencias recientes
  • Historial de pagos

Página: "Nómina"

  • Periodo seleccionado
  • Tabla de empleados, neto a pagar, estado
  • Acciones: Generar, Pagar

6. 📄 Vistas sugeridas (tipo wireframe)

VistaCampos sugeridosAcciones
EmpleadosNombre, RFC, puesto, email, activoVer, Editar, Terminar
FormularioNombre, RFC, correo, puesto, salarioGuardar
NóminaEmpleado, bruto, deducciones, neto, estadoPagar
AsistenciaFecha, tipo, hora, empleadoRegistrar

7. 🔗 Conexión Frontend ↔ API JSON:API

Acción en FrontendMétodo/APIResultado esperado
Ver empleadosGET /api/employeesTabla con filtros
Crear empleadoPOST /api/employeesAlta exitosa
Registrar asistenciaPOST /api/attendanceRegistro por jornada
Generar nóminaPOST /api/payroll/generateCálculo automático
Pagar nóminaPOST /api/payroll/{id}/payMarcar pagada

🧑‍💼 Este módulo garantiza el control y trazabilidad de los recursos humanos, integrando procesos de nómina, asistencia y relación laboral con otros módulos clave del ERP.