REPORTE BALANCE DE BANCOS
Fuente:/var/www/html/qareportes/app/Http/Controllers/Cloud/ReportController.php
1) Nombre del reporte
-
Nombre: Reporte de Balance de Bancos
-
Código/Alias: report_bank_balance
-
Responsable: Equipo de Reportes Cloud
-
Propósito:
2) Alcance temporal
-
Campo(s) de fecha utilizados (base):
-
created_date (Fecha y hora de la creación del reporte)
-
Tipo de rango: Mensual
-
Si es Enero y Febrero abarca esos dos meses
-
Si es el mes actual es otro abarca 2 meses posteriores y el actual (3 meses)
-
Horas: Sí, se abarca un rango completo por día [00:00:00 – 23:59:59]
-
Zona horaria: Servidor (igual a sistema)
3) Origen de datos (tablas/APIs)
-
Conexión / Base: Empresarial
-
Tabla/Recurso: emp_reportes_validation
-
Alias: No hay
-
Campos utilizados (clave → descripción):
-
report ( nombre del reporte report_bank_balance)
-
created_date (Fecha y hora en que se inserta el registro)
-
status (Estado de ejecución: [1 = éxitoso, 0 = error ])
-
Condiciones (WHERE) aplicadas: No aplica, solo utiliza un realiza un insert con los campos report, create d_date y status en la tabla emp_reportes_validation
-
Tipo de unión con otras fuentes (JOIN y llave): No hay
4) Filtros globales del reporte
-
Inclusiones: Solo inserta datos en la tabla emp_reportes_validation
-
report (“report_bank_balance”)
-
created_date (Fecha y hora de la ejecución)
-
status (1 = si el proceso fue éxitoso y 0 = error/falló )
-
Exclusiones: No hay regla que excluya registros para este reporte
-
Reglas habilitado/estado:
-
status = 1 → Ejecución correcta del bankBalance()
-
status = 0 → Ejecución capturada en el catch
-
Parámetros externos (si el usuario puede filtrarlo): No existe
5) Transformaciones y Reglas de negocio
-
Derivaciones de campos (cómo se calculan):
-
created_date: Fecha y hora de ejecución [YYYY-MM-DD H: i: s]
-
first_month: Toma de $last_month y la regla que resta 2 meses para establecer el rango del reporte
-
last_month: Mes [date(“m”)]
-
year: año [date(“Y”)]
-
Mapeos de estado:
-
status 1 = éxitoso
-
status 0 = fallo
-
Reglas de validación (p.ej., sólo registros validados): Solo existe la validacion al llamar la funcion bankBalance() regresando como respuesta el status = 1 ó 0
-
Reglas condicionales (si X entonces Y): La única condicional se la del status
6) Estructura de salida
-
Tabla/archivo destino: emp_reportes_validatio ()
-
Particionado / sufijo: No tiene
-
Clave(s) primaria(s) o únicas: No cuentan con PK o FK
-
Columnas del reporte (nombre → tipo → descripción):
-
report → Nombre fijo del reporte (report_bank_balance)
-
created_date → Fecha y hora de ejecucion
-
status → Estado de ejecución
-
Ordenamiento por defecto: No aplica
7) Frecuencia y operación
-
Ejecución normal: Método update() recorre 2 meses posteriores más el mes actual (3 meses)
-
Ventana que recalcula (días/meses): Si el mes es Enero o Febrero solo calcula la información para esos meses. Si es otro mes calcula 3 meses tomando el mes actual (3 meses)
-
Chunking: En bloques de 9000 registros antes de insertar (array_chunk).
-
Tolerancia a fallos / reintentos:
-
Maneja try–catch con rollback
-
Si falla la creación o inserción se guarda en error_reports
-
Tiempos de ejecución esperados: No hay
-
UTF-8: force_utf8mb4 = true.
8) Calidad y controles
-
Validaciones previas/post:
-
Verificación de existencia de la tabla antes de insertar(Si no existe la crea): $verify = $this->verifyExistTable($db_name, $sql);
-
Controles de duplicados:
-
No hay controles duplicados
-
Observación: Si se ejecuta por segunda vez el reporte con el mismo rango de fecha, no sobre escribe, elimina la data anterior o actualiza. Crea un duplicado de los registros que se apila a los registros de la primera ejecución.
-
Métricas de completitud (qué se monitorea): Se monitorea solo el estado del reporte
-
status = 1 → reporte creado correctamente.
-
status = 0 → error en ejecución.
9) Dependencias externas
-
ERPNext – Bancos
-
Endpoint: method/send-query-database
-
Contrato: retorna valor(status), response.
10) Historial de cambios
2025-09-03 12:00 - Elian Franco Arroyo Rodas - Documentación inicial
No hay comentarios para mostrar
No hay comentarios para mostrar