# REPORTE SOLICITUD DE PAGOS

Fuente: /var/www/html/qareportes/app/Http/Controllers/Cloud/RecursosHumanosController.php

## 1) Nombre del reporte

- Nombre: Reporte Solicitud de Pagos
- Código / Alias: report\_solicitud\_de\_pagos
- Responsable: Equipo de Reportes Cloud
- Propósito (1 línea):

## 2) Alcance temporal

- Campo(s) de fecha utilizados:
- fecha\_inicio
- fecha\_fin

- Tipo de rango (diario / mensual / personalizado): Mensual
- Inclusión de horas (sí/no). Si sí: \[00:00:00 – 23:59:59\]
- Zona horaria: La del servidor

## 3) Origen de datos (tablas/APIs)

3.1 Conexión / Base: ERP CDTALLERES

- Tabla / Recurso: tabSolicitud de Pagos
- Alias (si aplica): sp
- Campos utilizados (clave → descripción):
- name → Identificador de registro
- estado\_de\_validación →Estado de la solicitud
- validador → Select con opciones de que área o cómo fue validado
- concepto → Registro de “Concepto de solicitudes de pago”
- tipo\_de\_documento → Registro de “Tipo de Documento SP”
- sucursal → Registro de “Sucursales”
- departamento → Registro de “Departamento”
- estado\_documento →Estado del documento
- fecha → Fecha de creación del registro
- ruc → Documento de identidad del proveedor
- proveedor → Nombre completo del proveedor
- porcentaje\_de\_detraccion → Porcentaje de detracción.
- cantidad\_de\_kilos → Cantidad de kilos
- n\_serie - Número de Serie
- tipo\_de\_solicitud → Por Servicio o Producto
- number\_factura → Número de documento Comprobante
- n\_serie → Numero serie
- fecha\_fac → Fecha emisión factura
- monto\_a\_pagar → Monto a pagar
- costo\_x\_kilo → Costo por Kilo
- monto → Monto solicitado
- monto\_facturado – Monto Facturado
- currency →Tipo de Moneda
- fecha\_de\_pago →Fecha de pago
- zona → Zona (Datos del cleinte)
- banco → Banco (Select)
- factura\_de\_compra → Registro de factura de compra
- tipo\_de\_cuenta\_soles → Tipo de cuenta en soles
- cuenta\_en\_dólares → Número de cuenta Dólares
- placa\_de\_vehiculo → Placa
- banco\_dólares →Tipo de Banco Dolares
- idx → Gatos de construccion
- usuario\_que\_registro\_el\_pago → usuario que registra el pago
- orden\_de\_compra → Registro de orden de compra
- solicitud\_con\_detraccion → checkbox que se marca si la solicitud tiene detraccion
- cuenta\_en\_soles →Número de cuenta en soles
- banco\_soles →Tipo de Banco en soles
- tipo\_de\_cuenta\_dólares → Número de cuenta a depositar
- owner →Usuario que creó el registro
- creation →Fecha y hora de creación del registro
- modified\_by →Usuario Administrador
- modified →Fecha y hora


- Condiciones (WHERE) aplicadas:Trae los registro cuya fecha de creación esté en el rango de fecha inicio y fecha fin.
- Tipo de unión con otras fuentes (JOIN y llave): No aplica
- Observaciones (ej. particiones, índices): Sin Obs

3.2 Conexión / Base: ERP CAPACITACION

