Commit Graph

80 Commits

Author SHA1 Message Date
Daniel Cortes
515cd06001 CalculoFondoDAO Nunca debio dejar de ser una interface 2019-03-07 01:58:29 -03:00
Daniel Cortes
ecb3315bc8 Las cajas pueden ser Empty y tener id = 0
Se debe comprobar para ello. si no se hara una query con un id invalido.
2019-03-07 01:53:03 -03:00
Daniel Cortes
e446cc5bb0 Se limpio un poco el objeto CajaDAO
Primero se crearon bloques try/catch para todos los preparedstatement y
resultsets

Se eliminaron un par de metodos que no se utilizaban
2019-03-07 01:37:17 -03:00
Daniel Cortes
6ea175f06a Se reescribio el informe de egresos
Para lograrlo se realizo el mismo procedimiento que con el informe de
libro de ventas

Primero que nada se elmino el objeto de InformeEgresosContent que se
tenia porque realmente no aportaba nada, era basicamente lo mismo que el
objeto egresos con un campo de fecha añadido y creo que un campo menos.
Por lo que se paso a utilizar el objeto de Egresos directamente.

Debido a lo anterior no era necesario tener una query especial para
juntar los datos, ya que solo eran los egresos de todas las cajas de un
tipo en especifico, por lo que solo se hizo una query nueva en el
EgresoDAO en el que se satisfacia esta necesidad.

Luego fue solo hacer compatible el InformeEgresosToExcel y listo!
2019-03-06 23:49:07 -03:00
Daniel Cortes
0a98bee777 Se reescribio el informe de ventas mensual
Primeramente, se tenia por objetivo reescribir el informe para que este
fuera mas claro y para lograrlo se penso en que en vez de realizar 2
querys grandes en las que se tomaban todos los datos necesarios y se
mapeaban  un objeto el cual se añadia a un array, se realizaran
multiples querys separadas, en las que se irian obteniendo los datos
individualmente y sean juntados en un objeto.

Para esto se debio reescribir parte de SQLiteIngresoDAO, por una parte,
para añadir las querys que obtenian los numeros de boletas y de Z en una
caja para un tipo de ingreso en ademas de la query para obtener el total de
ingresos por un tipo de ingreso en un mes.

Junto con esto, al toparme con un bug, reescribi el como se realizaban
las querys en todo el objeto DAO, dado a que creia que se debia a un
problema donde no se estaban cerrando bien los ResultSets y los
PreparedStatement, aunque al final no fue eso y era simplemente el que
no habia un resultado en la query que se habia realizado.

A partir de aca no sabria bien como describir lo que se realizo, pero se
puede resumir en que encontre redundante el tener 2 paquetes de informe
y un objeto DAO para generar el informe cuando realmente no lo era,
siendo mas un "builder" creo .w.

Por lo que separe todo eso y lo deje en 3 objetos, el LibroDeVentas, el
cual contiene la instancia de un dia de informe, el InformLibroDeVentas,
el cual es un wraper para un hashmap que contiene el libro de ventas y
ademas tiene el metodo que genera el libro, y finalmente el
InformeLibroDeVentasToExcel, el cual pasa el informe a un archivo excel
para la lectura del usuario final.

Finalmente separe el que se guardara el informe automaticamente al
generarlo. para ello cree un objeto aparte, el cual tendra metodos
estaticos para todos los objetos que tenga que guardar eventulamente,
por ahora como solo necesito guardar un Workbook, eso es lo que guarda.

Creo que eso seria todo :3
2019-03-06 01:22:12 -03:00
Daniel Cortes
412e128398 Limpiado modelo de caja
Como consecuencia esto llevo a modificar otras clases que la utilizaban
ya que se decidieron cambiar un par de cosas en su API

- Quitar el que los metodos de update e insert retornaran un booleano,
realmente no era algo necesario y no se estaba utilizando.

- Remplazar el retornar una Caja por retornar un Optional<Caja> en los
metodos de getByFecha y getById, con el fin eliminar un poco los
chequeos de nulls

- El metodo de cajasFromResultSet fue eliminado ya que no lo veia
necesario ya que operaba generaba una List con las cajas obtenidas por
el ResultSet y los de los 2 metodos que la invocaban, solo uno de ellos
necesitaba una lista, el otro solo obtenia el primero de la lista y
continuaba.

- Cambie el necesitar un LocalDate en el metodo que genera las cajas
para un mes, por un objeto con logico para esta situacion, el cual es
YearMonth, esto tuvo como consecuencia la mayoria de los cambios fuera
de esta clase.

