From ca6970a1badbecf49fff91113bb2b91b165a036e Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Thu, 27 Dec 2018 15:00:42 -0300 Subject: [PATCH] Build rota pero avanzando para conseguir que todo funcione unido a una caja --- caja.iml | 4 +- database/create.sql | 107 +++-- pom.xml | 2 + src/main/java/danielcortes/xyz/Main.java | 19 +- .../xyz/controllers/ArqueoController.java | 76 ++++ .../xyz/controllers/EgresosController.java | 162 +++++--- .../xyz/controllers/IngresosController.java | 107 ++++- .../xyz/controllers/ManagerController.java | 64 ++- .../xyz/data/MysqlConnection.java | 16 +- .../danielcortes/xyz/data/Properties.java | 52 +++ .../danielcortes/xyz/models/caja/Caja.java | 48 +++ .../danielcortes/xyz/models/caja/CajaDAO.java | 36 ++ .../xyz/models/caja/MysqlCajaDAO.java | 164 ++++++++ .../xyz/models/efectivo/Efectivo.java | 118 ++++++ .../xyz/models/efectivo/EfectivoDAO.java | 36 ++ .../xyz/models/efectivo/MysqlEfectivoDAO.java | 205 ++++++++++ .../xyz/models/egreso/Egreso.java | 2 +- .../xyz/models/egreso/MysqlEgresoDAO.java | 10 +- .../xyz/models/ingreso/Ingreso.java | 10 + .../xyz/models/ingreso/IngresoDAO.java | 4 +- .../xyz/models/ingreso/MysqlIngresoDAO.java | 41 +- .../danielcortes/xyz/views/ArqueoView.form | 372 ++++++++++++++++++ .../danielcortes/xyz/views/ArqueoView.java | 296 ++++++++++++++ .../danielcortes/xyz/views/EgresosView.form | 15 +- .../danielcortes/xyz/views/EgresosView.java | 121 ++++++ .../danielcortes/xyz/views/IngresosView.form | 12 +- .../danielcortes/xyz/views/IngresosView.java | 94 ++++- .../danielcortes/xyz/views/ManagerView.form | 21 +- .../danielcortes/xyz/views/ManagerView.java | 69 ++++ .../views/components/EgresosTableModel.java | 7 +- .../views/components/IngresosTableModel.java | 24 +- src/main/resources/META-INF/MANIFEST.MF | 3 + src/main/resources/data.template.json | 10 - 33 files changed, 2163 insertions(+), 164 deletions(-) create mode 100644 src/main/java/danielcortes/xyz/controllers/ArqueoController.java create mode 100644 src/main/java/danielcortes/xyz/data/Properties.java create mode 100644 src/main/java/danielcortes/xyz/models/caja/Caja.java create mode 100644 src/main/java/danielcortes/xyz/models/caja/CajaDAO.java create mode 100644 src/main/java/danielcortes/xyz/models/caja/MysqlCajaDAO.java create mode 100644 src/main/java/danielcortes/xyz/models/efectivo/Efectivo.java create mode 100644 src/main/java/danielcortes/xyz/models/efectivo/EfectivoDAO.java create mode 100644 src/main/java/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java create mode 100644 src/main/java/danielcortes/xyz/views/ArqueoView.form create mode 100644 src/main/java/danielcortes/xyz/views/ArqueoView.java create mode 100644 src/main/resources/META-INF/MANIFEST.MF delete mode 100644 src/main/resources/data.template.json diff --git a/caja.iml b/caja.iml index 5ea7b5b..bb76540 100644 --- a/caja.iml +++ b/caja.iml @@ -1,6 +1,6 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/database/create.sql b/database/create.sql index 5a0e730..93e530a 100644 --- a/database/create.sql +++ b/database/create.sql @@ -26,49 +26,92 @@ drop table if exists egresos; drop table if exists tipos_egreso; drop table if exists ingresos; drop table if exists tipos_ingreso; +drop table if exists efectivos; +drop table if exists documentos; +drop table if exists caja; -create table tipos_egreso( - id int(10) unsigned primary key auto_increment, +create table caja +( + id int(10) unsigned primary key auto_increment, + fecha date not null +); + +create table tipos_egreso +( + id int(10) unsigned primary key auto_increment, nombre varchar(191) not null ); -create table egresos( - id int(10) unsigned primary key auto_increment, - nro varchar(191) not null, - descripcion varchar(191) not null, - valor int(10) not null, +create table egresos +( + id int(10) unsigned primary key auto_increment, + nro varchar(191) not null, + descripcion varchar(191) not null, + valor int(10) not null, tipo_egreso_id int(10) unsigned not null, - foreign key fk_tipo_id(tipo_egreso_id) references tipos_egreso(id) on update cascade on delete restrict + caja_id int(10) unsigned not null, + foreign key fk_egresos_tipo_egreso (tipo_egreso_id) references tipos_egreso (id) on update cascade on delete restrict, + foreign key fk_egresos_caja (caja_id) references caja (id) on update cascade on delete restrict ); - -create table tipos_ingreso( - id int(10) unsigned primary key auto_increment, +create table tipos_ingreso +( + id int(10) unsigned primary key auto_increment, nombre varchar(191) not null ); -create table ingresos( - id int(10) unsigned primary key auto_increment, - valor int(10) not null, +create table ingresos +( + id int(10) unsigned primary key auto_increment, + valor int(10) not null, tipo_ingreso_id int(10) unsigned not null, - foreign key fk_tipo_ingreso(tipo_ingreso_id) references tipos_ingreso(id) on update cascade on delete restrict + caja_id int(10) unsigned not null, + foreign key fk_tipo_ingreso (tipo_ingreso_id) references tipos_ingreso (id) on update cascade on delete restrict, + foreign key fk_ingresos_caja (caja_id) references caja (id) on update cascade on delete restrict ); -insert into tipos_egreso (nombre) values -('Guia Materia Prima'), -('Factura Materia Prima'), -('Factura Gastos Generales'), -('Pago Partime'), -('Gasto Menor Materia Prima'), -('Gasto General Sin Respaldo'), -('Gasto General Con Boleta'), -('Anticipo Arriendo'), -('Anticipo Personal'), -('Retiros Gerencia'), -('Otro'); +create table efectivos +( + id int(10) unsigned primary key auto_increment, + veinte_mil int(10) not null, + diez_mil int(10) not null, + cinco_mil int(10) not null, + dos_mil int(10) not null, + mil int(10) not null, + quinientos int(10) not null, + cien int(10) not null, + cincuenta int(10) not null, + diez int(10) not null, + caja_id int(10) unsigned not null, + foreign key fk_efectivos_caja (caja_id) references caja (id) on update cascade on delete restrict +); + +create table documentos +( + id int(10) unsigned primary key auto_increment, + cheques int(10) not null, + tarjetas int(10) not null, + caja_id int(10) unsigned not null, + foreign key fk_documentos_caja (caja_id) references caja (id) on update cascade on delete restrict +); + + +insert into tipos_egreso (nombre) +values ('Factura Materia Prima'), + ('Factura Gastos Generales'), + ('Gasto Menor Materia Prima'), + ('Gasto General Sin Respaldo'), + ('Gasto General Con Boleta'), + ('Guia Materia Prima'), + ('Anticipo Arriendo'), + ('Anticipo Personal'), + ('Pago Partime'), + ('Retiros Gerencia'), + ('Otro'); + +insert into tipos_ingreso (nombre) +values ('Boletas Fiscales'), + ('Boletas Manuales'), + ('Facturas'), + ('Guias') -insert into tipos_ingreso (nombre) values -('Boletas Fiscales'), -('Boletas Manuales'), -('Facturas'), -('Guias') diff --git a/pom.xml b/pom.xml index cea5533..e5a5efc 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,8 @@ 3.8.0 8 + 9 + 9 diff --git a/src/main/java/danielcortes/xyz/Main.java b/src/main/java/danielcortes/xyz/Main.java index d8588eb..814b148 100644 --- a/src/main/java/danielcortes/xyz/Main.java +++ b/src/main/java/danielcortes/xyz/Main.java @@ -25,30 +25,39 @@ package danielcortes.xyz; import danielcortes.xyz.controllers.ManagerController; +import danielcortes.xyz.data.Properties; +import danielcortes.xyz.models.caja.CajaDAO; +import danielcortes.xyz.models.caja.MysqlCajaDAO; import danielcortes.xyz.views.ManagerView; import javax.swing.*; +import java.util.Locale; public class Main { - private static final String lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; public static void main(String[] args) { + + System.setProperty("awt.useSystemAAFontSettings", "on"); + System.setProperty("swing.aatext", "true"); + try { - UIManager.setLookAndFeel(lookAndFeel); + UIManager.setLookAndFeel(Properties.getInstance().getProperty("look_and_feel")); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { e.printStackTrace(); } + Locale.setDefault(new Locale("es")); + CajaDAO cajaDAO = new MysqlCajaDAO(); ManagerView view = new ManagerView(); - ManagerController managerController = new ManagerController(view); + ManagerController managerController = new ManagerController(view, cajaDAO); JFrame frame = new JFrame("Caja"); frame.setContentPane(view.getContentPanel()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setSize(1300,700); + frame.setSize(780, 450); + //frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); - } } diff --git a/src/main/java/danielcortes/xyz/controllers/ArqueoController.java b/src/main/java/danielcortes/xyz/controllers/ArqueoController.java new file mode 100644 index 0000000..cd36051 --- /dev/null +++ b/src/main/java/danielcortes/xyz/controllers/ArqueoController.java @@ -0,0 +1,76 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.controllers; + +import danielcortes.xyz.models.efectivo.Efectivo; +import danielcortes.xyz.models.efectivo.EfectivoDAO; +import danielcortes.xyz.views.ArqueoView; + +import java.util.ArrayList; +import java.util.List; + +public class ArqueoController { + private ArqueoView view; + private EfectivoDAO efectivoDAO; + + public ArqueoController(ArqueoView view, EfectivoDAO efectivoDAO) { + this.view = view; + this.efectivoDAO = efectivoDAO; +// this.fillEfectivo(); +// this.fillDocumentos(); +// this.fillDocumentos(); + } + + + private void fillEfectivo(){ + List efectivoList = this.efectivoDAO.findAll(); + if(efectivoList.size() > 0) { + Efectivo efectivo = efectivoList.get(0); + this.view.getVeinteMilField().setText(String.valueOf(efectivo.getVeinteMil())); + this.view.getDiezField().setText(String.valueOf(efectivo.getDiezMil())); + this.view.getCincoMilField().setText(String.valueOf(efectivo.getCincoMil())); + this.view.getDosMilField().setText(String.valueOf(efectivo.getDosMil())); + this.view.getMilField().setText(String.valueOf(efectivo.getMil())); + this.view.getQuinientosField().setText(String.valueOf(efectivo.getQuinientos())); + this.view.getCienField().setText(String.valueOf(efectivo.getCien())); + this.view.getCincuentaField().setText(String.valueOf(efectivo.getCincuenta())); + this.view.getDiezField().setText(String.valueOf(efectivo.getDiez())); + } + } + + private void fillResumen(){ + List efectivoList = this.efectivoDAO.findAll(); + if(efectivoList.size() > 0) { + Efectivo efectivo = efectivoList.get(0); + int total = this.efectivoDAO.getTotalEfectivo(efectivo); + this.view.getEfectivoField().setText(String.valueOf(total)); + } + } + + private void fillDocumentos(){ + + } + +} diff --git a/src/main/java/danielcortes/xyz/controllers/EgresosController.java b/src/main/java/danielcortes/xyz/controllers/EgresosController.java index f303b87..9654d3c 100644 --- a/src/main/java/danielcortes/xyz/controllers/EgresosController.java +++ b/src/main/java/danielcortes/xyz/controllers/EgresosController.java @@ -34,108 +34,166 @@ import danielcortes.xyz.views.components.EgresosTableModel; import javax.swing.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; public class EgresosController { private EgresosView view; private EgresoDAO egresoDAO; private TipoEgresoDAO tipoEgresoDAO; - public EgresosController(EgresosView view, EgresoDAO egresoDAO, TipoEgresoDAO tipoEgresoDAO){ + private int editingId; + private boolean editing; + private Egreso editingEgreso; + + public EgresosController(EgresosView view, EgresoDAO egresoDAO, TipoEgresoDAO tipoEgresoDAO) { this.view = view; this.egresoDAO = egresoDAO; this.tipoEgresoDAO = tipoEgresoDAO; - this.setUpViewEvents(); - this.fillEgresosTable(); - this.fillTipoEgresoCombo(); - this.updateTotalEgresos(); - this.updateEliminarButton(); +// this.setUpViewEvents(); +// this.fillEgresosTable(); +// this.fillTipoEgresoCombo(); +// this.updateTotalEgresos(); +// this.updateButtonsEnabled(); + } + + public EgresoDAO getEgresoDAO() { + return egresoDAO; + } + + public TipoEgresoDAO getTipoEgresoDAO() { + return tipoEgresoDAO; } private void fillTipoEgresoCombo() { JComboBox tipoCombo = view.getTipoCombo(); - for(TipoEgreso tipoEgreso : this.tipoEgresoDAO.findAll()){ - tipoCombo.addItem(tipoEgreso); + for (TipoEgreso tipoEgreso : this.tipoEgresoDAO.findAll()) { + tipoCombo.addItem(tipoEgreso); } } private void fillEgresosTable() { EgresosTableModel egresosTableModel = view.getEgresosTableModel(); - for(Egreso egreso: this.egresoDAO.findAll()){ + for (Egreso egreso : this.egresoDAO.findAll()) { egresosTableModel.addRow(egreso); } } - private void setUpViewEvents(){ + private void setUpViewEvents() { this.view.getEgresosTable().getSelectionModel().addListSelectionListener(e -> onSelectTableRowListener()); this.view.getGuardarButton().addActionListener(e -> guardarActionListener()); this.view.getEliminarButton().addActionListener(e -> eliminarActionListener()); + this.view.getEditarButton().addActionListener(e -> editarActionListener()); this.view.getDescripcionField().addActionListener(e -> guardarActionListener()); this.view.getNroField().addActionListener(e -> guardarActionListener()); this.view.getValorField().addActionListener(e -> guardarActionListener()); this.view.getTipoCombo().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { - if(e.getKeyCode() == KeyEvent.VK_ENTER){ + if (e.getKeyCode() == KeyEvent.VK_ENTER) { guardarActionListener(); } } }); + this.view.getEgresosTable().addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent mouseEvent) { + JTable table = (JTable) mouseEvent.getSource(); + if (mouseEvent.getClickCount() == 2 && table.getSelectedRow() != -1) { + EgresosController.this.editarActionListener(); + } + } + }); } - private void guardarActionListener(){ + private void guardarActionListener() { String nro = this.view.getNroField().getText(); String descripcion = this.view.getDescripcionField().getText(); String valor = this.view.getValorField().getText(); TipoEgreso tipo = (TipoEgreso) this.view.getTipoCombo().getSelectedItem(); - if(this.validateInput(nro, descripcion, valor, tipo)){ - Egreso egreso = this.createEgreso(nro, descripcion, valor, tipo); - this.view.getEgresosTableModel().addRow(egreso); - this.updateTotalEgresos(); - this.clearInputs(); + if(editing){ + this.editarEgreso(nro, descripcion, valor, tipo); + }else { + this.guardarEgreso(nro, descripcion, valor, tipo); } this.resetFocus(); } - private void eliminarActionListener(){ + private void eliminarActionListener() { int selectedID = this.view.getEgresosTable().getSelectedRow(); - if(selectedID >= 0) { + if (selectedID >= 0) { Egreso egreso = this.view.getEgresosTableModel().getEgreso(selectedID); this.view.getEgresosTableModel().removeRow(selectedID); this.egresoDAO.deleteEgreso(egreso); this.updateTotalEgresos(); - this.updateEliminarButton(); + this.updateButtonsEnabled(); } } - private void onSelectTableRowListener(){ - this.view.getEliminarButton().setEnabled(true); + private void editarActionListener() { + int selectedID = this.view.getEgresosTable().getSelectedRow(); + if (selectedID >= 0) { + Egreso egreso = this.view.getEgresosTableModel().getEgreso(selectedID); + + this.editingId = selectedID; + this.editingEgreso = egreso; + this.editing = true; + + this.view.getNroField().setText(egreso.getNro()); + this.view.getDescripcionField().setText(egreso.getDescripcion()); + this.view.getValorField().setText(String.valueOf(egreso.getValor())); + this.view.getTipoCombo().setSelectedItem(egreso.getTipoEgreso()); + } } - private void updateTotalEgresos(){ + private void onSelectTableRowListener() { + this.view.getEliminarButton().setEnabled(true); + this.view.getEditarButton().setEnabled(true); + } + + private void updateTotalEgresos() { int total = this.egresoDAO.getTotalEgreso(); this.view.getTotalEgresosField().setText(String.valueOf(total)); } - private void updateEliminarButton() { - if(this.view.getEgresosTable().getSelectedRow()>=0){ + private void updateButtonsEnabled() { + if (this.view.getEgresosTable().getSelectedRow() >= 0) { this.view.getEliminarButton().setEnabled(true); - }else{ + this.view.getEditarButton().setEnabled(true); + } else { this.view.getEliminarButton().setEnabled(false); + this.view.getEditarButton().setEnabled(false); } } - private Egreso createEgreso(String nro, String descripcion, String valor, TipoEgreso tipo){ - Egreso egreso = new Egreso(); - egreso.setValor(Integer.valueOf(valor)); - egreso.setDescripcion(descripcion); - egreso.setNro(nro); - egreso.setTipo(tipo); - egresoDAO.insertEgreso(egreso); - return egreso; - + private void guardarEgreso(String nro, String descripcion, String valor, TipoEgreso tipo) { + if (this.validateInput(nro, descripcion, valor, tipo)) { + Egreso egreso = new Egreso(); + egreso.setValor(Integer.valueOf(valor)); + egreso.setDescripcion(descripcion); + egreso.setNro(nro); + egreso.setTipo(tipo); + egresoDAO.insertEgreso(egreso); + this.view.getEgresosTableModel().addRow(egreso); + this.updateTotalEgresos(); + this.clearInputs(); + } } - private boolean validateInput(String nro, String descripcion, String valor, TipoEgreso tipoEgreso){ + private void editarEgreso(String nro, String descripcion, String valor, TipoEgreso tipo) { + if (this.validateInput(nro, descripcion, valor, tipo)) { + this.editingEgreso.setValor(Integer.valueOf(valor)); + this.editingEgreso.setDescripcion(descripcion); + this.editingEgreso.setNro(nro); + this.editingEgreso.setTipo(tipo); + egresoDAO.updateEgreso(this.editingEgreso); + this.view.getEgresosTableModel().setEgreso(this.editingId, this.editingEgreso); + this.updateTotalEgresos(); + this.clearInputs(); + this.editing = false; + } + } + + private boolean validateInput(String nro, String descripcion, String valor, TipoEgreso tipoEgreso) { this.hideErrorMessages(); boolean nroValidation = this.validateNro(nro); @@ -146,15 +204,15 @@ public class EgresosController { return nroValidation && descripcionValidation && valorValidation && tipoEgresoValidation; } - private boolean validateNro(String nro){ - if(nro == null){ + private boolean validateNro(String nro) { + if (nro == null) { this.view.getErrorNumero().setText("Hubo un problema con los datos"); this.view.getErrorNumero().setVisible(true); return false; } nro = nro.trim(); - if(nro.isEmpty()){ + if (nro.isEmpty()) { this.view.getErrorNumero().setText("El campo esta vacio"); this.view.getErrorNumero().setVisible(true); return false; @@ -163,15 +221,15 @@ public class EgresosController { } - private boolean validateDescripcion(String descripcion){ - if(descripcion == null){ + private boolean validateDescripcion(String descripcion) { + if (descripcion == null) { this.view.getErrorDescripcion().setText("Hubo un problema con los datos"); this.view.getErrorDescripcion().setVisible(true); return false; } descripcion = descripcion.trim(); - if(descripcion.isEmpty()){ + if (descripcion.isEmpty()) { this.view.getErrorDescripcion().setText("El campo esta vacio"); this.view.getErrorDescripcion().setVisible(true); return false; @@ -179,27 +237,27 @@ public class EgresosController { return true; } - private boolean validateValor(String valor){ - if(valor == null){ + 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; } valor = valor.trim(); - if(valor.isEmpty()){ + if (valor.isEmpty()) { this.view.getErrorValor().setText("El campo esta vacio"); this.view.getErrorValor().setVisible(true); return false; } - if(!valor.chars().allMatch(Character::isDigit)){ + if (!valor.chars().allMatch(Character::isDigit)) { this.view.getErrorValor().setText("Deben ser numeros"); this.view.getErrorValor().setVisible(true); return false; } - if(valor.length() > 10){ + if (valor.length() > 10) { this.view.getErrorValor().setText("El numero ingresado es demasiado largo"); this.view.getErrorValor().setVisible(true); return false; @@ -209,8 +267,8 @@ public class EgresosController { } - private boolean validateTipoEgreso(TipoEgreso tipoEgreso){ - if(tipoEgreso == null){ + private boolean validateTipoEgreso(TipoEgreso tipoEgreso) { + if (tipoEgreso == null) { this.view.getErrorTipoEgreso().setText("Hubo un problema con los datos"); this.view.getErrorTipoEgreso().setVisible(true); return false; @@ -218,21 +276,21 @@ public class EgresosController { return true; } - private void hideErrorMessages(){ + private void hideErrorMessages() { this.view.getErrorTipoEgreso().setVisible(false); this.view.getErrorValor().setVisible(false); this.view.getErrorDescripcion().setVisible(false); this.view.getErrorNumero().setVisible(false); } - private void clearInputs(){ + private void clearInputs() { this.view.getTipoCombo().setSelectedIndex(0); this.view.getNroField().setText(""); this.view.getValorField().setText(""); this.view.getDescripcionField().setText(""); } - private void resetFocus(){ + private void resetFocus() { this.view.getNroField().requestFocus(); } } diff --git a/src/main/java/danielcortes/xyz/controllers/IngresosController.java b/src/main/java/danielcortes/xyz/controllers/IngresosController.java index f2f706d..75741ea 100644 --- a/src/main/java/danielcortes/xyz/controllers/IngresosController.java +++ b/src/main/java/danielcortes/xyz/controllers/IngresosController.java @@ -24,6 +24,7 @@ package danielcortes.xyz.controllers; +import danielcortes.xyz.models.caja.Caja; import danielcortes.xyz.models.ingreso.Ingreso; import danielcortes.xyz.models.ingreso.IngresoDAO; import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; @@ -34,21 +35,40 @@ import danielcortes.xyz.views.components.IngresosTableModel; import javax.swing.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; public class IngresosController { private IngresosView view; private IngresoDAO ingresoDAO; private TipoIngresoDAO tipoIngresoDAO; + private Caja caja; + + private int editingId; + private Ingreso editingIngreso; + private boolean editing; public IngresosController(IngresosView view, IngresoDAO ingresoDAO, TipoIngresoDAO tipoIngresoDAO) { this.view = view; this.ingresoDAO = ingresoDAO; this.tipoIngresoDAO = tipoIngresoDAO; this.fillTipoIngresoCombo(); - this.fillIngresosTable(); this.setupViewEvents(); + this.updateButtonsEnabled(); + } + + public IngresoDAO getIngresoDAO() { + return ingresoDAO; + } + + public TipoIngresoDAO getTipoIngresoDAO() { + return tipoIngresoDAO; + } + + public void updateCaja(Caja caja){ + this.caja = caja; + this.fillIngresosTable(); this.updateTotalIngresos(); - this.updateEliminarButton(); } private void fillTipoIngresoCombo() { @@ -60,7 +80,8 @@ public class IngresosController { private void fillIngresosTable() { IngresosTableModel ingresosTableModel = this.view.getIngresosTableModel(); - for (Ingreso ingreso : this.ingresoDAO.findAll()) { + ingresosTableModel.removeRows(); + for (Ingreso ingreso : this.ingresoDAO.findByCaja(this.caja)) { ingresosTableModel.addRow(ingreso); } } @@ -70,6 +91,7 @@ public class IngresosController { this.view.getGuardarButton().addActionListener(e -> guardarActionListener()); this.view.getValorField().addActionListener(e -> guardarActionListener()); this.view.getEliminarButton().addActionListener(e -> eliminarActionListener()); + this.view.getEditarButton().addActionListener(e -> editarActionListener()); this.view.getTipoCombo().addKeyListener(new KeyAdapter() { @Override @@ -79,17 +101,25 @@ public class IngresosController { } } }); + + this.view.getIngresosTable().addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent mouseEvent) { + JTable table = (JTable) mouseEvent.getSource(); + if (mouseEvent.getClickCount() == 2 && table.getSelectedRow() != -1) { + IngresosController.this.editarActionListener(); + } + } + }); } private void guardarActionListener() { String valor = this.view.getValorField().getText(); TipoIngreso tipoIngreso = (TipoIngreso) this.view.getTipoCombo().getSelectedItem(); - if(this.validateInput(valor, tipoIngreso)){ - Ingreso ingreso = this.createIngreso(valor,tipoIngreso); - this.view.getIngresosTableModel().addRow(ingreso); - this.clearInputs(); - this.updateTotalIngresos(); + if(editing) { + this.editarIngreso(valor, tipoIngreso, this.caja); + } else { + this.guardarIngreso(valor, tipoIngreso, this.caja); } this.resetFocus(); } @@ -101,44 +131,83 @@ public class IngresosController { this.view.getIngresosTableModel().removeRow(selectedId); this.ingresoDAO.deleteIngreso(ingreso); this.updateTotalIngresos(); - this.updateEliminarButton(); + this.updateButtonsEnabled(); + } + } + + private void editarActionListener() { + int selectedID = this.view.getIngresosTable().getSelectedRow(); + if(selectedID >= 0) { + Ingreso ingreso = this.view.getIngresosTableModel().getIngreso(selectedID); + + this.editingId = selectedID; + this.editingIngreso = ingreso; + this.editing = true; + + this.view.getTipoCombo().setSelectedItem(ingreso.getTipoIngreso()); + this.view.getValorField().setText(String.valueOf(ingreso.getValor())); } } private void onSelectTableRowListener(){ this.view.getEliminarButton().setEnabled(true); + this.view.getEditarButton().setEnabled(true); } private void updateTotalIngresos(){ - int total = this.ingresoDAO.getTotalIngreso(); + int total = this.ingresoDAO.getTotalIngreso(this.caja); this.view.getTotalIngresoField().setText(String.valueOf(total)); } - private void updateEliminarButton() { + private void updateButtonsEnabled() { if(this.view.getIngresosTable().getSelectedRow()>=0){ this.view.getEliminarButton().setEnabled(true); + this.view.getEditarButton().setEnabled(true); }else{ this.view.getEliminarButton().setEnabled(false); + this.view.getEditarButton().setEnabled(false); } } - private Ingreso createIngreso(String valor, TipoIngreso tipoIngreso) { - Ingreso ingreso = new Ingreso(); - ingreso.setTipoIngreso(tipoIngreso); - ingreso.setValor(Integer.valueOf(valor)); + private void guardarIngreso(String valor, TipoIngreso tipoIngreso, Caja caja){ + if(this.validateInput(valor, tipoIngreso, caja)){ + Ingreso ingreso = new Ingreso(); + ingreso.setTipoIngreso(tipoIngreso); + ingreso.setCaja(caja); + ingreso.setValor(Integer.valueOf(valor)); - this.ingresoDAO.insertIngreso(ingreso); + this.ingresoDAO.insertIngreso(ingreso); + this.view.getIngresosTableModel().addRow(ingreso); - return ingreso; + this.clearInputs(); + this.updateTotalIngresos(); + } } - private boolean validateInput(String valor, TipoIngreso tipoIngreso) { + private void editarIngreso(String valor, TipoIngreso tipoIngreso, Caja caja){ + if(this.validateInput(valor, tipoIngreso, caja)){ + this.editingIngreso.setTipoIngreso(tipoIngreso); + this.editingIngreso.setValor(Integer.valueOf(valor)); + this.ingresoDAO.updateIngreso(this.editingIngreso); + this.view.getIngresosTableModel().setIngreso(this.editingId, this.editingIngreso); + this.updateTotalIngresos(); + this.clearInputs(); + this.editing = false; + } + } + + private boolean validateInput(String valor, TipoIngreso tipoIngreso, Caja caja) { this.hideErrorMessages(); boolean valorValidation = this.validateValor(valor); boolean tipoIngresoValidation = this.validateTipoIngreso(tipoIngreso); + boolean cajaValidation = this.validateCaja(caja); - return valorValidation && tipoIngresoValidation; + return valorValidation && tipoIngresoValidation && cajaValidation; + } + + private boolean validateCaja(Caja caja) { + return caja != null; } private boolean validateValor(String valor) { diff --git a/src/main/java/danielcortes/xyz/controllers/ManagerController.java b/src/main/java/danielcortes/xyz/controllers/ManagerController.java index 10d4526..dd50f12 100644 --- a/src/main/java/danielcortes/xyz/controllers/ManagerController.java +++ b/src/main/java/danielcortes/xyz/controllers/ManagerController.java @@ -24,6 +24,10 @@ package danielcortes.xyz.controllers; +import danielcortes.xyz.models.caja.Caja; +import danielcortes.xyz.models.caja.CajaDAO; +import danielcortes.xyz.models.efectivo.EfectivoDAO; +import danielcortes.xyz.models.efectivo.MysqlEfectivoDAO; import danielcortes.xyz.models.egreso.EgresoDAO; import danielcortes.xyz.models.ingreso.IngresoDAO; import danielcortes.xyz.models.ingreso.MysqlIngresoDAO; @@ -31,39 +35,66 @@ import danielcortes.xyz.models.tipo_egreso.TipoEgresoDAO; import danielcortes.xyz.models.egreso.MysqlEgresoDAO; import danielcortes.xyz.models.tipo_egreso.MysqlTipoEgresoDAO; import danielcortes.xyz.models.tipo_ingreso.MysqlTipoIngresoDAO; -import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; import danielcortes.xyz.models.tipo_ingreso.TipoIngresoDAO; +import danielcortes.xyz.views.ArqueoView; import danielcortes.xyz.views.EgresosView; import danielcortes.xyz.views.IngresosView; import danielcortes.xyz.views.ManagerView; +import javax.swing.*; import java.awt.*; +import java.time.LocalDate; public class ManagerController { private ManagerView view; + private CajaDAO cajaDAO; + private IngresosController ingresosController; + private EgresosController egresosController; + private ArqueoController arqueoController; - public ManagerController(ManagerView view) { + public ManagerController(ManagerView view, CajaDAO cajaDAO) { this.view = view; + this.cajaDAO = cajaDAO; this.loadCardContents(); this.setUpViewEvents(); + this.pressInitialButton(); } - private void setUpViewEvents(){ + private void setUpViewEvents() { this.view.getEgresosButton().addActionListener(e -> { CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout(); - layout.show(this.view.getCardPanel(),"EGRESOS"); + layout.show(this.view.getCardPanel(), "EGRESOS"); }); this.view.getIngresosButton().addActionListener(e -> { CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout(); - layout.show(this.view.getCardPanel(),"INGRESOS"); + layout.show(this.view.getCardPanel(), "INGRESOS"); + }); + + this.view.getArqueoButton().addActionListener(e -> { + CardLayout layout = (CardLayout) this.view.getCardPanel().getLayout(); + layout.show(this.view.getCardPanel(), "ARQUEO"); + }); + + this.view.getDatePicker().addDateChangeListener(e -> { + LocalDate selectedDate = this.view.getDatePicker().getDate(); + Caja caja = this.cajaDAO.findByFecha(selectedDate); + if(caja == null){ + caja = new Caja(); + caja.setFecha(selectedDate); + this.cajaDAO.insertCaja(caja); + } + this.ingresosController.updateCaja(caja); +// this.egresosController.updateCaja(caja); +// this.arqueoController.updateCaja(caja); + }); } - private void loadCardContents(){ - //this.view.getCardPanel().add(new JPanel(), "NONE"); + private void loadCardContents() { this.loadEgresosView(); this.loadIngresosView(); + this.loadArqueoView(); } private void loadIngresosView() { @@ -73,16 +104,29 @@ public class ManagerController { this.view.getCardPanel().add(ingresosView.getContentPanel(), "INGRESOS"); - IngresosController ingresosController = new IngresosController(ingresosView,ingresoDAO,tipoIngresoDAO); + this.ingresosController = new IngresosController(ingresosView, ingresoDAO, tipoIngresoDAO); } - private void loadEgresosView(){ + private void loadEgresosView() { EgresosView egresosView = new EgresosView(); EgresoDAO egresoDAO = new MysqlEgresoDAO(); TipoEgresoDAO tipoEgresoDAO = new MysqlTipoEgresoDAO(); this.view.getCardPanel().add(egresosView.getContentPanel(), "EGRESOS"); - EgresosController egresosController = new EgresosController(egresosView, egresoDAO, tipoEgresoDAO); + this.egresosController = new EgresosController(egresosView, egresoDAO, tipoEgresoDAO); + } + + private void loadArqueoView() { + ArqueoView arqueoView = new ArqueoView(); + EfectivoDAO efectivoDAO = new MysqlEfectivoDAO(); + + this.view.getCardPanel().add(arqueoView.getContentPanel(), "ARQUEO"); + + this.arqueoController = new ArqueoController(arqueoView, efectivoDAO); + } + + private void pressInitialButton() { + this.view.getIngresosButton().doClick(); } } diff --git a/src/main/java/danielcortes/xyz/data/MysqlConnection.java b/src/main/java/danielcortes/xyz/data/MysqlConnection.java index 4d23567..a27eb0e 100644 --- a/src/main/java/danielcortes/xyz/data/MysqlConnection.java +++ b/src/main/java/danielcortes/xyz/data/MysqlConnection.java @@ -24,25 +24,15 @@ package danielcortes.xyz.data; -import com.mysql.cj.jdbc.MysqlDataSource; import java.sql.*; public class MysqlConnection { - private MysqlDataSource dataSource; - + private String databaseURI; public MysqlConnection(){ - this.dataSource = new MysqlDataSource(); - this.configureDataSource(); - } - - private void configureDataSource(){ - this.dataSource.setUser("root"); - this.dataSource.setPassword("lagging"); - this.dataSource.setServerName("localhost"); - this.dataSource.setDatabaseName("caja"); + this.databaseURI = Properties.getInstance().getProperty("database_uri"); } public Connection getConnection() throws SQLException{ - return this.dataSource.getConnection(); + return DriverManager.getConnection(databaseURI); } } diff --git a/src/main/java/danielcortes/xyz/data/Properties.java b/src/main/java/danielcortes/xyz/data/Properties.java new file mode 100644 index 0000000..dcb0338 --- /dev/null +++ b/src/main/java/danielcortes/xyz/data/Properties.java @@ -0,0 +1,52 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.data; + +import java.io.FileInputStream; +import java.io.IOException; + +public class Properties { + private static Properties ourInstance = new Properties(); + public static java.util.Properties getInstance() { + return ourInstance.props; + } + + private java.util.Properties props; + + private Properties() { + try { + this.props = new java.util.Properties(); + FileInputStream in = new FileInputStream("conf"); + this.props.load(in); + in.close(); + } catch (IOException e) { + System.err.println("Couldn't load properties"); + e.printStackTrace(); + } + } + + + +} diff --git a/src/main/java/danielcortes/xyz/models/caja/Caja.java b/src/main/java/danielcortes/xyz/models/caja/Caja.java new file mode 100644 index 0000000..f3b1442 --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/caja/Caja.java @@ -0,0 +1,48 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.caja; + +import java.time.LocalDate; + +public class Caja { + private int id; + private LocalDate fecha; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public LocalDate getFecha() { + return fecha; + } + + public void setFecha(LocalDate fecha) { + this.fecha = fecha; + } +} diff --git a/src/main/java/danielcortes/xyz/models/caja/CajaDAO.java b/src/main/java/danielcortes/xyz/models/caja/CajaDAO.java new file mode 100644 index 0000000..b374851 --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/caja/CajaDAO.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.caja; + +import java.time.LocalDate; +import java.util.List; + +public interface CajaDAO { + List findAll(); + Caja findById(int id); + Caja findByFecha(LocalDate fecha); + boolean insertCaja(Caja caja); + boolean updateCaja(Caja caja); +} diff --git a/src/main/java/danielcortes/xyz/models/caja/MysqlCajaDAO.java b/src/main/java/danielcortes/xyz/models/caja/MysqlCajaDAO.java new file mode 100644 index 0000000..2012b02 --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/caja/MysqlCajaDAO.java @@ -0,0 +1,164 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.caja; + +import danielcortes.xyz.data.MysqlConnection; + +import java.sql.*; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +public class MysqlCajaDAO implements CajaDAO { + private MysqlConnection mysqlConnection; + + public MysqlCajaDAO() { + this.mysqlConnection = new MysqlConnection(); + } + + @Override + public List findAll() { + List cajaList = new ArrayList<>(); + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from caja"); + ResultSet rs = ps.executeQuery(); + + cajaList = this.cajasFromResultSet(rs); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return cajaList; + } + + @Override + public Caja findById(int id) { + Caja caja = null; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from caja where id = ?"); + + ps.setInt(1, id); + + ResultSet rs = ps.executeQuery(); + + caja = this.cajasFromResultSet(rs).get(0); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return caja; + } + + @Override + public Caja findByFecha(LocalDate fecha) { + Caja caja = null; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from caja where fecha = ?"); + + ps.setObject(1, fecha); + + ResultSet rs = ps.executeQuery(); + + List cajaList = this.cajasFromResultSet(rs); + + if(cajaList.size() > 0){ + caja = cajaList.get(0); + } + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return caja; + } + + @Override + public boolean insertCaja(Caja caja) { + int updates; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("insert into caja (fecha) values (?)"); + ps.setObject(1, caja.getFecha()); + + updates = ps.executeUpdate(); + ps.close(); + + ps = conn.prepareStatement("select last_insert_id()"); + ResultSet rs = ps.executeQuery(); + rs.next(); + caja.setId(rs.getInt(1)); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return updates > 0; + } + + @Override + public boolean updateCaja(Caja caja) { + int updates; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("update caja set fecha = ? where id = ?"); + ps.setObject(1, caja.getFecha()); + ps.setInt(2, caja.getId()); + + updates = ps.executeUpdate(); + + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return updates > 0; + } + + private List cajasFromResultSet(ResultSet rs) throws SQLException { + List cajaList = new ArrayList<>(); + while (rs.next()) { + Caja caja = new Caja(); + caja.setId(rs.getInt("id")); + caja.setFecha(rs.getObject("fecha", LocalDate.class)); + cajaList.add(caja); + } + return cajaList; + } +} diff --git a/src/main/java/danielcortes/xyz/models/efectivo/Efectivo.java b/src/main/java/danielcortes/xyz/models/efectivo/Efectivo.java new file mode 100644 index 0000000..65a49c8 --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/efectivo/Efectivo.java @@ -0,0 +1,118 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.efectivo; + +public class Efectivo { + private int id; + private int veinteMil; + private int diezMil; + private int cincoMil; + private int dosMil; + private int mil; + private int quinientos; + private int cien; + private int cincuenta; + private int diez; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getVeinteMil() { + return veinteMil; + } + + public void setVeinteMil(int veinteMil) { + this.veinteMil = veinteMil; + } + + public int getDiezMil() { + return diezMil; + } + + public void setDiezMil(int diezMil) { + this.diezMil = diezMil; + } + + public int getCincoMil() { + return cincoMil; + } + + public void setCincoMil(int cincoMil) { + this.cincoMil = cincoMil; + } + + public int getDosMil() { + return dosMil; + } + + public void setDosMil(int dosMil) { + this.dosMil = dosMil; + } + + public int getMil() { + return mil; + } + + public void setMil(int mil) { + this.mil = mil; + } + + public int getQuinientos() { + return quinientos; + } + + public void setQuinientos(int quinientos) { + this.quinientos = quinientos; + } + + public int getCien() { + return cien; + } + + public void setCien(int cien) { + this.cien = cien; + } + + public int getCincuenta() { + return cincuenta; + } + + public void setCincuenta(int cincuenta) { + this.cincuenta = cincuenta; + } + + public int getDiez() { + return diez; + } + + public void setDiez(int diez) { + this.diez = diez; + } +} diff --git a/src/main/java/danielcortes/xyz/models/efectivo/EfectivoDAO.java b/src/main/java/danielcortes/xyz/models/efectivo/EfectivoDAO.java new file mode 100644 index 0000000..aa3904b --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/efectivo/EfectivoDAO.java @@ -0,0 +1,36 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.efectivo; + +import java.util.List; + +public interface EfectivoDAO { + List findAll(); + Efectivo findById(int id); + boolean insertEfectivo(Efectivo efectivo); + boolean updateEfectivo(Efectivo efectivo); + boolean deleteEfectivo(Efectivo efectivo); + int getTotalEfectivo(Efectivo efectivo); +} diff --git a/src/main/java/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java b/src/main/java/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java new file mode 100644 index 0000000..b93f6dd --- /dev/null +++ b/src/main/java/danielcortes/xyz/models/efectivo/MysqlEfectivoDAO.java @@ -0,0 +1,205 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.models.efectivo; + +import danielcortes.xyz.data.MysqlConnection; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +public class MysqlEfectivoDAO implements EfectivoDAO { + private MysqlConnection mysqlConnection; + + public MysqlEfectivoDAO() { + this.mysqlConnection = new MysqlConnection(); + } + + @Override + public List findAll() { + List efectivoList = new ArrayList<>(); + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from efectivo"); + ResultSet rs = ps.executeQuery(); + + efectivoList = this.efectivosFromResultSet(rs); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return efectivoList; + } + + @Override + public Efectivo findById(int id) { + Efectivo efectivo = null; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from efectivos where id = ?"); + ps.setInt(1, id); + ResultSet rs = ps.executeQuery(); + + efectivo = this.efectivosFromResultSet(rs).get(0); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return efectivo; + } + + @Override + public boolean insertEfectivo(Efectivo efectivo) { + int updates; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("insert into efectivos (veinte_mil, diez_mil, cinco_mil, dos_mil, mil, quinientos, cien, cincuenta, diez) values (?,?,?,?,?,?,?,?,?)"); + ps.setInt(1, efectivo.getVeinteMil()); + ps.setInt(2, efectivo.getDiezMil()); + ps.setInt(3, efectivo.getCincoMil()); + ps.setInt(4, efectivo.getDosMil()); + ps.setInt(5, efectivo.getMil()); + ps.setInt(6, efectivo.getQuinientos()); + ps.setInt(7, efectivo.getCien()); + ps.setInt(8, efectivo.getCincuenta()); + ps.setInt(9, efectivo.getDiez()); + + updates = ps.executeUpdate(); + ps.close(); + + ps = conn.prepareStatement("select last_insert_id()"); + ResultSet rs = ps.executeQuery(); + rs.next(); + efectivo.setId(rs.getInt(1)); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return updates > 0; + } + + @Override + public boolean updateEfectivo(Efectivo efectivo) { + int updates; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("update efectivos set veinte_mil = ?, diez_mil = ?, cinco_mil = ?, dos_mil = ?, mil = ?, quinientos = ?, cien = ?, cincuenta = ?, diez = ? where id = ?"); + ps.setInt(1, efectivo.getVeinteMil()); + ps.setInt(2, efectivo.getDiezMil()); + ps.setInt(3, efectivo.getCincoMil()); + ps.setInt(4, efectivo.getDosMil()); + ps.setInt(5, efectivo.getMil()); + ps.setInt(6, efectivo.getQuinientos()); + ps.setInt(7, efectivo.getCien()); + ps.setInt(8, efectivo.getCincuenta()); + ps.setInt(9, efectivo.getDiez()); + ps.setInt(10, efectivo.getId()); + + updates = ps.executeUpdate(); + + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return updates > 0; + } + + @Override + public boolean deleteEfectivo(Efectivo efectivo) { + int updates; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("delete from efectivos where id = ?"); + ps.setInt(1, efectivo.getId()); + + updates = ps.executeUpdate(); + + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + return updates > 0; + } + + @Override + public int getTotalEfectivo(Efectivo efectivo) { + int total = 0; + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select (veinte_mil + diez_mil + cinco_mil + dos_mil + mil + quinientos + cien + cincuenta + diez) as total from efectivos where id = ?"); + ps.setInt(1, efectivo.getId()); + ResultSet rs = ps.executeQuery(); + + rs.next(); + total = rs.getInt(1); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return total; + } + + private List efectivosFromResultSet(ResultSet rs) throws SQLException { + List efectivoList = new ArrayList<>(); + while (rs.next()) { + Efectivo efectivo = new Efectivo(); + efectivo.setId(rs.getInt("id")); + efectivo.setVeinteMil(rs.getInt("veinte_mil")); + efectivo.setDiezMil(rs.getInt("diez_mil")); + efectivo.setCincoMil(rs.getInt("cinco_mil")); + efectivo.setDosMil(rs.getInt("dos_mil")); + efectivo.setMil(rs.getInt("mil")); + efectivo.setQuinientos(rs.getInt("quinientos")); + efectivo.setCien(rs.getInt("cien")); + efectivo.setCincuenta(rs.getInt("cincuenta")); + efectivo.setDiez(rs.getInt("diez")); + + efectivoList.add(efectivo); + } + return efectivoList; + } +} diff --git a/src/main/java/danielcortes/xyz/models/egreso/Egreso.java b/src/main/java/danielcortes/xyz/models/egreso/Egreso.java index 1018459..268b3a5 100644 --- a/src/main/java/danielcortes/xyz/models/egreso/Egreso.java +++ b/src/main/java/danielcortes/xyz/models/egreso/Egreso.java @@ -83,7 +83,7 @@ public class Egreso { this.valor = valor; } - public TipoEgreso getTipo() { + public TipoEgreso getTipoEgreso() { return tipo; } diff --git a/src/main/java/danielcortes/xyz/models/egreso/MysqlEgresoDAO.java b/src/main/java/danielcortes/xyz/models/egreso/MysqlEgresoDAO.java index 9d8628a..e185e06 100644 --- a/src/main/java/danielcortes/xyz/models/egreso/MysqlEgresoDAO.java +++ b/src/main/java/danielcortes/xyz/models/egreso/MysqlEgresoDAO.java @@ -111,7 +111,7 @@ public class MysqlEgresoDAO implements EgresoDAO { ps.setString(1,egreso.getNro()); ps.setString(2,egreso.getDescripcion()); ps.setInt(3,egreso.getValor()); - ps.setInt(4,egreso.getTipo().getId()); + ps.setInt(4,egreso.getTipoEgreso().getId()); updates = ps.executeUpdate(); ps.close(); @@ -120,6 +120,7 @@ public class MysqlEgresoDAO implements EgresoDAO { rs.next(); egreso.setId(rs.getInt(1)); + rs.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); @@ -137,9 +138,11 @@ public class MysqlEgresoDAO implements EgresoDAO { ps.setString(1,egreso.getNro()); ps.setString(2,egreso.getDescripcion()); ps.setInt(3,egreso.getValor()); - ps.setInt(4,egreso.getTipo().getId()); + ps.setInt(4,egreso.getTipoEgreso().getId()); ps.setInt(5, egreso.getId()); + updates = ps.executeUpdate(); + ps.close(); conn.close(); } catch (SQLException e) { @@ -156,7 +159,9 @@ public class MysqlEgresoDAO implements EgresoDAO { Connection conn = mysqlConnection.getConnection(); PreparedStatement ps = conn.prepareStatement("delete from egresos where id = ? "); ps.setInt(1, egreso.getId()); + updates = ps.executeUpdate(); + ps.close(); conn.close(); } catch (SQLException e) { @@ -200,6 +205,7 @@ public class MysqlEgresoDAO implements EgresoDAO { egreso.setDescripcion(rs.getString("descripcion")); egreso.setValor(rs.getInt("valor")); egreso.setTipo(tipoEgreso); + egresoList.add(egreso); } return egresoList; diff --git a/src/main/java/danielcortes/xyz/models/ingreso/Ingreso.java b/src/main/java/danielcortes/xyz/models/ingreso/Ingreso.java index 0cfd06f..34b95bd 100644 --- a/src/main/java/danielcortes/xyz/models/ingreso/Ingreso.java +++ b/src/main/java/danielcortes/xyz/models/ingreso/Ingreso.java @@ -24,12 +24,14 @@ package danielcortes.xyz.models.ingreso; +import danielcortes.xyz.models.caja.Caja; import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; public class Ingreso { private int id; private int valor; private TipoIngreso tipoIngreso; + private Caja caja; public Ingreso(int id, int valor, TipoIngreso tipoIngreso ) { this.id = id; @@ -67,4 +69,12 @@ public class Ingreso { public void setValor(int valor) { this.valor = valor; } + + public Caja getCaja() { + return caja; + } + + public void setCaja(Caja caja) { + this.caja = caja; + } } diff --git a/src/main/java/danielcortes/xyz/models/ingreso/IngresoDAO.java b/src/main/java/danielcortes/xyz/models/ingreso/IngresoDAO.java index dec3a70..d6e946c 100644 --- a/src/main/java/danielcortes/xyz/models/ingreso/IngresoDAO.java +++ b/src/main/java/danielcortes/xyz/models/ingreso/IngresoDAO.java @@ -25,16 +25,18 @@ package danielcortes.xyz.models.ingreso; +import danielcortes.xyz.models.caja.Caja; import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; import java.util.List; public interface IngresoDAO { List findAll(); + List findByCaja(Caja caja); List findById(int id); List findByTipoIngreso(TipoIngreso tipoIngreso); boolean insertIngreso(Ingreso ingreso); boolean updateIngreso(Ingreso ingreso); boolean deleteIngreso(Ingreso ingreso); - int getTotalIngreso(); + int getTotalIngreso(Caja caja); } diff --git a/src/main/java/danielcortes/xyz/models/ingreso/MysqlIngresoDAO.java b/src/main/java/danielcortes/xyz/models/ingreso/MysqlIngresoDAO.java index b0c8cb6..04fe6d5 100644 --- a/src/main/java/danielcortes/xyz/models/ingreso/MysqlIngresoDAO.java +++ b/src/main/java/danielcortes/xyz/models/ingreso/MysqlIngresoDAO.java @@ -25,6 +25,9 @@ package danielcortes.xyz.models.ingreso; import danielcortes.xyz.data.MysqlConnection; +import danielcortes.xyz.models.caja.Caja; +import danielcortes.xyz.models.caja.CajaDAO; +import danielcortes.xyz.models.caja.MysqlCajaDAO; import danielcortes.xyz.models.tipo_ingreso.MysqlTipoIngresoDAO; import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; import danielcortes.xyz.models.tipo_ingreso.TipoIngresoDAO; @@ -62,6 +65,26 @@ public class MysqlIngresoDAO implements IngresoDAO{ return ingresosList; } + @Override + public List findByCaja(Caja caja) { + List ingresosList = new ArrayList<>(); + try { + Connection conn = mysqlConnection.getConnection(); + PreparedStatement ps = conn.prepareStatement("select * from ingresos where caja_id = ?"); + ps.setInt(1, caja.getId()); + ResultSet rs = ps.executeQuery(); + + ingresosList = this.ingresosFromResultSet(rs); + + rs.close(); + ps.close(); + conn.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + return ingresosList; + } + @Override public List findById(int id) { List ingresosList = new ArrayList<>(); @@ -107,9 +130,10 @@ public class MysqlIngresoDAO implements IngresoDAO{ int updates; try { Connection conn = mysqlConnection.getConnection(); - PreparedStatement ps = conn.prepareStatement("insert into ingresos (valor, tipo_ingreso_id) values (?,?)"); + PreparedStatement ps = conn.prepareStatement("insert into ingresos (valor, tipo_ingreso_id, caja_id) values (?,?,?)"); ps.setInt(1, ingreso.getValor()); ps.setInt(2, ingreso.getTipoIngreso().getId()); + ps.setInt(3, ingreso.getCaja().getId()); updates = ps.executeUpdate(); ps.close(); @@ -132,10 +156,11 @@ public class MysqlIngresoDAO implements IngresoDAO{ int updates; try { Connection conn = mysqlConnection.getConnection(); - PreparedStatement ps = conn.prepareStatement("update ingresos set valor = ? , tipo_ingreso_id = ? where id = ?"); + PreparedStatement ps = conn.prepareStatement("update ingresos set valor = ? , tipo_ingreso_id = ?, caja_id = ? where id = ?"); ps.setInt(1,ingreso.getValor()); ps.setInt(2, ingreso.getTipoIngreso().getId()); - ps.setInt(3, ingreso.getId()); + ps.setInt(3, ingreso.getCaja().getId()); + ps.setInt(4, ingreso.getId()); updates = ps.executeUpdate(); ps.close(); conn.close(); @@ -164,11 +189,12 @@ public class MysqlIngresoDAO implements IngresoDAO{ } @Override - public int getTotalIngreso() { + public int getTotalIngreso(Caja caja) { int total = 0; try { Connection conn = mysqlConnection.getConnection(); - PreparedStatement ps = conn.prepareStatement("select sum(valor) from ingresos"); + PreparedStatement ps = conn.prepareStatement("select sum(valor) from ingresos where caja_id = ?"); + ps.setInt(1, caja.getId()); ResultSet rs = ps.executeQuery(); rs.next(); @@ -190,11 +216,16 @@ public class MysqlIngresoDAO implements IngresoDAO{ TipoIngresoDAO tipoEgresoDAO = new MysqlTipoIngresoDAO(); TipoIngreso tipoIngreso = tipoEgresoDAO.findById(tipoIngresoId).get(0); + int cajaId = rs.getInt("caja_id"); + CajaDAO cajaDAO = new MysqlCajaDAO(); + Caja caja = cajaDAO.findById(cajaId); + Ingreso ingreso = new Ingreso(); ingreso.setId(rs.getInt("id")); ingreso.setValor(rs.getInt("valor")); ingreso.setTipoIngreso(tipoIngreso); + ingreso.setCaja(caja); ingresosList.add(ingreso); } diff --git a/src/main/java/danielcortes/xyz/views/ArqueoView.form b/src/main/java/danielcortes/xyz/views/ArqueoView.form new file mode 100644 index 0000000..f4ee880 --- /dev/null +++ b/src/main/java/danielcortes/xyz/views/ArqueoView.form @@ -0,0 +1,372 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/danielcortes/xyz/views/ArqueoView.java b/src/main/java/danielcortes/xyz/views/ArqueoView.java new file mode 100644 index 0000000..f891a42 --- /dev/null +++ b/src/main/java/danielcortes/xyz/views/ArqueoView.java @@ -0,0 +1,296 @@ +/* + * MIT License + * + * Copyright (c) 2018 Daniel Cortes + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package danielcortes.xyz.views; + +import javax.swing.*; +import javax.swing.border.TitledBorder; +import java.awt.*; + +public class ArqueoView { + private JPanel contentPanel; + private JTextField veinteMilField; + private JTextField diezMilField; + private JTextField cincoMilField; + private JTextField dosMilField; + private JTextField milField; + private JTextField quinientosField; + private JTextField cienField; + private JTextField cincuentaField; + private JTextField diezField; + private JTextField chequesField; + private JTextField tarjetasField; + private JTextField efectivoField; + private JTextField documentosField; + private JTextField EgresosField; + private JTextField IngresosField; + private JTextField ArqueoField; + private JButton guardarButton; + + public JPanel getContentPanel() { + return contentPanel; + } + + public JTextField getVeinteMilField() { + return veinteMilField; + } + + public JTextField getDiezMilField() { + return diezMilField; + } + + public JTextField getCincoMilField() { + return cincoMilField; + } + + public JTextField getDosMilField() { + return dosMilField; + } + + public JTextField getMilField() { + return milField; + } + + public JTextField getQuinientosField() { + return quinientosField; + } + + public JTextField getCienField() { + return cienField; + } + + public JTextField getCincuentaField() { + return cincuentaField; + } + + public JTextField getDiezField() { + return diezField; + } + + public JTextField getChequesField() { + return chequesField; + } + + public JTextField getTarjetasField() { + return tarjetasField; + } + + public JTextField getEfectivoField() { + return efectivoField; + } + + public JTextField getDocumentosField() { + return documentosField; + } + + public JTextField getEgresosField() { + return EgresosField; + } + + public JTextField getIngresosField() { + return IngresosField; + } + + public JTextField getArqueoField() { + return ArqueoField; + } + + public JButton getGuardarButton() { + return guardarButton; + } + + + /* + * @noinspection ALL + */ + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer + * >>> IMPORTANT!! <<< + * DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPanel = new JPanel(); + contentPanel.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(3, 2, new Insets(0, 0, 0, 0), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(2, 2, new Insets(10, 10, 10, 10), -1, -1)); + contentPanel.add(panel1, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Detalle Documentos", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, this.$$$getFont$$$(null, -1, -1, panel1.getFont()))); + final JLabel label1 = new JLabel(); + label1.setText("Cheques al Dia"); + panel1.add(label1, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + chequesField = new JTextField(); + chequesField.setText("0"); + panel1.add(chequesField, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label2 = new JLabel(); + label2.setText("Tarjetas de Credito"); + panel1.add(label2, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + tarjetasField = new JTextField(); + tarjetasField.setText("0"); + panel1.add(tarjetasField, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(5, 2, new Insets(10, 10, 10, 10), -1, -1)); + contentPanel.add(panel2, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + panel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Resumen")); + final JLabel label3 = new JLabel(); + label3.setText("Efectivo"); + panel2.add(label3, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + efectivoField = new JTextField(); + efectivoField.setEditable(false); + efectivoField.setText("0"); + panel2.add(efectivoField, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label4 = new JLabel(); + label4.setText("Documentos"); + panel2.add(label4, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + documentosField = new JTextField(); + documentosField.setEditable(false); + documentosField.setText("0"); + panel2.add(documentosField, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label5 = new JLabel(); + label5.setText("Ingresos"); + panel2.add(label5, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label6 = new JLabel(); + label6.setText("Egresos"); + panel2.add(label6, new com.intellij.uiDesigner.core.GridConstraints(3, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + EgresosField = new JTextField(); + EgresosField.setEditable(false); + EgresosField.setText("0"); + panel2.add(EgresosField, new com.intellij.uiDesigner.core.GridConstraints(3, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + IngresosField = new JTextField(); + IngresosField.setEditable(false); + IngresosField.setText("0"); + panel2.add(IngresosField, new com.intellij.uiDesigner.core.GridConstraints(2, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label7 = new JLabel(); + label7.setText("Arqueo"); + panel2.add(label7, new com.intellij.uiDesigner.core.GridConstraints(4, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + ArqueoField = new JTextField(); + ArqueoField.setEditable(false); + ArqueoField.setText("0"); + panel2.add(ArqueoField, new com.intellij.uiDesigner.core.GridConstraints(4, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JPanel panel3 = new JPanel(); + panel3.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPanel.add(panel3, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 2, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + guardarButton = new JButton(); + guardarButton.setText("Guardar"); + panel3.add(guardarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final com.intellij.uiDesigner.core.Spacer spacer1 = new com.intellij.uiDesigner.core.Spacer(); + panel3.add(spacer1, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); + final com.intellij.uiDesigner.core.Spacer spacer2 = new com.intellij.uiDesigner.core.Spacer(); + panel3.add(spacer2, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); + final JPanel panel4 = new JPanel(); + panel4.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(9, 2, new Insets(10, 10, 10, 10), -1, -1)); + contentPanel.add(panel4, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 2, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + panel4.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Detalle Efectivo", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, this.$$$getFont$$$(null, -1, -1, panel4.getFont()))); + final JLabel label8 = new JLabel(); + label8.setText("$20000"); + panel4.add(label8, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + veinteMilField = new JTextField(); + veinteMilField.setText("0"); + panel4.add(veinteMilField, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label9 = new JLabel(); + label9.setText("$10000"); + panel4.add(label9, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + diezMilField = new JTextField(); + diezMilField.setText("0"); + panel4.add(diezMilField, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + cincoMilField = new JTextField(); + cincoMilField.setText("0"); + panel4.add(cincoMilField, new com.intellij.uiDesigner.core.GridConstraints(2, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label10 = new JLabel(); + label10.setText("$5000"); + panel4.add(label10, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label11 = new JLabel(); + label11.setText("$2000"); + panel4.add(label11, new com.intellij.uiDesigner.core.GridConstraints(3, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + dosMilField = new JTextField(); + dosMilField.setText("0"); + panel4.add(dosMilField, new com.intellij.uiDesigner.core.GridConstraints(3, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + milField = new JTextField(); + milField.setText("0"); + panel4.add(milField, new com.intellij.uiDesigner.core.GridConstraints(4, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label12 = new JLabel(); + label12.setText("$1000"); + panel4.add(label12, new com.intellij.uiDesigner.core.GridConstraints(4, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label13 = new JLabel(); + label13.setText("$500"); + panel4.add(label13, new com.intellij.uiDesigner.core.GridConstraints(5, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + quinientosField = new JTextField(); + quinientosField.setText("0"); + panel4.add(quinientosField, new com.intellij.uiDesigner.core.GridConstraints(5, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label14 = new JLabel(); + label14.setText("$100"); + panel4.add(label14, new com.intellij.uiDesigner.core.GridConstraints(6, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + cienField = new JTextField(); + cienField.setText("0"); + panel4.add(cienField, new com.intellij.uiDesigner.core.GridConstraints(6, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label15 = new JLabel(); + label15.setText("$50"); + panel4.add(label15, new com.intellij.uiDesigner.core.GridConstraints(7, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + cincuentaField = new JTextField(); + cincuentaField.setText("0"); + panel4.add(cincuentaField, new com.intellij.uiDesigner.core.GridConstraints(7, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + final JLabel label16 = new JLabel(); + label16.setText("$10"); + panel4.add(label16, new com.intellij.uiDesigner.core.GridConstraints(8, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + diezField = new JTextField(); + diezField.setText("0"); + panel4.add(diezField, new com.intellij.uiDesigner.core.GridConstraints(8, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(200, -1), null, 0, false)); + } + + /** + * @noinspection ALL + */ + private Font $$$getFont$$$(String fontName, int style, int size, Font currentFont) { + if (currentFont == null) return null; + String resultName; + if (fontName == null) { + resultName = currentFont.getName(); + } else { + Font testFont = new Font(fontName, Font.PLAIN, 10); + if (testFont.canDisplay('a') && testFont.canDisplay('1')) { + resultName = fontName; + } else { + resultName = currentFont.getName(); + } + } + return new Font(resultName, style >= 0 ? style : currentFont.getStyle(), size >= 0 ? size : currentFont.getSize()); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPanel; + } + +} diff --git a/src/main/java/danielcortes/xyz/views/EgresosView.form b/src/main/java/danielcortes/xyz/views/EgresosView.form index a0b1363..56c9c05 100644 --- a/src/main/java/danielcortes/xyz/views/EgresosView.form +++ b/src/main/java/danielcortes/xyz/views/EgresosView.form @@ -155,7 +155,7 @@ - + @@ -170,7 +170,7 @@ - +
@@ -184,6 +184,17 @@ + + + + + + + + + + + diff --git a/src/main/java/danielcortes/xyz/views/EgresosView.java b/src/main/java/danielcortes/xyz/views/EgresosView.java index 60e0dc7..fba1945 100644 --- a/src/main/java/danielcortes/xyz/views/EgresosView.java +++ b/src/main/java/danielcortes/xyz/views/EgresosView.java @@ -28,6 +28,7 @@ import danielcortes.xyz.models.tipo_egreso.TipoEgreso; import danielcortes.xyz.views.components.EgresosTableModel; import javax.swing.*; +import java.awt.*; public class EgresosView { public JPanel contentPanel; @@ -45,6 +46,7 @@ public class EgresosView { private JLabel errorDescripcion; private JLabel errorValor; private JLabel errorTipoEgreso; + private JButton editarButton; private EgresosTableModel egresosTableModel; @@ -71,6 +73,10 @@ public class EgresosView { return eliminarButton; } + public JButton getEditarButton() { + return editarButton; + } + public JTextField getValorField() { return valorField; } @@ -114,4 +120,119 @@ public class EgresosView { public JLabel getErrorTipoEgreso() { return errorTipoEgreso; } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer + * >>> IMPORTANT!! <<< + * DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPanel = new JPanel(); + contentPanel.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(3, 1, new Insets(10, 10, 10, 10), -1, -1)); + contentPanel.add(panel1, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Egresos")); + final JScrollPane scrollPane1 = new JScrollPane(); + panel1.add(scrollPane1, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + scrollPane1.setViewportView(egresosTable); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(3, 4, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel2, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("N°"); + panel2.add(label1, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label2 = new JLabel(); + label2.setText("Descripcion"); + panel2.add(label2, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + descripcionField = new JTextField(); + panel2.add(descripcionField, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + nroField = new JTextField(); + panel2.add(nroField, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + valorField = new JTextField(); + panel2.add(valorField, new com.intellij.uiDesigner.core.GridConstraints(1, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JLabel label3 = new JLabel(); + label3.setText("Valor"); + panel2.add(label3, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label4 = new JLabel(); + label4.setText("Tipo"); + panel2.add(label4, new com.intellij.uiDesigner.core.GridConstraints(0, 3, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + tipoCombo = new JComboBox(); + panel2.add(tipoCombo, new com.intellij.uiDesigner.core.GridConstraints(1, 3, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + errorNumero = new JLabel(); + errorNumero.setEnabled(true); + errorNumero.setForeground(new Color(-65536)); + errorNumero.setText("Error"); + errorNumero.setVisible(false); + panel2.add(errorNumero, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + errorDescripcion = new JLabel(); + errorDescripcion.setEnabled(true); + errorDescripcion.setForeground(new Color(-65536)); + errorDescripcion.setText("Error"); + errorDescripcion.setVisible(false); + panel2.add(errorDescripcion, new com.intellij.uiDesigner.core.GridConstraints(2, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + errorValor = new JLabel(); + errorValor.setEnabled(true); + errorValor.setForeground(new Color(-65536)); + errorValor.setText("Error"); + errorValor.setVisible(false); + panel2.add(errorValor, new com.intellij.uiDesigner.core.GridConstraints(2, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + errorTipoEgreso = new JLabel(); + errorTipoEgreso.setEnabled(true); + errorTipoEgreso.setForeground(new Color(-65536)); + errorTipoEgreso.setText("Error"); + errorTipoEgreso.setVisible(false); + panel2.add(errorTipoEgreso, new com.intellij.uiDesigner.core.GridConstraints(2, 3, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JPanel panel3 = new JPanel(); + panel3.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel3, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JPanel panel4 = new JPanel(); + panel4.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + panel3.add(panel4, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + guardarButton = new JButton(); + guardarButton.setText("Guardar"); + guardarButton.setMnemonic('G'); + guardarButton.setDisplayedMnemonicIndex(0); + panel4.add(guardarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + eliminarButton = new JButton(); + eliminarButton.setEnabled(false); + eliminarButton.setText("Eliminar"); + eliminarButton.setMnemonic('E'); + eliminarButton.setDisplayedMnemonicIndex(0); + panel4.add(eliminarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + editarButton = new JButton(); + editarButton.setEnabled(false); + editarButton.setText("Editar"); + editarButton.setMnemonic('E'); + editarButton.setDisplayedMnemonicIndex(0); + panel4.add(editarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final com.intellij.uiDesigner.core.Spacer spacer1 = new com.intellij.uiDesigner.core.Spacer(); + panel3.add(spacer1, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); + final JPanel panel5 = new JPanel(); + panel5.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + panel3.add(panel5, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JLabel label5 = new JLabel(); + label5.setText("Total Egresos:"); + panel5.add(label5, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + totalEgresosField = new JTextField(); + totalEgresosField.setEditable(false); + panel5.add(totalEgresosField, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPanel; + } } diff --git a/src/main/java/danielcortes/xyz/views/IngresosView.form b/src/main/java/danielcortes/xyz/views/IngresosView.form index cbdb79f..1ece6df 100644 --- a/src/main/java/danielcortes/xyz/views/IngresosView.form +++ b/src/main/java/danielcortes/xyz/views/IngresosView.form @@ -127,7 +127,7 @@
- + @@ -155,6 +155,16 @@ + + + + + + + + + + diff --git a/src/main/java/danielcortes/xyz/views/IngresosView.java b/src/main/java/danielcortes/xyz/views/IngresosView.java index 1429f46..2d6d4ee 100644 --- a/src/main/java/danielcortes/xyz/views/IngresosView.java +++ b/src/main/java/danielcortes/xyz/views/IngresosView.java @@ -28,6 +28,7 @@ import danielcortes.xyz.models.tipo_ingreso.TipoIngreso; import danielcortes.xyz.views.components.IngresosTableModel; import javax.swing.*; +import java.awt.*; public class IngresosView { private JPanel contentPanel; @@ -39,6 +40,7 @@ public class IngresosView { private JComboBox tipoCombo; private JLabel errorTipoIngreso; private JLabel errorValor; + private JButton editarButton; private IngresosTableModel ingresosTableModel; @@ -46,7 +48,7 @@ public class IngresosView { this.createIngresosTable(); } - private void createIngresosTable(){ + private void createIngresosTable() { this.ingresosTableModel = new IngresosTableModel(); this.ingresosTable = new JTable(ingresosTableModel); this.ingresosTable.setAutoCreateRowSorter(true); @@ -69,6 +71,10 @@ public class IngresosView { return eliminarButton; } + public JButton getEditarButton() { + return editarButton; + } + public JTextField getTotalIngresoField() { return totalIngresoField; } @@ -92,4 +98,90 @@ public class IngresosView { public JLabel getErrorValor() { return errorValor; } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer + * >>> IMPORTANT!! <<< + * DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPanel = new JPanel(); + contentPanel.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(3, 1, new Insets(10, 10, 10, 10), -1, -1)); + contentPanel.add(panel1, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + panel1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Ingresos")); + final JScrollPane scrollPane1 = new JScrollPane(); + panel1.add(scrollPane1, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); + scrollPane1.setViewportView(ingresosTable); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(3, 2, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel2, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Tipo"); + panel2.add(label1, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JLabel label2 = new JLabel(); + label2.setText("Valor"); + panel2.add(label2, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + valorField = new JTextField(); + panel2.add(valorField, new com.intellij.uiDesigner.core.GridConstraints(1, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + tipoCombo = new JComboBox(); + final DefaultComboBoxModel defaultComboBoxModel1 = new DefaultComboBoxModel(); + tipoCombo.setModel(defaultComboBoxModel1); + panel2.add(tipoCombo, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + errorTipoIngreso = new JLabel(); + errorTipoIngreso.setForeground(new Color(-65536)); + errorTipoIngreso.setText("Label"); + errorTipoIngreso.setVisible(false); + panel2.add(errorTipoIngreso, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + errorValor = new JLabel(); + errorValor.setForeground(new Color(-65536)); + errorValor.setText("Label"); + errorValor.setVisible(false); + panel2.add(errorValor, new com.intellij.uiDesigner.core.GridConstraints(2, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + final JPanel panel3 = new JPanel(); + panel3.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + panel1.add(panel3, new com.intellij.uiDesigner.core.GridConstraints(2, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JPanel panel4 = new JPanel(); + panel4.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + panel3.add(panel4, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + final JLabel label3 = new JLabel(); + label3.setText("Total Ingresos"); + panel4.add(label3, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_EAST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + totalIngresoField = new JTextField(); + panel4.add(totalIngresoField, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JPanel panel5 = new JPanel(); + panel5.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + panel3.add(panel5, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + guardarButton = new JButton(); + guardarButton.setText("Añadir"); + guardarButton.setMnemonic('A'); + guardarButton.setDisplayedMnemonicIndex(0); + panel5.add(guardarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + eliminarButton = new JButton(); + eliminarButton.setText("Eliminar"); + panel5.add(eliminarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + editarButton = new JButton(); + editarButton.setText("Editar"); + panel5.add(editarButton, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_HORIZONTAL, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final com.intellij.uiDesigner.core.Spacer spacer1 = new com.intellij.uiDesigner.core.Spacer(); + panel3.add(spacer1, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_WEST, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPanel; + } } diff --git a/src/main/java/danielcortes/xyz/views/ManagerView.form b/src/main/java/danielcortes/xyz/views/ManagerView.form index 03540d4..b19ef8c 100644 --- a/src/main/java/danielcortes/xyz/views/ManagerView.form +++ b/src/main/java/danielcortes/xyz/views/ManagerView.form @@ -16,7 +16,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -44,6 +44,22 @@ + + + + + + + + + + + + + + + + @@ -52,6 +68,7 @@ + diff --git a/src/main/java/danielcortes/xyz/views/ManagerView.java b/src/main/java/danielcortes/xyz/views/ManagerView.java index 874c35d..889a74d 100644 --- a/src/main/java/danielcortes/xyz/views/ManagerView.java +++ b/src/main/java/danielcortes/xyz/views/ManagerView.java @@ -24,7 +24,10 @@ package danielcortes.xyz.views; +import com.github.lgooddatepicker.components.DatePicker; + import javax.swing.*; +import java.awt.*; public class ManagerView { private JToggleButton egresosButton; @@ -32,6 +35,8 @@ public class ManagerView { private JPanel contentPanel; private JPanel cardPanel; private JPanel controlsPanel; + private JToggleButton arqueoButton; + private DatePicker datePicker; public JToggleButton getEgresosButton() { return egresosButton; @@ -41,6 +46,14 @@ public class ManagerView { return ingresosButton; } + public JToggleButton getArqueoButton() { + return arqueoButton; + } + + public DatePicker getDatePicker() { + return datePicker; + } + public JPanel getContentPanel() { return contentPanel; } @@ -48,4 +61,60 @@ public class ManagerView { public JPanel getCardPanel() { return cardPanel; } + + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer + * >>> IMPORTANT!! <<< + * DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPanel = new JPanel(); + contentPanel.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(2, 1, new Insets(10, 10, 10, 10), -1, -1)); + cardPanel = new JPanel(); + cardPanel.setLayout(new CardLayout(0, 0)); + contentPanel.add(cardPanel, new com.intellij.uiDesigner.core.GridConstraints(1, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + controlsPanel = new JPanel(); + controlsPanel.setLayout(new com.intellij.uiDesigner.core.GridLayoutManager(1, 4, new Insets(0, 0, 0, 0), -1, -1)); + contentPanel.add(controlsPanel, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_BOTH, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + egresosButton = new JToggleButton(); + egresosButton.setText("Egresos"); + egresosButton.setMnemonic('E'); + egresosButton.setDisplayedMnemonicIndex(0); + controlsPanel.add(egresosButton, new com.intellij.uiDesigner.core.GridConstraints(0, 2, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(200, -1), null, 0, false)); + ingresosButton = new JToggleButton(); + ingresosButton.setText("Ingresos"); + ingresosButton.setMnemonic('I'); + ingresosButton.setDisplayedMnemonicIndex(0); + controlsPanel.add(ingresosButton, new com.intellij.uiDesigner.core.GridConstraints(0, 1, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(200, -1), null, 0, false)); + arqueoButton = new JToggleButton(); + arqueoButton.setText("Arqueo"); + arqueoButton.setMnemonic('A'); + arqueoButton.setDisplayedMnemonicIndex(0); + controlsPanel.add(arqueoButton, new com.intellij.uiDesigner.core.GridConstraints(0, 3, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, new Dimension(200, -1), null, 0, false)); + datePicker = new DatePicker(); + controlsPanel.add(datePicker, new com.intellij.uiDesigner.core.GridConstraints(0, 0, 1, 1, com.intellij.uiDesigner.core.GridConstraints.ANCHOR_CENTER, com.intellij.uiDesigner.core.GridConstraints.FILL_NONE, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_SHRINK | com.intellij.uiDesigner.core.GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + ButtonGroup buttonGroup; + buttonGroup = new ButtonGroup(); + buttonGroup.add(egresosButton); + buttonGroup.add(ingresosButton); + buttonGroup.add(arqueoButton); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPanel; + } + } diff --git a/src/main/java/danielcortes/xyz/views/components/EgresosTableModel.java b/src/main/java/danielcortes/xyz/views/components/EgresosTableModel.java index add81d9..ba7f7c9 100644 --- a/src/main/java/danielcortes/xyz/views/components/EgresosTableModel.java +++ b/src/main/java/danielcortes/xyz/views/components/EgresosTableModel.java @@ -70,7 +70,7 @@ public class EgresosTableModel extends AbstractTableModel { case 2: return rows.get(row).getValor(); case 3: - return rows.get(row).getTipo(); + return rows.get(row).getTipoEgreso(); } return null; } @@ -78,4 +78,9 @@ public class EgresosTableModel extends AbstractTableModel { public Egreso getEgreso(int row){ return rows.get(row); } + + public void setEgreso(int editingId, Egreso egreso) { + this.rows.set(editingId, egreso); + this.fireTableRowsUpdated(0,getRowCount()-1); + } } diff --git a/src/main/java/danielcortes/xyz/views/components/IngresosTableModel.java b/src/main/java/danielcortes/xyz/views/components/IngresosTableModel.java index 4e43a69..a6bed53 100644 --- a/src/main/java/danielcortes/xyz/views/components/IngresosTableModel.java +++ b/src/main/java/danielcortes/xyz/views/components/IngresosTableModel.java @@ -35,7 +35,7 @@ public class IngresosTableModel extends AbstractTableModel { public IngresosTableModel(){ super(); - this.columns = new String[]{"Valor", "Tipo"}; + this.columns = new String[]{"Tipo", "Valor"}; this.rows = new ArrayList<>(); } @@ -53,20 +53,30 @@ public class IngresosTableModel extends AbstractTableModel { public void addRow(Ingreso ingreso) { this.rows.add(ingreso); - this.fireTableRowsInserted(0,getRowCount()-1); + this.fireTableRowsInserted(getRowCount()-1, getRowCount()-1); } public void removeRow(int row){ this.rows.remove(row); - this.fireTableRowsDeleted(0,getRowCount()-1); + this.fireTableRowsDeleted(row,row); } + public void removeRows(){ + int rowCount = getRowCount(); + if(rowCount > 0){ + this.rows.clear(); + System.out.println("deleted from " + 0 + " to " + rowCount); + this.fireTableRowsDeleted(0, rowCount-1); + } + } + + public Object getValueAt(int row, int col) { switch (col) { case 0: - return this.rows.get(row).getValor(); - case 1: return this.rows.get(row).getTipoIngreso().getNombre(); + case 1: + return this.rows.get(row).getValor(); } return null; } @@ -75,4 +85,8 @@ public class IngresosTableModel extends AbstractTableModel { return this.rows.get(row); } + public void setIngreso(int editingId, Ingreso ingreso) { + this.rows.set(editingId, ingreso); + this.fireTableRowsUpdated(getRowCount()-2, getRowCount()-1); + } } diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..e463e67 --- /dev/null +++ b/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: danielcortes.xyz.Main + diff --git a/src/main/resources/data.template.json b/src/main/resources/data.template.json deleted file mode 100644 index 0a1ab36..0000000 --- a/src/main/resources/data.template.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "egresos": [ - { - "nro": "1", - "descripcion": "2", - "valor": 123, - "tipo": 1 - } - ] -} \ No newline at end of file