- Tabla / Recurso: tabSolicitud de Pagos
- Alias (si aplica): sp
- Campos utilizados (clave → descripción):
- name → Identificador de registro
- estado\_de\_validación →Estado de la solicitud
- validador → Select con opciones de que área o cómo fue validado
- concepto → Registro de “Concepto de solicitudes de pago”
- tipo\_de\_documento → Registro de “Tipo de Documento SP”
- sucursal → Registro de “Sucursales”
- departamento → Registro de “Departamento”
- estado\_documento →Estado del documento
- fecha → Fecha de creación del registro
- ruc → Documento de identidad del proveedor
- proveedor → Nombre completo del proveedor
- porcentaje\_de\_detraccion → Porcentaje de detracción.
- cantidad\_de\_kilos → Cantidad de kilos
- n\_serie - Número de Serie
- tipo\_de\_solicitud → Por Servicio o Producto
- number\_factura → Número de documento Comprobante
- n\_serie → Numero serie
- fecha\_fac → Fecha emisión factura
- monto\_a\_pagar → Monto a pagar
- costo\_x\_kilo → Costo por Kilo
- monto → Monto solicitado
- monto\_facturado – Monto Facturado
- currency →Tipo de Moneda
- fecha\_de\_pago →Fecha de pago
- zona → Zona (Datos del cleinte)
- banco → Banco (Select)
- factura\_de\_compra → Registro de factura de compra
- tipo\_de\_cuenta\_soles → Tipo de cuenta en soles
- cuenta\_en\_dólares → Número de cuenta Dólares
- placa\_de\_vehiculo → Placa
- banco\_dólares →Tipo de Banco Dolares
- idx → Gatos de construccion
- usuario\_que\_registro\_el\_pago → usuario que registra el pago
- orden\_de\_compra → Registro de orden de compra
- solicitud\_con\_detraccion → checkbox que se marca si la solicitud tiene detraccion
- cuenta\_en\_soles →Número de cuenta en soles
- banco\_soles →Tipo de Banco en soles
- tipo\_de\_cuenta\_dólares → Número de cuenta a depositar
- owner →Usuario que creó el registro
- creation →Fecha y hora de creación del registro
- modified\_by →Usuario Administrador
- modified →Fecha y hora


- Condiciones (WHERE) aplicadas:Trae los registro cuya fecha de creación esté en el rango de fecha inicio y fecha fin.
- Tipo de unión con otras fuentes (JOIN y llave): No aplica
- Observaciones (ej. particiones, índices): Sin Obs

## 4) Filtros globales del reporte

- Inclusiones (must-have):
- La consulta de los campos que se encuentran en el punto 3. Sin estos datos la consulta esperada no devuelve los datos para el reporte.

- Exclusiones (reglas de descarte):
- Si el usuario no ingresa la Fecha de inicio y Fecha fin se descarta todo el reporte.
- Si la tabla no se crea correctamente se descarta el rango del registro.

- Reglas por estado / habilitado:
- En baseReport cada ejecución guarda un log con estado:
- “statuts” =&gt; 1 //Exitoso
- “statuts” =&gt; 0 //Error


- Parámetros externos (si el usuario puede filtrarlo): Si el usuario puede indicar la fecha de inicio y fecha fin.

## 5) Transformaciones y Reglas de negocio

- Derivaciones de campos (cómo se calculan): No aplica
- Mapeos de estado: En baseReport se guarda logs con estados 0 = error y 1 = exitoso
- Reglas de validación (p.ej., sólo registros validados): Si no se especifica el rango de fecha no se ejecuta el servicio.
- Reglas condicionales (si X entonces Y): Si dateUnlimited == "12", se generan rangos mes a mes desde 2023-09-01.

## 6) Estructura de salida