- Renombre los metodos para que tuvieran nombres mas agradables para mi,
esto es lo otro que hizo cambiar muchas otras clases.
2019-03-01 22:40:09 -03:00
Daniel Cortes
0045f9da5a Se me olvido modificar el main! 2019-02-27 15:07:40 -03:00
Daniel Cortes
ba15401404 Agregado estilo al titulo
Se me habia olvidado :I
2019-02-27 15:03:39 -03:00
Daniel Cortes
59105566db Creado titulo en el informe
Esto es con el fin de identificar a que local pertence cuando sea
impreso
2019-02-27 14:48:18 -03:00
Daniel Cortes
413857a544 Movido el porcentaje de ppm
Fue movido a la columna B para poder cambiar todas las columnas en el
resumen general a la columna B, con el fin de obtener mayor uniformidad.
2019-02-27 14:38:00 -03:00
Daniel Cortes
94d13af428 Agregado el porcentaje de costo de venta 2019-02-27 14:29:05 -03:00
Daniel Cortes
b72bc1e1de Se corrieron todas las filas 2 filas hacia abajo. 2019-02-27 14:19:07 -03:00
Daniel Cortes
742347d618 Se añadio el campo de otro en servicios
Se habia olvidado hacer previamente
Junto con esto se eliminaron las funciones que generaban los headers y
footers y ahora se hace ese proceso en las funciones que generan cada
seccion.
2019-02-27 13:31:11 -03:00
Daniel Cortes
57d6d62b10 Metodos que creaban dialogos a clases
Se separaron estos metodos para mayor claridad en el codigo y mas facil
reutilizacion de los dialogos ya que ahora me vi en el caso de que me
encontraba utilizando estos metodos  en 2 vistas separadas y me vi
copiando los metodos de una a otra, pero eso no es bonito! asi que las
separe en clases con un solo metodo publico llamado execute el cual
devuelve el objeto que se espera recibir o un null en caso de que el
usuario cancele el dialogo o ocurra algun error.
2019-02-27 02:48:54 -03:00
Daniel Cortes
f5b44f32fe Tenia mal esa suma y estaba considerando cosas que no tenian que ver 2019-02-21 15:34:21 -03:00
Daniel Cortes
ed280ea8ca añadido sistema de auto actualizacion a travez de scripts sql numerados los cuales son almacenados en un simple archivo zip para evitar editarlos por error por un usuario comun )yn (ya si alguien los edita no es mi problema) 2019-02-21 13:30:36 -03:00
Daniel Cortes
e7eb6513dd Se creo una fila en la tabla de cajas en la que se almacena el fondo de esta, la cual sera mostrada en la vista de calcular fondo, donde sera actualizada segun diga el usuario 2019-02-20 14:06:58 -03:00
Daniel Cortes
08da94aba4 Las vistas fueron movidas con tal de conseguir un solo frame de programa y realizar todo el flujo dentro de el 2019-02-19 14:22:41 -03:00
Daniel Cortes
cef6b0f2e9 Tenia un error en el estado resultado, el campo de otros estaba calculando el de telefono, un error al copiar y pegar me imagino 2019-02-16 15:01:37 -03:00
Daniel Cortes
e65ac2bc10 Ahora todos los fields de las vistas vistas se mueven de la misma manera 2019-02-16 14:49:40 -03:00
Daniel Cortes
c2ff258cef Creado el movimiento con escape y enter en la vista de Estado resultado, se extendera a todo el resto el nuevo metodo por ser mas limpio 2019-02-16 14:18:28 -03:00
Daniel Cortes
d06a8f80f5 No me gusto como quedaba el codigo al colocar un boton de salida, por ahora se debera usar el nativo del sistema 2019-02-15 20:35:49 -03:00
Daniel Cortes
ea5bccdaba Se a cambiado la organizacion de las ventanas y se creo la vista de estado resultado junto con su modelo 2019-02-15 19:24:32 -03:00
Daniel Cortes
6388285108 movidas las vistas un poco para mayor claridad, eso espero, no es mi fuerte realmente 2019-02-11 15:28:07 -03:00
Daniel Cortes
e5fe14bf5a El dialog que pregunta por el tipo egreso presentaba mal el texto de este mismo, se ocupo el wraper para solucionarlo 2019-02-05 19:29:34 -03:00
Daniel Cortes
8a3512aa9b En el dialog de mes ahora muestra seleccionado por default el mes actual 2019-02-05 18:42:01 -03:00
Daniel Cortes
d84f07a6c9 Corregido un problema existente con la generacion de informes, fallaba con febrero y probablemente con todos los meses que no tuvieran 31 dias XD 2019-02-05 18:34:06 -03:00
Daniel Cortes
ae5fd8e5bf Nuevamente forzando el locale del sistema, para evitar problemas futuros 2019-02-05 17:41:55 -03:00
Daniel Cortes
f3e52cdf36 Agregada una propiedad que contiene el directorio donde se sugerira guardar los informes generados 2019-02-05 17:33:30 -03:00
Daniel Cortes
3345486ae3 Cambio un poco la estructura en la carpeta dist, ademas y lo principal, se cambio el como funcionan los combobox de las vistas una vez mas, dado a que el intento anterior no funciono, se decidio que era una mejor idea crear un wraper alrededor de los objetos tipoegreso y tipoingreso, el cual hace override del tostring con la finalidad de que se mostraran bien en la vista, un poco feo quizas, pero funciona! 2019-01-22 02:48:38 -03:00
Daniel Cortes
35a908d3bf Terminada la creacion de logs para la capa de base de datos 2019-01-20 23:40:27 -03:00
Daniel Cortes
68f8dc029e Mas logs y actualizacion de los to string de las clases y por ello ademas se tuvo que cambiar el como se renderizaban los combobox de los tipo egreso y tipo ingreso 2019-01-20 20:11:57 -03:00
Daniel Cortes
e6195786b6 Mantencion de archivos, pase a borrar el .idea localmente y perdi un poco el orden de todo, a eso sedeben todos estos commits 2019-01-20 19:11:16 -03:00
Daniel Cortes
52f3f48ddc mantencion de archivos 2019-01-20 19:10:39 -03:00
Daniel Cortes
9fa56f0a0e Movidas un poco las carpetas del repo :3 2019-01-20 18:24:42 -03:00
Daniel Cortes
a26888eac5 Actualizado los gitignore 2019-01-20 17:46:02 -03:00
Daniel Cortes
6904f55c20 Se comienza a incluir logs en el programa, va a hacer falta en el momento que se haga deploy serio 2019-01-20 05:29:33 -03:00
Daniel Cortes
446f10e9f2 Cambiada el nombre de la propiedad para la base de datos actual.
Ademas ahora si no se pueda obtener el jdbc el programa simplemente se cerrara ya que es un estado en el cual no se puede continuar
2019-01-20 02:47:26 -03:00
Daniel Cortes
e2e2412d3a Movida la necesidad de pasaar los objetos dao atravez de los constructores de las clases y se consiguen a travez de una clase estatica la que los crea previamente y simplemente los entrega a la clase que lo pide.
Supongo que dara mayor flexibilidad a cuando se quiera cambiar a un orm o cambiar la conexion a otra base de datos
2019-01-20 02:41:33 -03:00
Daniel Cortes
b14222c875 se ejecuto limpieza del codigo, reformateo del codigo y optimizacion de los imports por parte del IDE 2019-01-20 02:16:59 -03:00
Daniel Cortes
4ddc2b2ee7 Mejorado el manejo del archivo properties respecto como se carga y lee en el resto de clases
la clase responsable cambio de nombre a configuration y ahora tiene un bloque estatico que inicializa el objeto properties y expone el get de este objeto
2019-01-20 02:00:33 -03:00
Daniel Cortes
c36039099b Ahora si los errores relacionados con archivo son tratados correctamente :3! 2019-01-19 19:22:35 -03:00
Daniel Cortes
5ebc2cc7c3 Cambiada la libreria utilizada para manejar los archivos del informe, se usa NIO ahora y deberia estar solucionado los errores con windows. 2019-01-19 19:09:11 -03:00
Daniel Cortes
9ed451ab4f Cambio de nombre de diferencia a deposito en el calculo del fondo. 2019-01-19 17:02:43 -03:00
Daniel Cortes
0d41e533c0 La comprobacion del path estaba hecha al reves :c 2019-01-19 16:55:27 -03:00
Daniel Cortes
0f3955ee34 agregada propiedad para agregarle un nombre de prefijo a las ventanas 2019-01-18 18:56:15 -03:00
Daniel Cortes
5a9455eb4b Agregada una ventana para realizar el calculo del fondo de la caja, es wip, falta la aprobacion del jefe jajaj 2019-01-18 18:43:53 -03:00
Daniel Cortes
30de826ee2 Generalizado el testeo del error con el nombre de archivo a crear para los informes, testea si el path es valido y si no es asi muestra un mensaje de error y sale de la creacion de un informe 2019-01-18 02:02:51 -03:00
Daniel Cortes
0e8d82ae11 Se me habia olvidado agrupar los botones de la vista manager 2019-01-18 01:49:33 -03:00
Daniel Cortes
7b3a1148a1 Generalizado el informe de egresos para que cree el necesitado segun su id 2019-01-16 23:50:39 -03:00