@@ -1003,153 +1106,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
@@ -1196,10 +1157,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/database.sqlite b/database.sqlite
index e2c169d..68274fb 100644
Binary files a/database.sqlite and b/database.sqlite differ
diff --git a/src/danielcortes/xyz/controllers/ArqueoController.java b/src/danielcortes/xyz/controllers/ArqueoController.java
index 0c6bf9d..ba81644 100644
--- a/src/danielcortes/xyz/controllers/ArqueoController.java
+++ b/src/danielcortes/xyz/controllers/ArqueoController.java
@@ -36,7 +36,10 @@ import danielcortes.xyz.views.ArqueoView;
import javax.swing.*;
import java.awt.*;
-
+/**
+ * Controlador destinado a la vista ArqueoView
+ * Maneja su contenido y las acciones que esta realiza.
+ */
public class ArqueoController {
private ArqueoView view;
private Caja caja;
@@ -50,11 +53,7 @@ public class ArqueoController {
/**
* 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;
diff --git a/src/danielcortes/xyz/controllers/EgresosController.java b/src/danielcortes/xyz/controllers/EgresosController.java
index 7a0df61..aeee506 100644
--- a/src/danielcortes/xyz/controllers/EgresosController.java
+++ b/src/danielcortes/xyz/controllers/EgresosController.java
@@ -38,6 +38,10 @@ import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+/**
+ * Controlador el cual esta orientado a manejar la vista de EgresosView
+ * Maneja su contenido y las acciones que esta realiza
+ */
public class EgresosController {
private EgresosView view;
private EgresoDAO egresoDAO;
@@ -49,7 +53,7 @@ public class EgresosController {
private Egreso editingEgreso;
/**
- * Crea el controlador, el cual esta acoplado con la vista de egresos, controlando el estado y el contenido de esta
+ * Crea el controlador
* Al inicial ejecuta:
* - Metodo que genera los eventos para la vista.
* - Metodo que llena los tipos de egresos en la vista.
diff --git a/src/danielcortes/xyz/controllers/IngresosController.java b/src/danielcortes/xyz/controllers/IngresosController.java
index edc28be..439f74f 100644
--- a/src/danielcortes/xyz/controllers/IngresosController.java
+++ b/src/danielcortes/xyz/controllers/IngresosController.java
@@ -39,6 +39,10 @@ import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+/**
+ * Controlador el cual esta orientado a manejar la vista de IngresosView
+ * Maneja su contenido y las acciones que esta realiza
+ */
public class IngresosController {
private IngresosView view;
private IngresoDAO ingresoDAO;
@@ -82,7 +86,6 @@ public class IngresosController {
/**
* Guarda la caja ingresada y actualiza el contenido de la tabla de ingresos y el campo de total de ingresos
- * @param caja
*/
public void updateCaja(Caja caja){
this.caja = caja;
diff --git a/src/danielcortes/xyz/controllers/ManagerController.java b/src/danielcortes/xyz/controllers/ManagerController.java
index e00feff..c4985c0 100644
--- a/src/danielcortes/xyz/controllers/ManagerController.java
+++ b/src/danielcortes/xyz/controllers/ManagerController.java
@@ -50,9 +50,17 @@ import javax.swing.*;
import java.awt.*;
import java.time.LocalDate;
-
+/**
+ * Controlador destinado a controlar la vista de ManagerView
+ * Ademas es la que crea las vistas internas en un CardLayaut junto a sus controladores
+ */
public class ManagerController {
private ManagerView view;
+
+ private IngresosController ingresosController;
+ private EgresosController egresosController;
+ private ArqueoController arqueoController;
+
private CajaDAO cajaDAO;
private DocumentosDAO documentosDAO;
private EfectivoDAO efectivoDAO;
@@ -60,10 +68,18 @@ public class ManagerController {
private IngresoDAO ingresoDAO;
private TipoEgresoDAO tipoEgresoDAO;
private TipoIngresoDAO tipoIngresoDAO;
- private IngresosController ingresosController;
- private EgresosController egresosController;
- private ArqueoController arqueoController;
+ /**
+ * Crea el controlador
+ * Necesita todos las interfaces DAO para poder asignarselos a sus vistas,
+ * esto con el objetivo que sean facilmente intercambiables.
+ *
+ * Llama a los metodos que:
+ * - Cargan el contenido del CardLayout
+ * - Selecciona una fecha inicial
+ * - Genera los eventos de la vista
+ * - Presiona el boton de la vista inicial
+ */
public ManagerController(ManagerView view, CajaDAO cajaDAO, DocumentosDAO documentosDAO, EfectivoDAO efectivoDAO, EgresoDAO egresoDAO, IngresoDAO ingresoDAO, TipoEgresoDAO tipoEgresoDAO, TipoIngresoDAO tipoIngresoDAO) {
this.view = view;
this.cajaDAO = cajaDAO;
@@ -79,11 +95,19 @@ public class ManagerController {
this.pressInitialButton();
}
+ /**
+ * Coloca la fecha actual en el datepicker y luego llama a actualizar las cajas de las vistas
+ */
private void setUpDate(){
this.view.getDatePicker().setDateToToday();
this.updateCaja();
}
+ /**
+ * Setea los eventos de los botones y el datepicker
+ * - Cada vez que se cambia la fecha en el datepicker se llama a actualizar la caja
+ * - Cuando se presiona uno de los botones muestra la vista correspondiente en el cardlayout
+ */
private void setUpViewEvents() {
this.view.getEgresosButton().addActionListener(e -> {
CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout();
@@ -93,17 +117,18 @@ public class ManagerController {
CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout();
layout.show(this.view.getCardPanel(), "INGRESOS");
});
-
this.view.getArqueoButton().addActionListener(e -> {
this.arqueoController.updateResumen();
CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout();
layout.show(this.view.getCardPanel(), "ARQUEO");
});
-
this.view.getDatePicker().addDateChangeListener(e -> updateCaja());
}
+ /**
+ * Llama a update caja con la fecha seleccionada en el datepicker en los controladores del manager.
+ */
private void updateCaja(){
LocalDate selectedDate = this.view.getDatePicker().getDate();
Caja caja = this.cajaDAO.findByFecha(selectedDate);
@@ -127,12 +152,18 @@ public class ManagerController {
this.arqueoController.updateCaja(caja);
}
+ /**
+ * Llama a los metodos que cargan las vistas que estaran dentro del cardlayout
+ */
private void loadCardContents() {
this.loadEgresosView();
this.loadIngresosView();
this.loadArqueoView();
}
+ /**
+ * Crea la vista de ingresos, la agrega a el cardlayout y se le es asignado a su controlador
+ */
private void loadIngresosView() {
IngresosView ingresosView = new IngresosView();
@@ -141,6 +172,9 @@ public class ManagerController {
this.ingresosController = new IngresosController(ingresosView, this.ingresoDAO, this.tipoIngresoDAO);
}
+ /**
+ * Crea la vista de egresos, la agrega a el cardlayout y se le es asignado a su controlador
+ */
private void loadEgresosView() {
EgresosView egresosView = new EgresosView();
@@ -149,6 +183,9 @@ public class ManagerController {
this.egresosController = new EgresosController(egresosView, this.egresoDAO, this.tipoEgresoDAO);
}
+ /**
+ * Crea la vista de arqueo, la agrega a el cardlayout y se le es asignado a su controlador
+ */
private void loadArqueoView() {
ArqueoView arqueoView = new ArqueoView();
@@ -157,6 +194,9 @@ public class ManagerController {
this.arqueoController = new ArqueoController(arqueoView, this.efectivoDAO, this.documentosDAO, this.ingresoDAO, this.egresoDAO);
}
+ /**
+ * Activa el primer boton del manager
+ */
private void pressInitialButton() {
this.view.getIngresosButton().doClick();
}