Reorgnizando la diferenciacion entre lo que suma y resta al total del

mes
This commit is contained in:
Guillermo Roche 2019-11-14 20:31:28 +01:00
parent 0d7df06ad6
commit 21203e9524
7 changed files with 25 additions and 39 deletions

Binary file not shown.

Binary file not shown.

View File

@ -9,20 +9,15 @@ public class Gestion{
private static float total; private static float total;
private Month mes; private Month mes;
private Year anio; private Year anio;
//private boolean isPositivo; private boolean isPositivo;
private String nombre; private String nombre;
public Gestion() { public Gestion(String nombre, boolean isPositivo) {
this.gestiones=new Vector<Transaccion>();
this.suma = 0;
Gestion.total = 0;
}
public Gestion(String nombre) {
this.gestiones = new Vector<Transaccion>(); this.gestiones = new Vector<Transaccion>();
this.suma = 0; this.suma = 0;
Gestion.total = 0; Gestion.total = 0;
this.nombre = nombre; this.nombre = nombre;
this.isPositivo = isPositivo;
} }
public String getNombre() { public String getNombre() {
@ -32,7 +27,7 @@ public class Gestion{
public void aniadirGasto(Transaccion transaccion) { public void aniadirGasto(Transaccion transaccion) {
this.gestiones.add(transaccion); this.gestiones.add(transaccion);
this.suma += transaccion.getDinero(); this.suma += transaccion.getDinero();
if(transaccion.isPositivo()) { if(this.isPositivo) {
Gestion.total += transaccion.getDinero(); Gestion.total += transaccion.getDinero();
}else { }else {
Gestion.total -= transaccion.getDinero(); Gestion.total -= transaccion.getDinero();
@ -54,14 +49,14 @@ public class Gestion{
public void alterarVisibilidad(int elemento) { public void alterarVisibilidad(int elemento) {
if(this.gestiones.get(elemento).alterarVisivilidad()) { if(this.gestiones.get(elemento).alterarVisivilidad()) {
this.suma += this.gestiones.get(elemento).getDinero(); this.suma += this.gestiones.get(elemento).getDinero();
if(this.gestiones.get(elemento).isPositivo()) { if(this.isPositivo) {
Gestion.total += this.gestiones.get(elemento).getDinero(); Gestion.total += this.gestiones.get(elemento).getDinero();
}else { }else {
Gestion.total -= this.gestiones.get(elemento).getDinero(); Gestion.total -= this.gestiones.get(elemento).getDinero();
} }
}else { }else {
this.suma -= this.gestiones.get(elemento).getDinero(); this.suma -= this.gestiones.get(elemento).getDinero();
if(this.gestiones.get(elemento).isPositivo()) { if(this.isPositivo) {
Gestion.total -= this.gestiones.get(elemento).getDinero(); Gestion.total -= this.gestiones.get(elemento).getDinero();
}else { }else {
Gestion.total += this.gestiones.get(elemento).getDinero(); Gestion.total += this.gestiones.get(elemento).getDinero();

View File

@ -11,41 +11,41 @@ private ArrayList<Mes> meses;
this.meses = new ArrayList<Mes>(); this.meses = new ArrayList<Mes>();
} }
public Gestion aniadirGestion(String nombre, int anio, Month mes) { public Gestion aniadirGestion(String nombre, int anio, Month mes, boolean isPositivo) {
Gestion ret; Gestion ret;
try { try {
for(Mes mesSelect:this.meses) { for(Mes mesSelect:this.meses) {
if(mesSelect.getMes().equals(mes) && mesSelect.getAnio() == anio){ if(mesSelect.getMes().equals(mes) && mesSelect.getAnio() == anio){
ret = new Gestion(nombre); ret = new Gestion(nombre, isPositivo);
mesSelect.getGestiones().add(ret); mesSelect.getGestiones().add(ret);
return ret; return ret;
} }
} }
}catch (NullPointerException e) { }catch (NullPointerException e) {
ArrayList<Gestion> gestiones=new ArrayList<Gestion>(); ArrayList<Gestion> gestiones=new ArrayList<Gestion>();
ret = new Gestion(nombre); ret = new Gestion(nombre, isPositivo);
gestiones.add(ret); gestiones.add(ret);
this.meses.add(new Mes(gestiones,anio,mes)); this.meses.add(new Mes(gestiones,anio,mes));
return ret; return ret;
} }
ArrayList<Gestion> gestiones=new ArrayList<Gestion>(); ArrayList<Gestion> gestiones=new ArrayList<Gestion>();
ret = new Gestion(nombre); ret = new Gestion(nombre, isPositivo);
gestiones.add(ret); gestiones.add(ret);
this.meses.add(new Mes(gestiones,anio,mes)); this.meses.add(new Mes(gestiones,anio,mes));
return ret; return ret;
} }
public void aniadirTransaccion(Transaccion transaccion, String nombre) { public void aniadirTransaccion(Transaccion transaccion, String nombre, boolean isPositivo) {
for(Mes mes:this.meses) { for(Mes mes:this.meses) {
if(transaccion.getDia().getMonth().equals(mes.getMes()) && if(transaccion.getDia().getMonth().equals(mes.getMes()) &&
transaccion.getDia().getYear() == mes.getAnio()){ transaccion.getDia().getYear() == mes.getAnio()){
mes.aniadirTransaccion(transaccion, nombre); mes.aniadirTransaccion(transaccion, nombre, isPositivo);
return; return;
} }
} }
this.meses.add(new Mes(new ArrayList<Gestion>(),transaccion.getDia().getYear(), this.meses.add(new Mes(new ArrayList<Gestion>(),transaccion.getDia().getYear(),
transaccion.getDia().getMonth())); transaccion.getDia().getMonth()));
this.meses.get(this.meses.size()-1).aniadirTransaccion(transaccion, nombre); this.meses.get(this.meses.size()-1).aniadirTransaccion(transaccion, nombre, isPositivo);
} }
public void elegirMes(int anio, Month mes) { public void elegirMes(int anio, Month mes) {
@ -75,14 +75,14 @@ class Mes{
this.mes=mes; this.mes=mes;
} }
void aniadirTransaccion(Transaccion transaccion, String nombre) { void aniadirTransaccion(Transaccion transaccion, String nombre, boolean isPositivo) {
for(Gestion gestion:this.gestiones) { for(Gestion gestion:this.gestiones) {
if(gestion.getNombre().equals(nombre)) { if(gestion.getNombre().equals(nombre)) {
gestion.aniadirGasto(transaccion); gestion.aniadirGasto(transaccion);
return; return;
} }
} }
gestiones.add(new Gestion(nombre)); gestiones.add(new Gestion(nombre, isPositivo));
gestiones.get(this.gestiones.size()-1).aniadirGasto(transaccion); gestiones.get(this.gestiones.size()-1).aniadirGasto(transaccion);
return; return;
} }

View File

@ -7,21 +7,18 @@ public class Transaccion {
private float dinero; private float dinero;
private boolean visible; private boolean visible;
private LocalDate dia; private LocalDate dia;
private boolean positivo;
public Transaccion(String nombre, float dinero){ public Transaccion(String nombre, float dinero){
this.nombre = nombre; this.nombre = nombre;
this.dinero = dinero; this.dinero = dinero;
this.visible = true; this.visible = true;
this.dia = LocalDate.now(); this.dia = LocalDate.now();
this.positivo = true;
} }
public Transaccion(String nombre, float dinero, LocalDate dia, boolean positivo){ public Transaccion(String nombre, float dinero, LocalDate dia){
this.nombre = nombre; this.nombre = nombre;
this.dinero = dinero; this.dinero = dinero;
this.visible = true; this.visible = true;
this.positivo = positivo;
this.dia = dia; this.dia = dia;
} }
@ -42,10 +39,6 @@ public class Transaccion {
return this.dinero; return this.dinero;
} }
public boolean isPositivo() {
return this.positivo;
}
public LocalDate getDia() { public LocalDate getDia() {
return this.dia; return this.dia;
} }

View File

@ -60,11 +60,11 @@ public class Menu extends JFrame{
} }
private void iniciarMes(int anio, Month mes) { private void iniciarMes(int anio, Month mes) {
meses.aniadirGestion("Ingresos", anio, mes); meses.aniadirGestion("Ingresos", anio, mes, true);
meses.aniadirGestion("Gastos", anio, mes); meses.aniadirGestion("Gastos", anio, mes, false);
this.pestanias=new ArrayList<VistaAniadirVisualizar>(); this.pestanias=new ArrayList<VistaAniadirVisualizar>();
this.pestanias.add(new VistaAniadirVisualizar(this,meses.getGestionesActuales().get(0),true)); this.pestanias.add(new VistaAniadirVisualizar(this,meses.getGestionesActuales().get(0)));
this.pestanias.add(new VistaAniadirVisualizar(this,meses.getGestionesActuales().get(1),false)); this.pestanias.add(new VistaAniadirVisualizar(this,meses.getGestionesActuales().get(1)));
this.controladores=new ArrayList<ControladorAniadirVisualizar>(); this.controladores=new ArrayList<ControladorAniadirVisualizar>();
this.controladores.add(new ControladorAniadirVisualizar(this.pestanias.get(0))); this.controladores.add(new ControladorAniadirVisualizar(this.pestanias.get(0)));
this.controladores.add(new ControladorAniadirVisualizar(this.pestanias.get(1))); this.controladores.add(new ControladorAniadirVisualizar(this.pestanias.get(1)));
@ -86,7 +86,7 @@ public class Menu extends JFrame{
this.pestanias=new ArrayList<VistaAniadirVisualizar>(); this.pestanias=new ArrayList<VistaAniadirVisualizar>();
this.controladores=new ArrayList<ControladorAniadirVisualizar>(); this.controladores=new ArrayList<ControladorAniadirVisualizar>();
for(Gestion gestion:this.meses.getGestionesActuales()) { for(Gestion gestion:this.meses.getGestionesActuales()) {
VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion, true); VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion);
this.pestania.add(vista); this.pestania.add(vista);
this.controladores.add(new ControladorAniadirVisualizar(vista)); this.controladores.add(new ControladorAniadirVisualizar(vista));
} }
@ -100,8 +100,8 @@ public class Menu extends JFrame{
} }
void aniadirGestion(String nombre, boolean sumaOResta) { void aniadirGestion(String nombre, boolean sumaOResta) {
Gestion gestion=this.meses.aniadirGestion(nombre, VistaPanelLateral.getDate().getYear(), VistaPanelLateral.getDate().getMonth()); Gestion gestion=this.meses.aniadirGestion(nombre, VistaPanelLateral.getDate().getYear(), VistaPanelLateral.getDate().getMonth(), sumaOResta);
VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion, sumaOResta); VistaAniadirVisualizar vista = new VistaAniadirVisualizar(this, gestion);
this.pestanias.add(vista); this.pestanias.add(vista);
this.controladores.add(new ControladorAniadirVisualizar(vista)); this.controladores.add(new ControladorAniadirVisualizar(vista));
this.pestania.addTab(vista.getName(),vista); this.pestania.addTab(vista.getName(),vista);

View File

@ -20,10 +20,8 @@ public class VistaAniadirVisualizar extends JPanel{
JPanel cuadro; JPanel cuadro;
JScrollPane panel; JScrollPane panel;
Menu menu; Menu menu;
boolean positivo;
static VistaPanelLateral panelLateral; static VistaPanelLateral panelLateral;
public VistaAniadirVisualizar(Menu menu, Gestion gestion,boolean positivo) { public VistaAniadirVisualizar(Menu menu, Gestion gestion) {
this.positivo = positivo;
this.gestiones = gestion; this.gestiones = gestion;
this.transacciones = new LinkedList<JCheckBox>(); this.transacciones = new LinkedList<JCheckBox>();
this.menu = menu; this.menu = menu;
@ -49,7 +47,7 @@ public class VistaAniadirVisualizar extends JPanel{
} }
public void aniadirElemento(String nombre, float dinero, ControladorAniadirVisualizar controlador) { public void aniadirElemento(String nombre, float dinero, ControladorAniadirVisualizar controlador) {
Transaccion transaccion = new Transaccion(nombre, dinero,panelLateral.getDate(),this.positivo); Transaccion transaccion = new Transaccion(nombre, dinero,panelLateral.getDate());
this.gestiones.aniadirGasto(transaccion); this.gestiones.aniadirGasto(transaccion);
JCheckBox check = new JCheckBox(transaccion.toString()); JCheckBox check = new JCheckBox(transaccion.toString());
check.setSelected(true); check.setSelected(true);