Jinventio: Sistema de Inventario y Ventas Java MySQL

Jinventio es un Sistema o Aplicación de Escritorio donde puedes llevar el control de tu Inventario y Ventas desarrollado con NetBeans, Java y MySQL.

El programa Jinventio lo puedes importar al NetBeans y modificarlo de acuerdo a tus necesidades.

Sistema o Aplicación Jinventio Control de Inventario y Ventas con Java y MySQL
Sistema o Aplicación Jinventio Control de Inventario y Ventas con Java y MySQL

Video demostrativo

Requisitos

  • NetBeans IDE
  • Java 21, Swing (interfaz construida con el GUI Builder de NetBeans, Matisse)
  • MySQL vía JDBC plano (mysql-connector-j)
  • Apache PDFBox para la generación de tickets de venta y compra en PDF
  • Maven

Componentes

Los componentes con los que cuenta el sistema Jinventio son los siguientes:

  • Búsqueda de productos en vivo: filtra por código de barras o nombre conforme escribes
  • Carrito de venta/compra: doble clic en un producto lo agrega, si ya está incrementa la cantidad; cantidad editable con recálculo automático de subtotal y total
  • Modo Venta / Modo Compra: la misma ventana principal cambia de comportamiento según el ítem de menú seleccionado (itemVenta / itemCompra)
  • Selector de Cliente o Proveedor: muestra Clientes en modo Venta o Proveedores en modo Compra
  • Cobro: valida que el efectivo cubra el total y que haya existencia suficiente de cada producto antes de registrar la operación
  • Descargar ticket en PDF: al cobrar una venta o registrar una compra, genera y descarga el ticket correspondiente en formato PDF
  • Quitar del carrito: clic derecho sobre una línea para eliminarla
  • Ventana de Catálogo: administración de Categorías, Productos, Clientes y Proveedores en una sola ventana, con menú lateral, formulario dinámico y tabla con edición por doble clic y borrado por clic derecho
  • Ver Ventas / Ver Compras: listado con fecha, cliente o proveedor, total y efectivo
  • Ver Inventario: listado de productos con existencia calculada e inventario mínimo configurado

Archivos del Proyecto

Aquí te explico lo que hace cada archivo del proyecto.

ArchivoQué hace
MainJFrame.javaVentana principal: punto de venta/compra (búsqueda, carrito, cobro con validación de efectivo y existencia) y menú de acceso al resto de ventanas.
TicketGenerator.javaGenera y descarga el PDF del ticket de venta o compra con PDFBox.
catalogFrame.javaAdministración de Categorías, Productos, Clientes y Proveedores en una sola ventana con formulario dinámico.
sellsFrame.javaListado de ventas o compras según el operation_type_id recibido en el constructor.
inventoryFrame.javaListado de productos con existencia calculada e inventario mínimo.
DBConnection.javaAbre conexiones JDBC a MySQL leyendo db.properties del classpath.
Category.javaModelo de la tabla category.
CategoryDAO.javaCRUD de category.
Product.javaModelo de la tabla product.
ProductDAO.javaCRUD de product, findByBarcode, findActive, findByCategory.
Person.javaModelo de la tabla person (clientes y proveedores).
PersonDAO.javaCRUD de person, findByKind.
PersonKind.javaEnum del campo kind de person: CLIENT(1), PROVIDER(2).
OperationType.javaModelo de operation_type y constantes ENTRADA(1)/SALIDA(2).
OperationTypeDAO.javaLectura de operation_type (findById, findAll).
Box.javaModelo de la tabla box.
BoxDAO.javaAlta y lectura de box.
Sell.javaModelo de la tabla sell (cabecera de venta o compra).
SellDAO.javaCRUD de sell, findByPerson, findByOperationType, y createWithDetails (venta/compra + líneas de operation en una transacción).
Operation.javaModelo de la tabla operation (línea de entrada/salida de inventario).
OperationDAO.javaCRUD de operation, findByProduct, findBySell, currentStock (existencia = entradas − salidas).

Base de datos

El esquema de la base de datos se encuentra en jinventio/schema.sql. Contiene las tablas necesarias para el registro de inventario, ventas y compras: category, product, person (clientes/proveedores, con el campo kind), operation_type (1=entrada, 2=salida), box, sell y operation.

  • box
  • category
  • operation
  • operation_type
  • person
  • product
  • sell

Descargar

A continuación los enlaces de descarga y del proyecto Jinventio en GitHub.

Para ejecutar el proyecto debes realizar lo siguiente:

  1. Descargar el proyecto
  2. Importarlo desde el NetBeans
  3. Instalar la base de datos en MySQL
  4. Modificar el archivo src/main/resources/db.properties con tu host/usuario/contraseña de MySQL
  5. Ejecutar el proyecto en NetBeans

Más Recursos

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Evilnapsis

Subscribe now to keep reading and get access to the full archive.

Continue reading