Reportes en El Framework
-
Upload
jhoan-torres -
Category
Documents
-
view
225 -
download
1
description
Transcript of Reportes en El Framework
Reportes en el Framework
REPORTES EN EL FRAMEWORK Requisitos
Crear un reporte en iReport 5.0.4
A continuación se detalla el proceso para visualizar un reporte creado en iReport 5.0.4 utilizando
los componentes del framework.
Es necesario ubicar el reporte dentro del directorio WebContent\reportes del proyecto,
para el caso de ejemplo voy a ocupar el reporte rep_perfil.jasper que se encuentra en el
directorio WebContent\reportes\rep_seguridad
Creamos una pantalla en el sistema y en la pestaña de REPORTES asociamos a la pantalla
el reporte que queremos que se visualice.
Lo que hemos hecho es crear una nueva pantalla y asignarle un reporte, se puede asignar varios reportes a una pantalla.
Reportes en el Framework
En el campo NOM_REPO se define el nombre que del reporte, es importante definir bien el nombre ya que este se utilizará para al momento de programar la pantalla, y no se podrá cambiarlo después. En el campo PATH_REPO se define la ruta donde se encuentra el reporte sin tomar en cuenta la carpeta “reportes” ya que por defecto el framework busca en este directorio.
Damos permiso a un perfil a la pantalla y al reporte.
Creamos la clase pre_componentes.java en el paquete paq_demo ya que asi lo
definimos.
Definimos 2 objetos fundamentales para visualizar el reporte
Estos componentes son tipo Dialogo por lo tanto necesitan los métodos get y set
Reportes en el Framework
Definimos un objeto de tipo Map para cargar los parámetros que recibe el reporte
Configuramos los 2 componentes en el método constructor de la clase
Implementamos el método abrirListaReportes() el cual se ejecuta al dar click en el botón reportes
Implementamos el método aceptarReporte() el cual se ejecuta cuando el usuario selecciona un reporte y da click en el botón aceptar
Hasta el momento el código quedaría de la siguiente manera package paq_demo; import java.util.HashMap; import java.util.Map; import framework.componentes.Reporte; import framework.componentes.SeleccionFormatoReporte; import paq_sistema.aplicacion.Pantalla; public class pre_componentes extends Pantalla{ private Reporte rep_reporte = new Reporte(); //Listado de Reportes, siempre se llama rep_reporte private SeleccionFormatoReporte sel_rep = new SeleccionFormatoReporte(); //formato de salida del reporte private Map map_parametros = new HashMap();//Parametros del reporte public pre_componentes() { rep_reporte.setId("rep_reporte"); //id rep_reporte.getBot_aceptar().setMetodo("aceptarReporte");//ejecuta el metodo al aceptar reporte agregarComponente(rep_reporte);//agrega el componente a la pantalla bar_botones.agregarReporte();//aparece el boton de reportes en la barra de botones sel_rep.setId("sel_rep"); //id agregarComponente(sel_rep); //agrego el componente a la pantalla } @Override public void abrirListaReportes() { // TODO Auto-generated method stub rep_reporte.dibujar(); } @Override public void aceptarReporte(){ } @Override
Reportes en el Framework
public void insertar() { // TODO Auto-generated method stub } @Override public void guardar() { // TODO Auto-generated method stub } @Override public void eliminar() { // TODO Auto-generated method stub } public Reporte getRep_reporte() { return rep_reporte; } public void setRep_reporte(Reporte rep_reporte) { this.rep_reporte = rep_reporte; } public SeleccionFormatoReporte getSel_rep() { return sel_rep; } public void setSel_rep(SeleccionFormatoReporte sel_rep) { this.sel_rep = sel_rep; } }
Compilamos, ejecutamos el proyecto y verificamos el funcionamiento de la pantalla
Simplemente lo que hemos hecho es desplegar los reportes a los que tiene acceso el usuario en la Pantalla.
Ahora vamos a programar los métodos , para poder desplegar el reporte seleccionado en el navegador
En el método aceptarReporte() vamos a validar que le usuario selecciono el reporte “Perfiles del Sistema(Ejemplo)” , y creamos el método abrirPerfilesSistema() que el que se ejecutará para visualizar el reporte.
Reportes en el Framework
Programamos el método abrirPerfilesSistema() para que despliegue el reporte
Hasta el momento el código quedaría de la siguiente manera
package paq_demo; import java.util.HashMap; import java.util.Map; import framework.componentes.Reporte; import framework.componentes.SeleccionFormatoReporte; import paq_sistema.aplicacion.Pantalla; public class pre_componentes extends Pantalla{ private Reporte rep_reporte = new Reporte(); //Listado de Reportes, siempre se llama rep_reporte private SeleccionFormatoReporte sel_rep = new SeleccionFormatoReporte(); //formato de salida del reporte private Map map_parametros = new HashMap(); //Parametros del reporte public pre_componentes() { rep_reporte.setId("rep_reporte"); //id rep_reporte.getBot_aceptar().setMetodo("aceptarReporte");//ejecuta el metodo al aceptar reporte agregarComponente(rep_reporte);//agrega el componente a la pantalla bar_botones.agregarReporte();//aparece el boton de reportes en la barra de botones sel_rep.setId("sel_rep"); //id agregarComponente(sel_rep); //agrego el componente a la pantalla } @Override public void abrirListaReportes() { // TODO Auto-generated method stub rep_reporte.dibujar(); } @Override public void aceptarReporte(){ //Pregunta que reporte selecciono el usuario if (rep_reporte.getReporteSelecionado().equals("Perfiles del Sistema(Ejemplo)")) { abrirPerfilesSistema(); } } private void abrirPerfilesSistema() { //Despliega el reporte de Perfiles del Sistema(Ejemplo) rep_reporte.cerrar(); //cierra la Lista de Reportes map_parametros.clear();//limpiamos los parametros //Agregamos el parametro titulo, el cual se visualizará en el reporte map_parametros.put("titulo", "EJEMPLO REPORTE PERFILES DE USUARIO"); //una ves creado todos los parametros del reporte procedemos a configurar //el objeto SeleccionFormatoReporte para que despliege el reporte en pantalla sel_rep.setSeleccionFormatoReporte(map_parametros, rep_reporte.getPath()); sel_rep.dibujar(); //dibuja el objeto SeleccionFormatoReporte }
Reportes en el Framework
@Override public void insertar() { // TODO Auto-generated method stub } @Override public void guardar() { // TODO Auto-generated method stub } @Override public void eliminar() { // TODO Auto-generated method stub } public Reporte getRep_reporte() { return rep_reporte; } public void setRep_reporte(Reporte rep_reporte) { this.rep_reporte = rep_reporte; } public SeleccionFormatoReporte getSel_rep() { return sel_rep; } public void setSel_rep(SeleccionFormatoReporte sel_rep) { this.sel_rep = sel_rep; } }
Compilamos, ejecutamos el proyecto y verificamos el funcionamiento de la pantalla
NOTA. La complejidad de la configuración de un reporte en el framework depende del reporte, este es un pequeño ejemplo que les enseña la lógica que se debe tener al momento de configurar un reporte.