- Tabla/archivo destino: report\_solicitud\_de\_pagos
- Particionado / sufijo: no aplica
- Clave(s) primaria(s) o únicas: no especifica
- Columnas del reporte (nombre → tipo → descripción):
- id → INT AUTO\_INCREMENT PRIMARY KEY → Identificador único de la fila
- name → VARCHAR(50) → Nombre o identificador
- estado\_de\_validación → VARCHAR(100) → Estado de validación del documento
- validador → VARCHAR(100) → Usuario que validó
- concepto → VARCHAR(255) → Concepto asociado al documento
- tipo\_de\_documento → VARCHAR(100) → Tipo de documento
- sucursal → VARCHAR(100) → Sucursal asociada
- departamento → VARCHAR(100) → Departamento asociado
- estado\_documento → VARCHAR(100) → Estado actual del documento
- fecha → VARCHAR(100) → Fecha del documento
- ruc → VARCHAR(100) → Número de RUC del proveedor
- proveedor → VARCHAR(255) → Nombre del proveedor
- porcentaje → VARCHAR(20) → Porcentaje aplicado
- cantidad\_de\_kilos → VARCHAR(20) → Cantidad de kilos
- n\_serie → VARCHAR(20) → Número de serie
- tipo\_de\_solicitud → VARCHAR(100) → Tipo de solicitud
- numero\_documento → VARCHAR(100) → Número del documento
- fecha\_emision\_factura → VARCHAR(100) → Fecha de emisión de la factura
- monto\_a\_pagar → VARCHAR(100) → Monto a pagar
- costo\_x\_kilo → VARCHAR(100) → Costo por kilo
- monto → VARCHAR(100) → Monto total
- monto\_facturado → VARCHAR(100) → Monto facturado
- currency → VARCHAR(100) → Moneda de la transacción
- fecha\_de\_pago → VARCHAR(20) → Fecha de pago
- zona → VARCHAR(100) → Zona geográfica
- banco → VARCHAR(150) → Banco asociado
- factura\_de\_compra → VARCHAR(150) → Número de factura de compra
- tipo\_de\_cuenta\_soles → VARCHAR(150) → Tipo de cuenta en soles
- cuenta\_en\_dólares → VARCHAR(150) → Número de cuenta en dólares
- banco\_dólares → VARCHAR(150) → Banco asociado a la cuenta en dólares
- idx → VARCHAR(25) → Índice o identificador auxiliar
- usuario\_que\_registro\_el\_pago → VARCHAR(100) → Usuario que registró el pago
- orden\_de\_compra → VARCHAR(100) → Número de orden de compra
- solicitud\_con\_detraccion → VARCHAR(20) → Indicador de solicitud con detracción
- cuenta\_en\_soles → VARCHAR(200) → Número de cuenta en soles
- banco\_soles → VARCHAR(20) → Banco asociado a la cuenta en soles
- tipo\_de\_cuenta\_dólares → VARCHAR(100) → Tipo de cuenta en dólares
- owner → VARCHAR(100) → Usuario creador del registro
- creation → VARCHAR(100) → Fecha de creación del registro
- modified\_by → VARCHAR(100) → Usuario que modificó
- modified → VARCHAR(100) → Fecha de modificación
- placa\_de\_vehiculo → VARCHAR(100) → Placa del vehículo asociado
- created\_date → DATETIME DEFAULT CURRENT\_TIMESTAMP → Fecha de inserción en el datawarehouse
- status → tinyint(4) DEFAULT '1' → Estado del registro (1 = activo, 0 = inactivo)


- Ordenamiento por defecto: no especifica

## 7) Frecuencia y operación

- Frecuencia de actualización: Cada que se ejecuta el servicio
- Ventana que recalcula (días/meses): recalcula desde un pivote (2023-09) hasta mes actual → ~12+ meses.
- Tamaño de lote / paginado (chunking): Los inserts se hacen en lotes de 900 registros máximo.
- Tolerancia a fallos / reintentos: try catch para la inserción de datos.
- Tiempos de ejecución esperados: Dependerá de la cantidad de datos.

## 8) Calidad y controles

- Validaciones previas/post: Se valida que se ingrese una fecha inicio y una fin para el rango de registros a filtrar
- Controles de duplicados: No existe un control explícito. Lo que sí hay es creación de tablas dinámicas con fecha por mes de registro.

- Métricas de completitud (qué se monitorea):
- Se monitorea la inserción de datos en la tabla. En caso no se inserte correctamente, se guarda un log en la tabla error\_reports, emp\_reportes\_validation.
- Se crea un log con estado (1 = exitoso ó 0 = error) Que confirma el estado de la creación de la tabla.


## 9) Dependencias externas

9.1 RECURSOS HUMANOS

- APIs / servicios y endpoints:
- API: RECURSOS\_HUMANOS = https://qahorario-salida.shalomcontrol.com/
- Servicio: Solicitud de Pagos
- Endpoint: api/getSolicitudPagos


9.2 APICDTALLERES

- APIs / servicios y endpoints:
- API: APICDTALLERES = https://erp-cd-talleres-qa-21-02-2025.shalom.com.pe/
- Servicio: Ejecuta consultas SQL (tabSolicitud de Pagos)
- Endpoint: method/send-query-database


9.3 APICAPACITACION

- APIs / servicios y endpoints:
- API: APICAPACITACION = https://erp-git-prod.shalom.com.pe/api/
- Servicio: Ejecuta consultas SQL (tabSolicitud de Pagos)
- Endpoint: method/send-query-database


- Autenticación / headers:
- Se define el siguiente header:

- $options = \[
- 'headers' =&gt; \[
- "Accept" =&gt; "application/json",
- "Content-Type" =&gt; "application/json"
- \]
- \];

- Mapeos y contratos de datos:
- Mapeo: En el punto 6 se ve el mapeo de datos, como llega del API y como se guarda en la BD:
- ejm: "name" =&gt; "VARCHAR(50) NULL, ",

- Contrato de datos: El API debe entregar todos los campos indicados en el punto 6.


## 10) Historial de cambios

2025-09-23 10:58 - Elian Franco Arroyo Rodas - Documentación inicial