Páginas

30/3/15

iReport con Oracle PL-SQL y Aplicación Java Web Primefaces. Parte 2.

iReport con Oracle PL-SQL y Aplicación Web.

Tutorial de Jaspersoft iReport 5.6.0 utilizando Oracle PL-SQL y ejecutando el Reporte desde aplicación Java web con Primefaces. Parte 2.




Jaspersoft iReport 5.6.0 utilizando Oracle PL-SQL y JavaYa que en la 1era parte del Tutorial creamos todo lo que tiene que ver con el Jaspersoft iReport y la parte de Oracle PL/SQL en esta 2da parte vamos a crear la aplicación en Java para ejecutar el reporte, como dije anteriormente al momento de compilar el reporte en el Jaspersoft iReport se crean dos archivos en el directorio que hemos elegido, uno con la extensión .jasper y otro con la extensión .jrxml, el que nosotros vamos a ejecutar es el .jasper ya que el otro sirve para que puedas modificarlo en directamente en el iReport, la aplicación que ejecute dicho archivo será web y la vamos a crear con el framework para JSF que se llama Primefaces, hace un tiempo ya hemos hecho un tutorial para crear una aplicación desde 0 con Primefaces obteniendo como resultado una página con un menú, este es el Tutorial, vamos a seguir con ese mismo ejemplo (puedes descargar el proyecto de ese tutorial desde aquí). Para no hacer tan larga esta estrada ya que la misma está centrada en la ejecución del reporte desde una aplicación Java web utilizando Primefaces, vamos a crear en el menú un nuevo ítem, en ese nuevo ítem vamos a ejecutar el reporte que creamos con iReport, así que vamos hacer unas modificaciones pequeñas en el proyecto para llevar a cabo la ejecución del reporte.
Ahora tenemos que crear nuestro managed bean que se encargara de hacer la lógica y mostrar nuestro reporte, primero crearemos un paquete llamado "beansDatoJava" y dentro del mismo crearemos el managed bean llamado "DatoJavaReporteBean" con un método que se llame ejecutarReportePDF el cual vamos a implementar más adelante.

iReport con Oracle PL-SQL y Aplicación Java Web Primefaces. Parte 1.

iReport con Oracle PL-SQL y Aplicación Web.

Tutorial de Jaspersoft iReport 5.6.0 utilizando Oracle PL-SQL y ejecutando el Reporte desde aplicación Java web con Primefaces. Parte 1.




Jaspersoft iReport 5.6.0 utilizando Oracle PL-SQL y JavaPara este Tutorial vamos a utilizar Jaspersoft iReport Designer v5.6.0, Oracle PL-SQL para la base de datos y obviamente Java para ejecutar nuestro reporte en formato PDF, dicho reporte lo vamos a ejecutar desde una aplicación web con Primefaces, vamos a explicar cómo funciona este asunto primero.
Jaspersoft iReport es un diseñador para JasperReports, como sabemos JasperReports es una librería escrita totalmente en Java con la cual podemos crear informes de diferentes tipos, puedes crear/construir un archivo y exportarlo, puedes exportar archivos en varios formatos como por ejemplo: excel, word, xml, pdf, etc. En este Tutorial nos vamos a centrar en la creación de un archivo en .pdf.
Por que deberías usar Jaspersoft iReport?? Primero si eres un programador Java te comento que está hecho 100% en código Java, es de fácil manejo, no tienes que instalar nada, solo se descarga y comienzas a usarlo, aparte de eso es poderoso y fácil de usar, posee múltiples funciones para agregar cuadros de texto, párrafos, separadores, imágenes, sub-reportes, tablas, etc, todo lo que puedas imaginar que lleva un informe en PDF con iReport puedes hacerlo y aparte de eso puedes hacer tu conexión a la base de datos con JDBC y hacerle consultas a la misma ya sea con sql o llamando a un Stored Procedure y los registros que retorne puedes mostrarlos en el reporte, ya quedaron atrás esas librerías en las que uno redactaba todo el contenido del informe dentro del mismo código Java.
Imagina que haces un reporte con esa librería utilitaria en código Java y quieras cambiar una pequeña parte del informe después que el sistema ya paso a producción, bueno tampoco es que es muy difícil, buscar de nuevo dentro del código la parte que quieres editar, hacer el cambio, las pruebas y después coordinar otro pase a producción, un poco fastidioso no?? En fin con iReport solo buscas el archivo que exportaste y lo editas directamente ahí sin tener que tocar tu código Java lo que es una mejor practica de programación.

