Ir al contenido principal

Documento de Ingresos (Registrar Proceso de Descarga (1, 2,3,4)) - [registerProcessApp]

🧾 Descripción

Registra en la tabla historial_procesos_app todas las acciones (procesos) que el usuario realiza dentro del aplicativo móvil, como descargas de documentos, validación de contratos, marcaciones, entre otros.

Antes de registrar el proceso:

  1. Valida si corresponde un proceso de Reingreso o Renovación de Contrato.

  2. Procesa el registro especial para Conductores, creando su usuario en el sistema empresarial cuando descarga su contrato.

  3. Guarda la información del evento (geolocalización, mes, año, proceso, etc.) en la base de datos MySQL2.

Este servicio constituye una pieza clave para los módulos de:

  • Marcación

  • Documentos obligatorios

  • Control de procesos del trabajador

  • Contratos / renovaciones


🚀 Endpoint

POST /register-process-app


📥 Request Body

{ "usuario": "string", "empleado": "string", "agencia": "string", "latitude": "string|float", "longitude": "string|float", "proceso": "string", "month": "int", "year": "int" }


🔐 Seguridad

  • Requiere token válido para consumir servicios internos del ERP.

  • Conexión interna a MySQL2 para registrar procesos.

  • Algunos procesos hacen integración con APIs externas (como Empresarial → creación de usuario conductor).


🧠 Flujo del Servicio (resumen real)

1️⃣ Obtiene los parámetros enviados desde la App

Usuario, empleado, agencia, geolocalización, proceso, mes y año.

2️⃣ Si el proceso es descargaContratoReingreso

Ejecuta:

  • validateProcessContractRenovation()

  • validateProcessContractChangeModality()

Estas funciones validan:

  • Si el empleado tiene renovación pendiente

  • Si debe descargar documentos obligatorios

  • Si existen cambios de modalidad pendientes

3️⃣ Si el proceso es descargaContratoTrabajo

  1. Obtiene datos del empleado desde ERP:

    • DNI (passport_number)

    • Sucursal

    • Nombre completo

    • Puesto (designation)

  2. Si el puesto contiene "CONDUCTOR", registra el usuario en el sistema empresarial:


POST EMPRESARIAL/api/crearUsuarioConductor

Enviando:

{ "documento": "<passport_number>", "ter_id": "<id_sucursal>", "nombre": "<nombre_completo>" }

4️⃣ Inserta el proceso en la tabla MySQL:

Tabla: historial_procesos_app

Campos guardados:

  • usuario

  • empleado

  • agencia

  • latitude

  • longitude

  • proceso

  • fecha

  • estado

  • month

  • year

5️⃣ Retorna la respuesta del proceso


📤 Response 200 – Ejemplo

{ "valor": true, "msn": "Proceso registrado con éxito." }


❗ Posibles Errores

1. No se puede registrar el proceso en MySQL

{ "valor": false, "msn": "Ocurrio un error al registrar el proceso." }

2. No se encuentra el empleado en el ERP

{ "valor": false, "msn": "No se encontró al empleado." }

3. Error creando usuario conductor

{ "valor": false, "msn": "Ocurrio un error al registrar el proceso." }

4. Error genérico

{ "valor": false, "msn": "Error interno del servidor." }


📚 Schemas – Objetos usados

🗂 Employee (GET ERP)

Campos usados:

{ "passport_number": "string", "id_sucursal": "string", "nombre_completo": "string", "designation": "string" }

🗂 Registro MySQL – historial_procesos_app

{ "usuario": "string", "empleado": "string", "agencia": "string", "latitude": "string|float", "longitude": "string|float", "proceso": "string", "fecha": "datetime", "estado": 1, "month": "int", "year": "int" }


🗃 Lógica en pseudo-código

leer parametros del request if proceso == "descargaContratoReingreso": validar renovación validar cambio modalidad if proceso == "descargaContratoTrabajo": traer datos del empleado desde ERP if designation contiene "CONDUCTOR": crear usuario conductor via API Empresarial insertar registro en historial_procesos_app si insert falla: devolver error return éxito