udistrital / polux_cliente

Cliente angular del proyecto Polux
0 stars 0 forks source link

Implementar alcance inicial de reportes - parte 1 #637

Closed diagutierrezro closed 1 month ago

diagutierrezro commented 1 month ago

Se requiere realizar una implementación inicial (a modo de prueba) para comprobar como funcionaría la implementación de reportes con excelize en el sistema de Pólux, para esto replicar el reporte de la pestaña "reporte general"

Sub Tareas

Criterios de aceptación

Requerimientos

No aplica

Definition of Ready - DoR

Definition of Done - DoD - Desarrollo

CrisEs2506 commented 1 month ago

SubTarea N°1: Realizar implementación inicial.

polux_crud

  1. Se creo un nuevo Modelo llamado 'reporte_general' con la estructura correspondiente para almacenar todos los datos traidos de la base de datos:
image
  1. Se crea una función en el Modelo llamada 'GetReporteGeneral()' encargada de realizar la consulta SQL y crear un slice asignandole todos los datos recogidos a la estructura:
image image image image image image
  1. Como se observa en la línea 191 de la imagen anterior, se llama a la función 'BuildExcel()' la cuál tiene la tarea de construir el excel, añadir los headers (títulos de las columnas) y colocar cada uno de los datos del slice de ReporteGeneral en cada celda de la hoja de cálculo, además de indicar la ruta en donde se quiere guardar el Excel:
image image
  1. En la línea 225 se llama a la función 'appendRow' encargada de colocar en cada fila y cada columna del Excel los datos del slice de ReporteGeneral:
image
  1. Se crea un Controlador llamado 'reporte_general' con un método Post (pensando que en el futuro se le pasarán parametros como los filtros por los cuales se quiere crear el reporte) el cuál es el encargado de ejecutar la función 'GetReporteGeneral()' y dar la respuesta del servidor ya sea en caso éxitoso o del error presentado:
image
  1. Finalmente, se añade manualmente el controlador al archivo 'Router.go':
image
CrisEs2506 commented 1 month ago

SubTarea N°1: Realizar implementación inicial.

Resultado

  1. Se llama al método Post desde ThunderCliente y el resultado es el siguiente:
image
  1. Se observa que en la carpeta raiz de 'polux_crud' se crea el reporte en Excel llamado 'ReporteGeneral.xlsx':
image
  1. El resultado es el siguiente Excel:

ReporteGeneral.xlsx

diagutierrezro commented 1 month ago

Se continuará implementación en otro issue, gracias Cristian.