Programa de caja (WIP)

Que es?

Es un pequeño programa pensado para realizar el conteo de dinero en la caja de nuestro restaurant familiar :3 Ademas de tener la capacidad de generar informes en xls.

Como utilizarlo?

Para poder hacer build del programa es necesario importarlo a IntelliJ y hacer build del artifact Programa Caja, por ello esta incluida la carpeta .idea en el repositorio. IntelliJ deberia hacerse cargo de las dependencias del projecto (intente utilizar maven sinceramente pero no funciono muy bien al hacer una build junto desde el IDE).

Luego de hacer la build, en la carpeta dist se encontrara el archivo caja.jar el cual es el ejecutable, junto al el se encuentra el archivo properties que ya esta disponible en el repositorio, en este se puede seleccionar el look and feel que tendra el programa y el sistema de base de datos que se utilizara, por ahora solo tiene soporte para mysql y sqlite, siendo sqlite el que realmente funcionara ya que aun no termino de portar las querys para mysql.

La base de datos actualmente deberia crearse por si misma, los scripts que se utilizan son los que estan en la carpeta database y estos son comprimidos en un zip el cual se guarda en la carpeta data bajo el nombre version_scripts, este es el archivo que el programa buscara para descomprimir y ejecutar los scripts cuando encuentre que no existe base de datos, el objetivo de esto es que la base de datos sea facilmente actualizable agregando un script sql el cual sera ejecutado para actualizar de version. Deberia usar un orm pero no e encontrado uno que realmente me venga bien, tomando en cuenta que estoy usando sqlite y no hay mucho soporte para el en los orm para java.

Screenshots!

Pantalla de ingresos

ingresos

Pantalla de egresos

egresos

Pantalla de arqueo

arqueo

Libro de ventas

libro_de_ventas

Informe de egresos

informe_egreso

Features?

  • Calcula total de ingresos y total de egresos
  • Generacion de informes, en estos momentos genera un informe de libro mensual y uno de egresos.
  • Pueden agregarse distintos tipos de ingresos y egresos facilmente (Aunque los informes deben ser modificados para agregar esta informacion en ellos)
  • Realiza los calculos del arqueo de la caja, comprobando cuanta diferencia existe entre los lo que se a rendido y lo que se debe rendir.
  • Se pueden realizar operaciones matematicas en los campos numericos, como son los campos de valor, efectivo y documentos.
  • Borrador con el que se puede separar el fondo del deposito, se debe indicar el deposito cada vez que se abra, pero ahi esta :3

TODO

  • Informe de libro mensual.
  • Informe de egresos.
  • Alguna especie de borrador para contar el dinero y separar el fondo del deposito antes de ingresarlo en la ventana de arqueo
  • Migrar a un ORM para mejor soporte de base de datos y mayor velocidad (Mi codigo de comunicacion con base de datos no es el mejor).
Description
Primera version de lo que ahora es Zenithar, en el que empeze todo el codigo de nuevo porque no estaba contento en como estaba quedando Quizas ese proyecto lo hago open source algun dia, pero por ahora nop
Readme 51 MiB
Languages
Java 100%