Documento de Ingresos (Registrar Proceso de Descarga (1, 2,3,4,5)) - [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:


🚀 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


🧠 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:

Estas funciones validan:

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:

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


Revisión #3
Creado 2025-11-26 11:55:19 -05 por Elian
Actualizado 2025-11-26 17:08:04 -05 por Elian