Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Base de Datos / Base de Datos / iReport / Java / Java / MySQL / Proyectos / Como hacer una factura en Java (Proyecto)

Como hacer una factura en Java (Proyecto)

Por jc mouse lunes, junio 27, 2011

Tiempo atras me pidieron un ejemplo de como realizar un reporte con iReport tipo factura, recibo o como le llamen, complicado no es y se resumen en una consulta a la base de datos para luego mostrar este en un reporte previamente formateado, pues bien me hubiera gustado realizar un tutorial paso a paso de como hacer eso, pero «el tiempo» no perdona asi que mejor alternativa que dejarles el codigo fuente de ejemplo para que el que este interesado, explore este y le saque provecho.

¿Que necesitamos?

  • Un IDE, Netbeans 6.9
  • Un gestor de base de datos MySql
  • La libreria necesaria para conectar Mysql con Java (mysql-connector-java-5.1.6-bin – ultima versión a la fecha)
  • Las librerias necesarias para iReport (Añadidas en el RAR al final)
  • JasperReport para realizar el modelado de la Factura
  • Ganas, muchas Ganas!!!

La base de datos.

Como dije hay diferentes formas de realizar una base de datos sobre ventas, y por lo general en una aplicación comercial, estas cuentan con varias tablas y campos, para el ejemplo, utilizaremos una base de datos muy básica, consta de 4 tablas (CLIENTES,FACTURA,PRODUCTO, DETALLE)

Con esta BD tenemos lo necesario para simular una venta de un producto «X» a un cliente «Y» previamente registrado el cual se almacenara en la tabla FACTURA, ademas los diferentes productos que formen parte de la venta, se almacenaran en la tabla DETALLE.
En a la Tabla Factura, podemos ver un campo Vendedor, este campo por lo general cuenta con su propia tabla y sus propios datos, para fines de este ejemplo lo dejamos solamente como un campo.
Repito, esta es una forma, en otras BD la tabla Factura y  Detalle no existe, y los datos de esta son extraidos de varias tablas que forman la base de datos, todo depende de quien diseñe la Base de Datos.

Tambien en esta ejemplo podremos ver el trabajo mediante la programacion por «Capas», esto quiere decir que se separa la interfaz de la logica del programa, la clase encargada de realizar la comunicacion entre la interfaz y los datos se llama «Control».

Como algunos recibos muestran el total de la transaccion en numero y en literal, podemos ver una clase Numero_a_Letra.java,  la cual realiza dicha conversion. La clase conectate.java encargada de la conexion MySql con Java, la clase Sql.java, en donde se realizan todas las consultas a la base de datos, la clase iFactura, la encargada de mostrar la factura la cual hace uso de los archivos .Jasper y .jrxml.

Tags

Artículos similares

Ejercicios con Hashtable y C#

Ejercicio: Escriba un programa en consola que implemente un Hashtable, cree una clase «Persona«, este será el tipo de da[...]

Crea código HTML5 desde java con j2html

j2html es una biblioteca para java que permite generar código html seguro desde código java utilizando sus propias etiqu[...]

Introducción a Spark Framework

Spark Framework es un conjunto de librerías para los lenguajes Java y Kotlin que nos sirve para el desarrollo rápido y s[...]

Libreria Tojorí – Java/MySQL

Tojorí es una libreria Java/Mysql para la creación de aplicaciones de base de datos utilizando el IDE de Netbeans desde[...]

Crear ventana de ayuda sin JavaHelp

Java Help es (o era) una librería para java que permitía añadir ventanas de ayuda HTML a nuestros proyectos, al ser una[...]

Crea App multilenguaje con Android Studio

En este post aprenderemos los pasos básicos para construir una aplicación android con soporte multilenguaje, utilizaremo[...]