Ir al contenido principal

Obtiene descarga Renovación de contrato (2) - [getRenovacionContrato]

🧾 Descripción

Valida si un empleado debe descargar su renovación de contrato, según reglas internas de fecha y estado en el ERP.

Este servicio determina:

  • Si hoy es la fecha válida para revisar renovaciones (solo a partir del día 26 de cada mes).

  • Si el empleado ingresó antes del cierre del mes anterior (lo que lo vuelve candidato a renovación).

  • Si el empleado tiene una solicitud de renovación aprobada y marcada como “Validado”.

  • Si el empleado ya descargó su documento de renovación.

    • Caso contrario, se bloquean ciertas funcionalidades hasta que la descargue.

Se combina información del ERP y del registro histórico en MySQL2.


🚀 Endpoint

GET /get-renovacion-contrato/{empleado}

📌 El parámetro empleado es obligatorio (ID del Employee en ERP).


🔐 Seguridad

✔ Requiere autenticación interna vía dbErp() y tokens del ERP.
✔ Acceso restringido a servicios del backend.


🧠 Flujo del Servicio (Resumen)

  1. Verifica la fecha actual.

    • Si el día del mes es menor a 26 → No corresponde validar renovaciones.

  2. Obtiene datos del empleado.


    SELECT fecha_de_ingreso_real FROM tabEmployee WHERE name = {empleado}
  3. Determina si el empleado aplica para renovación:

    • Debe haber ingresado antes del último día del mes anterior.

  4. Busca renovaciones validadas del empleado:


    FROM tabSolicitud de Renovaciones doc JOIN tabTrabajadores pendiete de renovar tab WHERE doc.data_12 = <mes_actual_texto> AND doc.año = <año> AND tab.codigo = empleado AND tab.renueva = "Si" AND doc.estado_de_documento = "Validado"
  5. Si existe una renovación validada:

    • Consulta MySQL2 → tabla historial_procesos_app

    • Revisa si el usuario ya descargó su renovación:


      proceso = "descargaContratoRenovacion"
  6. Si no la descargó → bloquea ciertas funciones.

  7. Si todo está conforme → indica que la renovación fue descargada.


📥 Request

Parámetro de ruta

Campo Tipo Obligatorio Descripción
empleado string ID del Employee dentro del ERP

No tiene body.


📤 Response 200 – Ejemplos

✔ Caso 1 — No es día de validación

{ "status": true, "msn": "No es el día correcto para la renovación de contrato" }

✔ Caso 2 — Debe descargar renovación (bloqueo)

{ "status": false, "msn": "Para poder registrar su marcación o realizar alguna solicitud, descargar su renovación de contrato" }

✔ Caso 3 — Renovación descargada correctamente

{ "status": true, "msn": "Se ha descargado el contrato de trabajo" }

✔ Caso 4 — Error controlado

{ "status": true, "msn": "Se ha descargado el contrato de trabajo" }

❗ Posibles errores

Código Significado
status:false El empleado tiene renovación pendiente y no la descargó
status:true No aplica validación o ya cumplió con la descarga
Excepción Se devuelve un mensaje genérico indicando que el contrato fue descargado

📚 Tablas / Datos utilizados

ERP - tabEmployee

Campos usados:

  • fecha_de_ingreso_real

ERP - tabSolicitud de Renovaciones

Campos usados:

  • data_12

  • año

  • estado_de_documento

ERP - tabTrabajadores pendiete de renovar

Campos usados:

  • codigo

  • renueva

MySQL2 - tabla historial_procesos_app

Procesos revisados:

  • descargaContratoRenovacion


🗃 Lógica en Pseudo-Código

if day(today) < 26: return OK("No es el día correcto") empleado = queryERP(Employee where name=empleado) if empleado.ingreso < ultimo_dia_mes_anterior: renov = queryERP(Solicitud de Renovaciones where codigo=empleado AND renueva="Si" AND estado="Validado" ) if renov exists: registro = queryMySQL(historial_procesos where proceso="descargaContratoRenovacion") if registro vacío: return ERROR("Debe descargar la renovación") return OK("Se ha descargado el contrato de trabajo")