Ir al contenido principal

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” => 1 //Exitoso 

      • “statuts” => 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' => [

  •        "Accept" => "application/json",

  •        "Content-Type" => "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" => "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