Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Obtener configuración de descuentos

Obtener configuración de permisos

Método: GET

Ejemplo:

https://homol.uno-internacional.com/pegasus-api/dashboard/empresas/8/ciclos/785/moduleConfig/CENSO.LISTADESCUENTOS

...

En la respuesta, está la configuración que se utiliza en el módulo de descuentos.

Obtener configuración de permisos

Instrucciones

Para obtener la configuración de permisos, se debe leer el campo ´data´ data y buscar el item ´permisos´ permisos, aquí se encuentran los permisos para las distintas secciones y/o acciones que se encuentran este módulo.

Obtener configuración de los reportes

Instrucciones

Para obtener la configuración de los reportes, se debe leer el campo data y buscar el objeto reportes, dentro del objeto reportes existe un array secciones, se debe recorrer este array y buscar el item donde la etiqueta sea “Reportes”: data.reportes.secciones[].etiqueta = 'Reportes', en este módulo de descuentos, el item correspondiente a la sección del reporte a descargar siempre es el index cero: data.reportes.secciones[0]

...

Dentro del item del index cero en el array de secciones existe otro array items que contiene los reportes disponibles en el módulo, en el módulo de Descuentos solo tenemos un reporte, por lo tanto se debe obtener el item del index cero en items: data.reportes.secciones[0].items[0].

...

Una vez que se obtuvo el objeto correspondiente a la configuración del reporte, dentro de este objeto existen los siguientes campos:

empaquetable: Es un boolean que indica si se debe generar el reporte por partes/paquetes

packConfig: Es la configuración que indica cómo generar el reporte, este objeto contiene los siguientes campos:

  • nombreReporte: Es el nombre que debe tener el archivo que se descargará.

  • tamanoPaquete: Es el total de registros permitidos por paquete.

  • tipoReporte: Es el identificador del reporte para utilizar en el llamado a la API de Pegasus.

  • colegioRequerido: Boolean que indica si el colegioId es requerido para la ejecución del reporte.

permisos: Es un string que contiene el nombre del campo a buscar dentro de la sección de permisos del módulo de descuentos

Obtener lista de descuentos

...

https://homol.uno-internacional.com/pegasus-api/censo/empresas/76/ciclos/1188/colegios/17919/descuentos/1069941?accion=validar

Parametros Parámetros en la URL

  • accion: indica si se quiere aprobar o cancelar un descuento

    • validar: cuando se aprueba un descuento

    • desvalidar: cuando se cancela un descuento

...

  • data[].descuento >= porcentajeMinimoAutorizacion

Descargar lista de descuentos

Para descargar cualquier reporte, debido a que la cantidad de registros dentro de un reporte puede ser excesiva, es necesario aplicar una lógica para calcular si se debe generar el reporte por partes (paquetes), para esto, se deben seguir los siguientes pasos:

1. Obtener total de registros a descargar

Método: GET

Ejemplo:

https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=json&count=1&colegioId=13244

Instrucciones

De la respuesta obtenida, se debe tomar el valor en el campo ´data´ en el item ´totalRegistros´

...

2. Obtener el límite de registros por paquete en un reporte

Ver https://project-tools-santillana.atlassian.net/wiki/spaces/CCORP/pages/edit-v2/439877880#Obtener-configuraci%C3%B3n-de-los-reportes

3. Lógica para determinar el total de paquetes a generar en el reporte

Se debe comparar el total de registros en el reporte contra el tamaño del paquete en la configuración del módulo para el reporte

a) Si el total de registros es MENOR o IGUAL al tamaño de los paquetes en la configuración del reporte

Se realiza la descarga directa del reporte sin generar paquetes:

Método: GET

Ejemplo:

https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=file&count=0&colegioId=13244&limit=10000&offset=0&contador=1

Parámetros en la URL

  • typeResponse: indica el formato esperado en la respuesta

    • file: la respuesta es un archivo

    • json: la respuesta es en formato JSON

    • packFiles: indica que se quiere generar una parte/paquete

    • packDownload: indica que se quiere descargar el reporte generador por partes/paquetes

  • count: indica si solo se requiere obtener el total de registros

    • 1: se requiere obtener solo el total de registros que tendrá el reporte

    • 0: no se requiere el total, se requieren los registros del reporte

  • colegioId: El ID del colegio para el cuál se quiere descargar el reporte

  • limit: Es el total de registros a obtener en el llamado

  • offset: Es el indice a partir del cuál se obtendrán los registros

  • contador: Es el indicador del paquete que se está generando

b) Si el total de registros es MAYOR al tamaño de los paquetes en la configuración del reporte

Se realiza un llamado por cada paquete que se va a generar

Escenario:

  • totalRegistros: 80

  • tamanoPaquete: 60

  • totalPaquetes = Math.ceil(totalRegistros / tamanoPaquete)

    • El resultado siempre se redondea hacia arriba

      • totalPaquetes = Math.ceil(80 / 60) = 2

Método: GET

Ejemplo:

Llamado para el paquete 1

https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packFiles&count=0&colegioId=13244&limit=60&offset=0&contador=1

Llamado para el paquete 2

https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packFiles&count=0&colegioId=13244&limit=60&offset=60&contador=2

Parámetros en la URL

  • typeResponse: indica el formato esperado en la respuesta

    • packFiles: indica que se quiere generar una parte/paquete

  • count: indica si solo se requiere obtener el total de registros

    • 0: no se requiere el total, se requieren los registros del reporte

  • colegioId: El ID del colegio para el cuál se quiere descargar el reporte

  • limit: Es el total de registros a obtener en el llamado, en este caso, siempre será el valor de tamanoPaquete

  • offset: Es el indice a partir del cuál se obtendrán los registros,

    • su valor inicial es cero

    • en cada llamado por paquete, se incrementa

      • offset = offset + tamanoPaquete

  • contador: Es el indicador del paquete que se está generando

    • es el número de paquete que se está generando

Cuando ya no hay más partes/paquetes por generar, se debe ejecutar el llamado que realiza la descarga del archivo ZIP que contiene todas las partes/paquetes generados.

Método: GET

Ejemplo:

https://homol.uno-internacional.com/pegasus-api/reportes/empresas/8/ciclos/785/alumnosDescuento?typeResponse=packDownload&count=0&colegioId=13244&limit=1&offset=0&contador=1

Parámetros en la URL

  • typeResponse: indica el formato esperado en la respuesta

    • packDownload: indica que se quiere descargar el reporte generador por partes/paquetes

  • count: indica si solo se requiere obtener el total de registros

    • 0: no se requiere el total, se requieren los registros del reporte

  • colegioId: El ID del colegio para el cuál se quiere descargar el reporte

  • limit: Es el total de registros a obtener en el llamado

    • en este caso, siempre debe ir el valor 1

  • offset: Es el indice a partir del cuál se obtendrán los registros

    • en este caso, siempre debe ir el valor 0

  • contador: Es el indicador del paquete que se está generando

    • en este caso, siempre debe ir el valor 1

Instrucciones

La respuesta de este servicio es un archivo ZIP, el cual debe ser dado para descargar al usuario.

Dudas/respuestas.

Note

Dropdown de Todo el Colegio: ¿qué otras opciones debe tener?

Se tiver a lista de todos alunos com desconto e as funcionalidade de Pesquisa e Filtros Avançados já é o suficiente!!

 

Gráfica de alumnos con descuento: ¿cómo se visualizará cuando no hay alumnos con descuento?

Se não houver alunos com desconto o gráfico deve ficar de um só cor e a legenda indicará !Sem descontos!

 

Filtros avanzados: ¿son los mismos que en la lista general de alumnos o qué filtros aplicarán?

Sim, são os mesmo.

Descargar lista: ¿se descarga la lista con los filtros aplicados o la búsqueda total?

A planilha deve ser gerada com todos os alunos e não com o filtro.