Solicitud de Adelanto( Solicitar de adelanto de sueldo (1) ) - [guardarAdelantosMensual]
🧾 Descripción
Registra la solicitud de adelanto salarial mensual para un empleado, validando una serie de reglas de negocio relacionadas con:
-
Fecha permitida para solicitar adelanto
-
Tipo de trabajador
-
Área, puesto y compañía
-
Situación laboral (activo/licencia)
-
Contratos y antigüedad mínima
-
Restricciones internas por área o cargo
-
Estructura mensual del ERP (“Solicitud de Adelanto Mensual”)
El servicio crea o actualiza el registro correspondiente al empleado dentro del documento mensual de adelantos.
🚀 Endpoint
POST /guardar-adelantos-mensual/{employee}/{amount}
✔ Recibe:
-
employee(string) — ID del empleado -
amount(int/string) — Monto seleccionado
🔐 Seguridad
Requiere autenticación del ERP (realizada internamente vía ServiceErp()).
🧠 Flujo del Servicio (lógica real)
1️⃣ Validación inicial del monto
-
Si el monto es
"Seleccionar"→ error
2️⃣ Obtiene la ficha del empleado
Se validan:
-
Compañía = "Shalom Empresarial"
-
Estado = "Active"
3️⃣ Validaciones por fecha
-
Solo se puede solicitar entre el día 1 y 14
-
Excepción especial: julio 2023 (solo hasta el día 13)
-
Si el empleado ingresó este mes y su día de ingreso ≥ 5 → no puede solicitar
4️⃣ Validaciones por tipo de trabajo
-
Part time → máximo S/ 100
-
Gerencia → no permitido
-
Jefes o Supervisores (excepto Atención al cliente - SE)
-
Administrativos (excepto Atención al cliente - SE)
-
Conductores → prohibido solicitar
5️⃣ Validación de asistencia
Se verifica si hoy está con licencia:
Si está con licencia → no puede solicitar adelanto.
6️⃣ Ubica o crea el documento mensual tipo "Solicitud de Adelanto Mensual"
Se busca:
-
Si no existe, se crea un nuevo documento para el mes
7️⃣ Registra o actualiza al trabajador dentro de la tabla interna table_12
-
Si el empleado no existe → se crea un nuevo registro (POST)
-
Si ya existe → se actualiza solo el campo
monto(PUT)
8️⃣ Devuelve la respuesta con todos los registros procesados.
📥 Request Body
No recibe body (los parámetros son por URL).
📤 Response 200 – Ejemplo
❗ Posibles Errores
1. Monto inválido
2. Empresa no permitida
3. Empleado deshabilitado
4. Fecha fuera de rango
5. Restricción por área o tipo de empleado
6. Empleado con licencia
7. Error al crear documento mensual
📚 Schemas utilizados
Employee (GET Employee/{id})
Campos relevantes:
Solicitud de Adelanto Mensual (GET/POST)
Campos usados:
No hay comentarios para mostrar
No hay comentarios para mostrar