18/3/15

Estilo y color en celdas Excel desde Java

Estilo y color en celdas Excel desde Java.

Color en reporte Excel desde Java. Estilos en las celdas.

Estilos Excel Java



Para ponerle color a las celdas en un Excel desde Java es fácil, en este ejemplo vamos a construir el Excel (Si no sabes cómo hacerlo puedes aprenderlo aquí), vamos a ponerle color a las celdas dependiendo de un dato que en el mismo Excel se encuentra. Por ejemplo nos dan un requerimiento para un reporte con estas columnas "ID, NOMBRE, INGRESO" y en el mismo se pide:
  • Si el ingreso de un cliente está entre (0 - 100) esta celda debe ser de color ROJO
  • Si el ingreso de un cliente está entre (100 - 600) esta celda debe ser de color AMARILLO
  • Si el ingreso de un cliente es mayor a 600 esta celda debe ser de color VERDE
Después que ya creamos todo el Excel vamos a recorrerlo de nuevo y le vamos a dar el estilo correspondiente dependiendo del ingreso del cliente. Este es el método para que lo hagas:

11/3/15

Tabs/Pestañas en ADF

Tabs/Pestañas en ADF.

Como hacer tabs/pestañas en ADF JSF.




Cuando estamos en un proyecto a veces necesitamos hacer unas pestañas en el front-end, son prácticas y se hacen en una sola página. Para hacer pestañas en ADF es sencillo, aparte de crear las pestañas tenemos que crear su contenido y un backing bean que se encargara de hacer el renderer o mostrar el contenido de la pestaña seleccionada.

Vamos a imaginar que queremos mostrar la información de una cámara en varias pestañas:
  • Vista General.
  • Características.
  • Especificaciones.
Las pestañas deberían mostrarse de esta manera:
ADF tabs

9/3/15

Footer en ADF Table.

Footer en ADF Table.

Footer en ADF Table, JSF y Java.




Es común que en los requerimientos de un proyecto en Java con el framework ADF utilicemos tablas para representar cierta información, a veces nos piden que en esa tabla se muestre una columna al final en donde de ser el caso totalice los datos mostrados de una columna, esto se llama footer y para agregarlo a una tabla en ADF tenemos que utilizar el tag <facet>, no solo se utiliza para hacer una totalización de los datos representados en una columna también sirve para mostrar una especie de leyenda, hay tablas que son tan grandes que los nombres de las columnas estan abreviados y en el footer podríamos poner su respectiva leyenda, una tabla en ADF con footer se veria de esta manera:
footer ADF Table
Obviamente en la imagen anterior se llena la tabla con datos del backing bean, este es el codigo de este dato java para que puedas construir una tabla en ADF con footer:
   
    
     
    
    
     
     
      
       
      
     
    
    
     
     
      
       
      
     
    
    
    
    
    
     
      
     
    
     
Recuerda que tienes que poner un <facet> por cada columna en el caso de que quieras poner un footer en cada columna, de no ser así solo agregas un <facet> en las columnas que sea necesario.

2/3/15

Columnas Anidadas En ADF Table.

Culumnas Anidadas/Agrupadas en ADF Table, JSF.

Culumnas Anidadas/Agrupadas en ADF Table, JSF.




A veces es necesario en una tabla de ADF agrupar varias columnas en una sola, las columnas anidadas son necesarias cuando los datos que queremos representar estan relacionados entre si.

Por ejemplo supongamos que queremos representar los datos de varios carros y motos en una tabla dependiendo de su marca, podríamos hacer columnas anidadas relacionadas a la marca del carro y de la moto:
  • Año
  • Precio
    • USD
    • VEF
    • PEN
  • Tipo
  • Color
Una representación como la lista anterior pero en una tabla con columnas agrupadas debería verse así: Aqui te dejo el codigo para que puedas hacer tablas en ADF core con columnas anidadas:
  
      
       
        
        
        
         
         
         
        
        
        
        
        
       
      
      
       
        
        
        
         
         
         
        
        
        
        
        
       
      
     
 

Recuerda como dije anteriormente en este dato java que siempre que creemos columnas anidadas es porque las mismas estan relacionadas entre si.