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) Verifica la fecha actual. Si el día del mes es menor a 26 → No corresponde validar renovaciones. Obtiene datos del empleado. SELECT fecha_de_ingreso_real FROM tabEmployee WHERE name = {empleado} Determina si el empleado aplica para renovación: Debe haber ingresado antes del último día del mes anterior . 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" Si existe una renovación validada: Consulta MySQL2 → tabla historial_procesos_app Revisa si el usuario ya descargó su renovación : proceso = "descargaContratoRenovacion" Si no la descargó → bloquea ciertas funciones. 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" )