\ No newline at end of file
diff --git a/src/danielcortes/xyz/Main.java b/src/danielcortes/xyz/Main.java
index e73d710..905e6b6 100644
--- a/src/danielcortes/xyz/Main.java
+++ b/src/danielcortes/xyz/Main.java
@@ -54,7 +54,7 @@ import java.sql.SQLException;
import java.util.Locale;
public class Main {
- public static void main(String[] args) throws SQLException {
+ public static void main(String[] args) {
System.setProperty("awt.useSystemAAFontSettings", "on");
System.setProperty("swing.aatext", "true");
diff --git a/src/danielcortes/xyz/controllers/ArqueoController.java b/src/danielcortes/xyz/controllers/ArqueoController.java
index 66db471..0c6bf9d 100644
--- a/src/danielcortes/xyz/controllers/ArqueoController.java
+++ b/src/danielcortes/xyz/controllers/ArqueoController.java
@@ -48,6 +48,14 @@ public class ArqueoController {
private IngresoDAO ingresoDAO;
private EgresoDAO egresoDAO;
+ /**
+ * Crea el controlador y ejecuta el metodo que genera los eventos para su vista.
+ * @param view Vista del arqueo
+ * @param efectivoDAO Data access object para el manejo de efectivo
+ * @param documentosDAO Data access object para el manejo de documentos
+ * @param ingresoDAO Data access object para el manejo de los ingresos
+ * @param egresoDAO Data access object para el manejo de los egresos
+ */
public ArqueoController(ArqueoView view, EfectivoDAO efectivoDAO, DocumentosDAO documentosDAO, IngresoDAO ingresoDAO, EgresoDAO egresoDAO) {
this.view = view;
this.efectivoDAO = efectivoDAO;
@@ -58,17 +66,27 @@ public class ArqueoController {
this.setUpViewEvents();
}
+ /**
+ * Actualiza los campos de documentos, efectivo y resumen con los datos de la caja.
+ * @param caja Caja para la cual se seleccionaran los datos a mostrar
+ */
public void updateCaja(Caja caja) {
this.caja = caja;
- fillDocumentos();
- fillEfectivo();
- fillResumen();
+ this.fillDocumentos();
+ this.fillEfectivo();
+ this.fillResumen();
}
+ /**
+ * Acceso publico para rellenar el resumen
+ */
public void updateResumen() {
this.fillResumen();
}
+ /**
+ * Rellena los campos del efectivo con la instancia de efectivo que pertenece a la caja
+ */
private void fillEfectivo() {
this.efectivo = this.efectivoDAO.findByCaja(this.caja);
this.view.getVeinteMilField().setText(String.valueOf(efectivo.getVeinteMil()));
@@ -82,12 +100,18 @@ public class ArqueoController {
this.view.getDiezField().setText(String.valueOf(efectivo.getDiez()));
}
+ /**
+ * Rellea los campos de documentos con la instancia de documentos que pertenece a la caja
+ */
private void fillDocumentos() {
this.documentos = this.documentosDAO.findByCaja(caja);
this.view.getTarjetasField().setText(String.valueOf(documentos.getTarjetas()));
this.view.getChequesField().setText(String.valueOf(documentos.getCheques()));
}
+ /**
+ * Llama a todos los metodos que llenan y calculan los campos de resumen
+ */
private void fillResumen() {
this.updateResumenEfectivo();
this.updateResumenDocumentos();
@@ -96,6 +120,9 @@ public class ArqueoController {
this.updateResumenArqueo();
}
+ /**
+ * Calcula el total de efectivo y lo muestra en el efectivoField
+ */
private void updateResumenEfectivo() {
JTextField efectivoField = this.view.getEfectivoField();
int total = 0;
@@ -112,6 +139,9 @@ public class ArqueoController {
efectivoField.setText(String.valueOf(total));
}
+ /**
+ * Calcula el total de documentos y lo muestra en el documentosField
+ */
private void updateResumenDocumentos() {
JTextField documentosField = this.view.getDocumentosField();
int total = 0;
@@ -121,16 +151,25 @@ public class ArqueoController {
documentosField.setText(String.valueOf(total));
}
+ /**
+ * Obtiene el total de ingresos para la caja y lo muestra en el campo ingresosField
+ */
private void updateResumenIngresos() {
int total = this.ingresoDAO.getTotalIngreso(this.caja);
this.view.getIngresosField().setText(String.valueOf(total));
}
+ /**
+ * Obtiene el total de egresos y lo muestra en el campo de egresosField
+ */
private void updateResumenEgresos() {
int total = this.egresoDAO.getTotalEgreso(this.caja);
this.view.getEgresosField().setText(String.valueOf(total));
}
+ /**
+ * Calcula los datos de arqueo, rendido y ajuste y los muestra en sus campos correspondientes
+ */
private void updateResumenArqueo() {
int totalEfectivo = Integer.parseInt(this.view.getEfectivoField().getText());
int totalDocumentos = Integer.parseInt(this.view.getDocumentosField().getText());
@@ -152,17 +191,26 @@ public class ArqueoController {
}
+ /**
+ * Setea los eventos de los botones de guardar
+ */
private void setUpViewEvents() {
this.view.getGuardarEfectivoButton().addActionListener(e -> {
this.normalizeEfectivoInput();
+ this.hiddeEfectivoErrorMessages();
this.guardarEfectivo();
});
this.view.getGuardarDocumentosButton().addActionListener(e -> {
this.normalizeDocumentosInput();
+ this.hiddeDocumentosErrorMessages();
this.guardarDocumentos();
});
}
+ /**
+ * Guarda los datos del detalle de efectivo solo despues de que los campos sean validados, luego de guardar
+ * llama a updateResumenEfectivo y updateResumenArqueo para actualizar los datos en efectivoField y arqueoField
+ */
private void guardarEfectivo() {
String diez = this.view.getDiezField().getText();
String cincuenta = this.view.getCincuentaField().getText();
@@ -191,6 +239,10 @@ public class ArqueoController {
}
}
+ /**
+ * Guarda los datos del detalle de documentos solo despues de que los campos sean validados, luego de guardar
+ * llama a updateResumenDocumentos y updateResumenArqueo para actualizar los datos de documentosField y arqueoField
+ */
private void guardarDocumentos() {
String tarjetas = this.view.getTarjetasField().getText();
String cheques = this.view.getChequesField().getText();
@@ -205,8 +257,11 @@ public class ArqueoController {
}
}
+ /**
+ * Llama a las validaciones necesarias para el input de Efectivo
+ * @return si es que paso todas las validaciones.
+ */
private boolean validateEfectivoInput(String diez, String cincuenta, String cien, String quinientos, String mil, String dosMil, String cincoMil, String diezMil, String veinteMil) {
- this.hiddeEfectivoErrorMessages();
boolean diezValidation = validateEfectivoMoneda(diez, this.view.getErrorDiez());
boolean cincuentaValidation = validateEfectivoMoneda(cincuenta, this.view.getErrorCincuenta());
@@ -221,8 +276,11 @@ public class ArqueoController {
return diezValidation && cincuentaValidation && cienValidation && quinientosValidation && milValidation && dosMilValidation && cincoMilValidation && diezMilValidation && veinteMilValidation;
}
+ /**
+ * Llama a las validaciones necesarias el input de Documentos
+ * @return si es que todas las validaciones fueron correctas
+ */
private boolean validateDocumentosInput(String tarjetas, String cheques) {
- this.hiddeDocumentosErrorMessages();
boolean tarjetasValidation = validateDocumentosValor(tarjetas, this.view.getErrorTarjetas());
boolean chequesValidation = validateDocumentosValor(cheques, this.view.getErrorCheques());
@@ -230,6 +288,15 @@ public class ArqueoController {
return tarjetasValidation && chequesValidation;
}
+ /**
+ * Valida el valor entregado contra las siguientes pruebas
+ * - Es null
+ * - Esta vacio
+ * - Los caracteres no son solamente digitos
+ * - El largo es mayor que diez
+ * Setea un mensaje de error correspondiente en el errorLabel entregado.
+ * @return cuando cualquiera de los casos anteriores sea true se retorna falso, si no retorna true.
+ */
private boolean validateEfectivoMoneda(String valor, JLabel errorLabel) {
if (valor == null) {
errorLabel.setText("Hubo un problema con los datos");
@@ -258,6 +325,15 @@ public class ArqueoController {
return true;
}
+ /**
+ * Valida el valor entregado contra las siguientes pruebas
+ * - Es null
+ * - Esta vacio
+ * - Los caracteres no son solamente digitos
+ * - El largo es mayor que diez
+ * Setea un mensaje de error correspondiente en el errorLabel entregado.
+ * @return cuando cualquiera de los casos anteriores sea true se retorna falso, si no retorna true.
+ */
private boolean validateDocumentosValor(String valor, JLabel errorLabel) {
if (valor == null) {
@@ -287,6 +363,9 @@ public class ArqueoController {
return true;
}
+ /**
+ * Esconde los mensajes de error de los campos de efectivo
+ */
private void hiddeEfectivoErrorMessages() {
this.view.getErrorDiez().setVisible(false);
this.view.getErrorCincuenta().setVisible(false);
@@ -299,11 +378,17 @@ public class ArqueoController {
this.view.getErrorVeinteMil().setVisible(false);
}
+ /**
+ * Esconde los mensajes de error en los campos de documentos
+ */
private void hiddeDocumentosErrorMessages(){
this.view.getErrorTarjetas().setVisible(false);
this.view.getErrorCheques().setVisible(false);
}
+ /**
+ * Ejecuta trim sobre todos los campos de efectivo
+ */
private void normalizeEfectivoInput() {
this.view.getDiezField().setText(this.view.getDiezField().getText().trim());
this.view.getCincuentaField().setText(this.view.getCincuentaField().getText().trim());
@@ -316,6 +401,9 @@ public class ArqueoController {
this.view.getVeinteMilField().setText(this.view.getVeinteMilField().getText().trim());
}
+ /**
+ * Ejecuta trim sobre todos los campos de documentos
+ */
private void normalizeDocumentosInput() {
this.view.getChequesField().setText(this.view.getChequesField().getText().trim());
this.view.getTarjetasField().setText(this.view.getTarjetasField().getText().trim());
diff --git a/src/danielcortes/xyz/views/ArqueoView.java b/src/danielcortes/xyz/views/ArqueoView.java
index 934f015..dccb2ec 100644
--- a/src/danielcortes/xyz/views/ArqueoView.java
+++ b/src/danielcortes/xyz/views/ArqueoView.java
@@ -24,6 +24,7 @@
package danielcortes.xyz.views;
+
import com.intellij.uiDesigner.core.GridConstraints;
import com.intellij.uiDesigner.core.GridLayoutManager;
import com.intellij.uiDesigner.core.Spacer;
diff --git a/src/danielcortes/xyz/views/IngresosView.java b/src/danielcortes/xyz/views/IngresosView.java
index 2cef4d8..50e8751 100644
--- a/src/danielcortes/xyz/views/IngresosView.java
+++ b/src/danielcortes/xyz/views/IngresosView.java
@@ -122,6 +122,7 @@ public class IngresosView {
return ingresosTableModel;
}
+
{
// GUI initializer generated by IntelliJ IDEA GUI Designer
// >>> IMPORTANT!! <<<