SIU-Araí: Reportes

SIU-Araí: Reportes

  • Documentación
  • Cómo obtener

›Reportes

Comenzando

  • Introducción
  • Instalación Rápida

Conceptos

  • Arquitectura

Configuración

  • Configuración

Reportes

  • Diseñando Reportes
  • Backends

    • Jasper

    Publicando

    • Publicando
    • Publicando AIO
  • Generando

API

    Endpoints disponibles

    • /carpetas
    • /archivos
    • /imagenes
    • /reportes

Changelog

  • changelog

Ejecutando un Reporte

Como los reportes ahora residen en el servidor, lo unico que debemos hacer para obtener un resultado es invocar su ejecucion con el conjunto de parametros y datos necesarios.

Cabe destacar que como el servidor de reportes no tiene acceso a base de datos, ya no es viable que el mismo ejecute las consultas directamente.

La ejecucion del reporte se realiza mediante un pedido GET indicando los siguientes parametros en el query_string:

* uri: El identificador del reporte que deseamos ejecutar
* tipo_salida: El formato en que deseamos nuestro reporte (default: pdf)
* data: Los datos para rellenar el mismo en formato xml (por el momento)
* parametros: Un arreglo de parametros a pasar al reporte

El formato por defecto es pdf, sin embargo se puede solicitar el resultado en cualquiera de los formatos que tiene disponibles el servidor.

All-in-One

Deberiamos realizar un pedido como el siguiente por ejemplo:

curl -X GET "http://siu:81/reportes/v2/reportes/Imhotep?tipo_salida=docx&uri=%2Freportes%2FImhotep%2FHechizos%2FHechizados&data=%5B%7B%22apex_item_proyecto%22%20%3A%20%22Merseburg%22%2C%22apex_item_item%22%3A%20%22Merseburg1%22%2C%22apex_item_nombre%22%3A%20%22Eiris%20sazun%20idisi%20sazun%20hera%20duoder.%20suma%20hapt%20heptidun%2C%20suma%20heri%20lezidun%2C%20suma%20clubodun%20umbi%20cuoniouuidi%3A%20insprinc%20haptbandun%2C%20inuar%20uigandun.%20%22%7D%2C%7B%22apex_item_proyecto%22%20%3A%20%22Merseburg%22%2C%22apex_item_item%22%3A%20%22Merseburg2%22%2C%22apex_item_nombre%22%3A%20%22Phol%20ende%20uuodan%20uuorun%20zi%20holza.%20du%20uuart%20demo%20balderes%20uolon%20sin%20uuoz%20birenkit.%20thu%20biguol%20en%20sinthgunt%2C%20sunna%20era%20suister%3B%20thu%20biguol%20en%20friia%2C%20uolla%20era%20suister%3B%20thu%20biguol%20en%20uuodan%2Cso%20he%20uuola%20conda.%22%7D%2C%7B%22apex_item_proyecto%22%20%3A%20%22Eggum%20Stone%22%2C%22apex_item_item%22%3A%20%22Eggum1%22%2C%22apex_item_nombre%22%3A%20%22Ni%27s%20s%C3%B3lu%20s%C3%B3tt%20ok%20ni%20saxe%20st%C3%A6in%20skorinn.%20Ni%20%28witi%29%20manr%2C%20n%C3%B4k%C3%B0an%20is%20na%20wrinr%2C%20ni%20wiltir%20m%C3%A6nnz%20l%C3%A6gi%5Bs%5D.%22%7D%2C%7B%22apex_item_proyecto%22%20%3A%20%22Eggum%20Stone%22%2C%22apex_item_item%22%3A%20%22Eggum2%22%2C%22apex_item_nombre%22%3A%20%22Hin%28n%29%20varp%20n%C3%A1s%C3%A9o%20mannR%2C%20m%C3%A1%C3%B0e%20%C3%BE%C3%A6im%20k%C3%A6ipa%20%C3%AD%20borm%C3%B3%C3%BEa%20h%C3%BAni.%20Hu%C3%A6aR%20of%20kam%20h%C3%A6r%C3%A1ss%20%C3%A1%20hi%20%C3%A1%20land%20gotna.%20FiskR%20%C3%B3R%20f%28ir%29na%20uim%20suim%28m%29ande%2C%20fogl%20%C3%A1%20galande.%22%7D%2C%7B%22apex_item_proyecto%22%20%3A%20%22Deverium%22%2C%22apex_item_item%22%3A%20%22Kgast1%22%2C%22apex_item_nombre%22%3A%20%22Kun%20ilman%20nousee%20h%C3%B6yryten%20ja%20vierell%C3%A4ni%20askeleesi%20kuulen%20narskuvan.%20S%C3%A4%20oot%20niin%20kuin%20pakkanen%20sinun%20kuulen%20sen%20taas%20sanovan.%20Ett%C3%A4%20oon%20sun%20kohtalosi%20meid%C3%A4n%20pit%C3%A4%C3%A4%20odottaa.%22%7D%2C%7B%22apex_item_proyecto%22%20%3A%20%22Deverium%22%2C%22apex_item_item%22%3A%20%22Kgast2%22%2C%22apex_item_nombre%22%3A%20%22Kenjaemuaset%20userjepesh%20sanajtaui.%20Userenputmiradyet%20neferkara%20setepenra.%20Jaemeneseret%20aapehty%20aajeperkara.%20Dyehutymose%22%7D%5D&formato_datos=json" -H  "accept: */*" -o reporte.docx

Donde incluimos no solo la información pertinente al reporte que deseamos ejecutar, sino tambien los datos y su formato. El contenido del pedido se puede visualizar ordenadamente en pedido.json

Pedidos separados

Otra posibilidad es realizar la invocacion en dos pedidos rest, uno para generar el archivo con los datos y otro para invocar la ejecucion del reporte. En este caso, primero realizamos el POST correspondiente para generar el archivo para el dataSource:

curl -X POST "http://siu:81/reportes/v2/archivos" -H  "accept: application/json" -H  "Content-Type: application/json" -d "@./docs/ejemplos/jasper/addReport/item_list/data_descriptor.json"

El resultado de dicho pedido, lo incorporaremos como parametro para la ejecucion del reporte donde se encuentra la variable $URI_DEVUELTA

curl -X GET "http://siu:81/reportes/v2/reportes/Imhotep?uri=/reportes/Imhotep/Hechizos/Hechizados&tipo_salida=xlsx&parametros[net.sf.jasperreports.json.source]=repo:$URI_DEVUELTA" -H  "accept: application/json" -o reporte.xlsx
← Publicando AIO/carpetas →
  • All-in-One
  • Pedidos separados
SIU-Araí: Reportes
Documentación
Overview del Sistema
Comunidad
ForoHub SIUSIU
Más
Cómo obtener
Copyright © 2025 SIU