diff --git a/dist/caja.jar b/dist/caja.jar
index d5af263..559d843 100644
Binary files a/dist/caja.jar and b/dist/caja.jar differ
diff --git a/dist/database.sqlite b/dist/database.sqlite
index 6f21ed7..6b4bfee 100644
Binary files a/dist/database.sqlite and b/dist/database.sqlite differ
diff --git a/src/danielcortes/xyz/controllers/IngresosController.java b/src/danielcortes/xyz/controllers/IngresosController.java
index 2523c1b..c870f6a 100644
--- a/src/danielcortes/xyz/controllers/IngresosController.java
+++ b/src/danielcortes/xyz/controllers/IngresosController.java
@@ -158,7 +158,7 @@ public class IngresosController {
this.normalizeInputs();
this.hideErrorMessages();
- String valor = this.view.getValorField().getText();
+ int valor = this.view.getValorField().getValue();
String nroZInicial = this.view.getNroZInicialField().getText();
String nroZFinal = this.view.getNroZFinalField().getText();
String nroInicial = this.view.getNroInicialField().getText();
@@ -208,7 +208,7 @@ public class IngresosController {
this.editing = true;
this.view.getTipoCombo().setSelectedItem(ingreso.getTipoIngreso());
- this.view.getValorField().setText(String.valueOf(ingreso.getValor()));
+ this.view.getValorField().setValue(ingreso.getValor());
this.view.getNroZInicialField().setText(String.valueOf(ingreso.getNroZInicial()));
this.view.getNroZFinalField().setText(String.valueOf(ingreso.getNroZFinal()));
this.view.getNroInicialField().setText(String.valueOf(ingreso.getNroInicial()));
@@ -221,7 +221,7 @@ public class IngresosController {
*/
private void updateTotalIngresos(){
int total = this.ingresoDAO.getTotalIngreso(this.caja);
- this.view.getTotalIngresoField().setText(String.valueOf(total));
+ this.view.getTotalIngresoField().setValue(total);
}
/**
@@ -243,12 +243,12 @@ public class IngresosController {
* Guarda un ingreso tras llamar a validar el input
* Luego de guardar agrega a la tabla el ingreso, llama a limpiar los campos de input y a actualizar el total de ingresos
*/
- private void guardarIngreso(String valor, String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja){
- if(this.validateInput(valor, nroZInicial, nroZFinal, nroInicial, nroFinal, tipoIngreso, caja)){
+ private void guardarIngreso(int valor, String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja){
+ if(this.validateInput(nroZInicial, nroZFinal, nroInicial, nroFinal, tipoIngreso, caja)){
Ingreso ingreso = new Ingreso();
ingreso.setTipoIngreso(tipoIngreso);
ingreso.setCaja(caja);
- ingreso.setValor(Integer.valueOf(valor));
+ ingreso.setValor(valor);
ingreso.setNroZInicial(nroZInicial);
ingreso.setNroZFinal(nroZFinal);
ingreso.setNroInicial(nroInicial);
@@ -267,10 +267,10 @@ public class IngresosController {
* Tras esto actualiza el ingreso en la tabla, llama a actualizar el total de ingresos, a limpiar los campos de input y a desactivar la flag de editing.
*
*/
- private void editarIngreso(String valor, String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja){
- if(this.validateInput(valor, nroZInicial, nroZFinal, nroInicial, nroFinal, tipoIngreso, caja)){
+ private void editarIngreso(int valor, String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja){
+ if(this.validateInput(nroZInicial, nroZFinal, nroInicial, nroFinal, tipoIngreso, caja)){
this.editingIngreso.setTipoIngreso(tipoIngreso);
- this.editingIngreso.setValor(Integer.valueOf(valor));
+ this.editingIngreso.setValor(valor);
this.editingIngreso.setNroZInicial(nroZInicial);
this.editingIngreso.setNroZFinal(nroZFinal);
this.editingIngreso.setNroInicial(nroInicial);
@@ -287,10 +287,9 @@ public class IngresosController {
* Llama a los metodos necesarios para validar el input
* @return true cuando todas las validaciones retoran true, si no, false
*/
- private boolean validateInput(String valor, String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja) {
+ private boolean validateInput(String nroZInicial, String nroZFinal, String nroInicial, String nroFinal, TipoIngreso tipoIngreso, Caja caja) {
this.hideErrorMessages();
- boolean valorValidation = this.validateValor(valor);
boolean nroZInicialValidation = this.validateNroZInicial(nroZInicial);
boolean nroZFinalValidation = this.validateNroZFinal(nroZFinal);
boolean nroInicialValidation = this.validateNroInicial(nroInicial);
@@ -298,7 +297,7 @@ public class IngresosController {
boolean tipoIngresoValidation = this.validateTipoIngreso(tipoIngreso);
boolean cajaValidation = this.validateCaja(caja);
- return valorValidation && tipoIngresoValidation && cajaValidation;
+ return nroZInicialValidation && nroZFinalValidation && nroInicialValidation && nroFinalValidation && tipoIngresoValidation && cajaValidation;
}
/**
@@ -310,44 +309,6 @@ public class IngresosController {
return caja != null;
}
- /**
- * Valida la variable valor contra los casos
- * - Es null
- * - Esta vacio
- * - Los caracteres no son solamente digitos
- * - El largo del string es mayor a 10
- * Cuando el primer caso sea true, colocara un mensaje de error correspondiente en el jlabel correspondiente
- * @return Si cualquiera de estos casos son true se retornara false, si no, se retorna true
- */
- private boolean validateValor(String valor) {
- if (valor == null) {
- this.view.getErrorValor().setText("Hubo un problema con los datos");
- this.view.getErrorValor().setVisible(true);
- return false;
- }
-
- if (valor.isEmpty()) {
- this.view.getErrorValor().setText("El campo esta vacio");
- this.view.getErrorValor().setVisible(true);
- return false;
- }
-
- if (!valor.chars().allMatch(Character::isDigit)) {
- this.view.getErrorValor().setText("Deben ser numeros");
- this.view.getErrorValor().setVisible(true);
- return false;
- }
-
- if(valor.length() > 10){
- this.view.getErrorValor().setText("El numero ingresado es demasiado largo");
- this.view.getErrorValor().setVisible(true);
- return false;
- }
-
- return true;
-
- }
-
/**
* Valida la variable nroInicial contra los casos
* - Es null
@@ -456,7 +417,6 @@ public class IngresosController {
*/
private void hideErrorMessages() {
this.view.getErrorTipoIngreso().setVisible(false);
- this.view.getErrorValor().setVisible(false);
this.view.getErrorNroZInicial().setVisible(false);
this.view.getErrorNroZFinal().setVisible(false);
this.view.getErrorNroInicial().setVisible(false);
@@ -468,6 +428,7 @@ public class IngresosController {
*/
private void clearInputs() {
this.view.getTipoCombo().setSelectedIndex(0);
+ this.view.getValorField().setValue(0);
this.view.getValorField().setText("");
this.view.getNroZInicialField().setText("");
this.view.getNroZFinalField().setText("");
@@ -479,7 +440,6 @@ public class IngresosController {
* Ejecuta un trim sobre todos los jtextfield
*/
private void normalizeInputs(){
- this.view.getValorField().setText(this.view.getValorField().getText().trim());
this.view.getNroZInicialField().setText(this.view.getNroZInicialField().getText().trim());
this.view.getNroZFinalField().setText(this.view.getNroZFinalField().getText().trim());
this.view.getNroInicialField().setText(this.view.getNroInicialField().getText().trim());
diff --git a/src/danielcortes/xyz/views/IngresosView.form b/src/danielcortes/xyz/views/IngresosView.form
index 0b83138..c25b730 100644
--- a/src/danielcortes/xyz/views/IngresosView.form
+++ b/src/danielcortes/xyz/views/IngresosView.form
@@ -65,7 +65,7 @@
-
+
@@ -223,7 +223,7 @@
-
+
diff --git a/src/danielcortes/xyz/views/IngresosView.java b/src/danielcortes/xyz/views/IngresosView.java
index 0f2a86c..cf50b9c 100644
--- a/src/danielcortes/xyz/views/IngresosView.java
+++ b/src/danielcortes/xyz/views/IngresosView.java
@@ -29,6 +29,7 @@ import com.intellij.uiDesigner.core.GridLayoutManager;
import com.intellij.uiDesigner.core.Spacer;
import danielcortes.xyz.models.tipo_ingreso.TipoIngreso;
import danielcortes.xyz.views.components.IngresosTableModel;
+import danielcortes.xyz.views.components.NumberFormatedTextField;
import javax.swing.*;
import javax.swing.table.TableRowSorter;
@@ -39,8 +40,8 @@ public class IngresosView {
private JTable ingresosTable;
private JButton guardarButton;
private JButton eliminarButton;
- private JTextField totalIngresoField;
- private JTextField valorField;
+ private NumberFormatedTextField totalIngresoField;
+ private NumberFormatedTextField valorField;
private JComboBox tipoCombo;
private JLabel errorTipoIngreso;
private JLabel errorValor;
@@ -85,11 +86,11 @@ public class IngresosView {
return eliminarButton;
}
- public JTextField getTotalIngresoField() {
+ public NumberFormatedTextField getTotalIngresoField() {
return totalIngresoField;
}
- public JTextField getValorField() {
+ public NumberFormatedTextField getValorField() {
return valorField;
}
@@ -183,7 +184,7 @@ public class IngresosView {
final JLabel label2 = new JLabel();
label2.setText("Valor");
panel2.add(label2, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
- valorField = new JTextField();
+ valorField = new NumberFormatedTextField();
panel2.add(valorField, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JLabel label3 = new JLabel();
label3.setText("N° Inicial");
@@ -244,7 +245,7 @@ public class IngresosView {
final JLabel label7 = new JLabel();
label7.setText("Total Ingresos");
panel4.add(label7, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_EAST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false));
- totalIngresoField = new JTextField();
+ totalIngresoField = new NumberFormatedTextField();
totalIngresoField.setEditable(false);
panel4.add(totalIngresoField, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false));
final JPanel panel5 = new JPanel();
diff --git a/src/danielcortes/xyz/views/components/EgresosTableModel.java b/src/danielcortes/xyz/views/components/EgresosTableModel.java
index c1f8157..153ff21 100644
--- a/src/danielcortes/xyz/views/components/EgresosTableModel.java
+++ b/src/danielcortes/xyz/views/components/EgresosTableModel.java
@@ -27,16 +27,21 @@ package danielcortes.xyz.views.components;
import danielcortes.xyz.models.egreso.Egreso;
import javax.swing.table.AbstractTableModel;
+import java.text.NumberFormat;
import java.util.ArrayList;
public class EgresosTableModel extends AbstractTableModel {
private String[] columns;
private ArrayList rows;
+ private NumberFormat nf;
+
public EgresosTableModel(){
super();
this.columns = new String[]{"N°", "Descripcion", "Valor", "Tipo"};
this.rows = new ArrayList<>();
+ this.nf = NumberFormat.getIntegerInstance();
+
}
@Override
@@ -86,7 +91,7 @@ public class EgresosTableModel extends AbstractTableModel {
case 1:
return rows.get(row).getDescripcion();
case 2:
- return rows.get(row).getValor();
+ return nf.format(rows.get(row).getValor());
case 3:
return rows.get(row).getTipoEgreso();
}
@@ -97,12 +102,4 @@ public class EgresosTableModel extends AbstractTableModel {
return rows.get(row);
}
- @Override
- public Class> getColumnClass(int columnIndex) {
- if (rows.isEmpty()) {
- return Object.class;
- }
- return getValueAt(0, columnIndex).getClass();
- }
-
}
diff --git a/src/danielcortes/xyz/views/components/IngresosTableModel.java b/src/danielcortes/xyz/views/components/IngresosTableModel.java
index a1d8a35..85f7c4f 100644
--- a/src/danielcortes/xyz/views/components/IngresosTableModel.java
+++ b/src/danielcortes/xyz/views/components/IngresosTableModel.java
@@ -27,16 +27,19 @@ package danielcortes.xyz.views.components;
import danielcortes.xyz.models.ingreso.Ingreso;
import javax.swing.table.AbstractTableModel;
+import java.text.NumberFormat;
import java.util.ArrayList;
public class IngresosTableModel extends AbstractTableModel {
private String[] columns;
private ArrayList rows;
+ private NumberFormat nf;
public IngresosTableModel() {
super();
this.columns = new String[]{"Valor","N° Z Inicial", "N° Z Final", "N° Inicial", "N° Final", "Tipo"};
this.rows = new ArrayList<>();
+ this.nf = NumberFormat.getIntegerInstance();
}
@Override
@@ -76,7 +79,7 @@ public class IngresosTableModel extends AbstractTableModel {
public Object getValueAt(int row, int col) {
switch (col) {
case 0:
- return this.rows.get(row).getValor();
+ return nf.format(this.rows.get(row).getValor());
case 1:
return this.rows.get(row).getNroZInicial();
case 2: