forked from hummel/Bank-System
Kontoauszug hinzugefügt
parent
4e135b0bd9
commit
bad6afef46
|
@ -24,16 +24,38 @@ public class Bank {
|
||||||
public Collection<Konto> getKontenliste() {
|
public Collection<Konto> getKontenliste() {
|
||||||
return konten.values();//Liste aus HashMaps
|
return konten.values();//Liste aus HashMaps
|
||||||
}
|
}
|
||||||
public ArrayList<Long> EinzahlungenAuszahlungen(int knum, long betrag ){
|
public ArrayList<Kontobewegung> EinzahlungenAuszahlungen(int knum, long betrag ){
|
||||||
ArrayList<Long> bewegung= null;
|
ArrayList<Kontobewegung> bewegung= null;
|
||||||
|
Kontobewegung kb=null;
|
||||||
if(knum != 0 && betrag !=0) {
|
if(knum != 0 && betrag !=0) {
|
||||||
bewegung=konten.get(knum).getZahlungen();
|
bewegung=konten.get(knum).getZahlungen();
|
||||||
bewegung.add(betrag);
|
if(betrag<0) {
|
||||||
|
kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.AUSZAHLUNG);
|
||||||
|
if(kb!=null) {
|
||||||
|
bewegung.add(kb);
|
||||||
return bewegung;
|
return bewegung;
|
||||||
}
|
}
|
||||||
|
}else if(betrag>=0) {
|
||||||
|
kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.EINZAHLUNG);
|
||||||
|
if(kb!=null) {
|
||||||
|
bewegung.add(kb);
|
||||||
|
return bewegung;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public ArrayList<Kontobewegung> getKontobewegung(int knum){
|
||||||
|
ArrayList<Kontobewegung> kBewegung= null;
|
||||||
|
if(knum!=0) {
|
||||||
|
kBewegung=konten.get(knum).getZahlungen();
|
||||||
|
if(!kBewegung.isEmpty()) {
|
||||||
|
return kBewegung;
|
||||||
|
}
|
||||||
|
}return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ public class Konto {
|
||||||
private int nummer;
|
private int nummer;
|
||||||
private long stand = 0;
|
private long stand = 0;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
private ArrayList<Long> zahlungen= new ArrayList<>();
|
private ArrayList<Kontobewegung> zahlungen= new ArrayList<>();
|
||||||
|
|
||||||
public Konto(String inhaber) {
|
public Konto(String inhaber) {
|
||||||
nummer = 1000 + kontozähler++;
|
nummer = 1000 + kontozähler++;
|
||||||
|
@ -32,7 +32,7 @@ public class Konto {
|
||||||
this.stand = stand;
|
this.stand = stand;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Long> getZahlungen() {
|
public ArrayList<Kontobewegung> getZahlungen() {
|
||||||
return zahlungen;
|
return zahlungen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
public class Kontobewegung {
|
public class Kontobewegung {
|
||||||
private String auftraggeber=null;
|
private String auftraggeber=null;
|
||||||
private Date datum = null;
|
private Date datum = Calendar.getInstance().getTime();
|
||||||
private Zahlungsart zahlungsart=null;
|
private Zahlungsart zahlungsart=null;
|
||||||
|
private long betrag=0;
|
||||||
|
|
||||||
public Kontobewegung(String auftraggeber, Zahlungsart zahlungsart) {
|
public Kontobewegung(String auftraggeber, long betrag,Zahlungsart zahlungsart) {
|
||||||
this.auftraggeber=auftraggeber;
|
this.auftraggeber=auftraggeber;
|
||||||
this.datum=datum;
|
formatDate(datum);
|
||||||
|
this.betrag=betrag;
|
||||||
this.zahlungsart=zahlungsart;
|
this.zahlungsart=zahlungsart;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +30,7 @@ public class Kontobewegung {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDatum(Date datum) {
|
public void setDatum(Date datum) {
|
||||||
this.datum = datum;
|
this.datum = Calendar.getInstance().getTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Zahlungsart getZahlungsart() {
|
public Zahlungsart getZahlungsart() {
|
||||||
|
@ -36,4 +40,23 @@ public class Kontobewegung {
|
||||||
public void setZahlungsart(Zahlungsart zahlungsart) {
|
public void setZahlungsart(Zahlungsart zahlungsart) {
|
||||||
this.zahlungsart = zahlungsart;
|
this.zahlungsart = zahlungsart;
|
||||||
}
|
}
|
||||||
|
public long getBetrag() {
|
||||||
|
return betrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBetrag(long betrag) {
|
||||||
|
this.betrag = betrag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String formatDate(Date datum) {
|
||||||
|
String format=new SimpleDateFormat("dd/MM/yyyy HH:mm").format(datum);
|
||||||
|
if(format!=null) {
|
||||||
|
return format;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Betrag: "+betrag+"[Zahlungsart: "+zahlungsart+" Datum=" + datum + ", Auftraggeber=" + auftraggeber + "]";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
public enum Zahlungsart {
|
public enum Zahlungsart {
|
||||||
EINZAHLUNG("einzahlung"),
|
EINZAHLUNG("Einzahlung"),
|
||||||
AUSZAHLUNG("auszahlung"),
|
AUSZAHLUNG("Auszahlung"),
|
||||||
UEBERWEISUNG("Ueberweisung");
|
UEBERWEISUNG("Ueberweisung");
|
||||||
|
|
||||||
private String zArt;
|
private String zArt;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.util.List;
|
||||||
|
|
||||||
import de.hs_mannheim.informatik.bank.domain.Bank;
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
import de.hs_mannheim.informatik.bank.domain.Konto;
|
import de.hs_mannheim.informatik.bank.domain.Konto;
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Kontobewegung;
|
||||||
|
|
||||||
public class Banksystem {
|
public class Banksystem {
|
||||||
private Bank bank;
|
private Bank bank;
|
||||||
|
@ -46,53 +47,32 @@ public class Banksystem {
|
||||||
return bank.getName();
|
return bank.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Long> kontoAuszug(int knum, long sum) {
|
|
||||||
ArrayList<Long> zahlungen = null;
|
|
||||||
if (knum != 0 && sum != 0) {
|
|
||||||
zahlungen = bank.EinzahlungenAuszahlungen(knum, sum);
|
|
||||||
if (zahlungen != null) {
|
|
||||||
for (Long zahlung : zahlungen) {
|
|
||||||
if (zahlung > 0) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String kontoAuszugToString(int knum) {
|
public String kontoAuszugToString(int knum) {
|
||||||
ArrayList<Long> zahlungen = null;
|
ArrayList<Kontobewegung> zahlungen = null;
|
||||||
String back = "";
|
String back = "";
|
||||||
if (knum != 0) {
|
if (knum != 0) {
|
||||||
zahlungen = bank.EinzahlungenAuszahlungen(knum, 0);
|
zahlungen = bank.getKontobewegung(knum);
|
||||||
if (!zahlungen.isEmpty()) {
|
if (!zahlungen.isEmpty()) {
|
||||||
for (Long zahlung : zahlungen) {
|
for (Kontobewegung zahlung : zahlungen) {
|
||||||
if (zahlung > 0) {
|
back+=zahlung.toString()+ "\n";
|
||||||
back+=zahlung.toString(zahlung)+ "\n";
|
|
||||||
}
|
|
||||||
}return back;
|
}return back;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
private String toString(long betrag) {
|
|
||||||
if (betrag >= 0) {
|
|
||||||
return "Auszahlung: " + betrag;
|
|
||||||
}
|
|
||||||
return "Einzahlung: " + betrag;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Geldbetrag einzahlen
|
// Geldbetrag einzahlen
|
||||||
public long betragEinzahlen(int knum, long amount) {
|
public long betragEinzahlen(int knum, long betrag) {
|
||||||
long sum = 0;
|
long sum = 0;
|
||||||
Collection<Konto> liste = bank.getKontenliste();
|
Collection<Konto> liste = bank.getKontenliste();
|
||||||
if (knum != 0 && amount != 0) {
|
if (knum != 0 && betrag != 0) {
|
||||||
for (Konto k : liste) {
|
for (Konto k : liste) {
|
||||||
if (k.getKontonummer() == knum) {
|
if (k.getKontonummer() == knum) {
|
||||||
sum = k.getStand();
|
sum = k.getStand();
|
||||||
sum += amount;
|
sum += betrag;
|
||||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), amount);
|
bank.EinzahlungenAuszahlungen(k.getKontonummer(), betrag);
|
||||||
k.setStand(sum);
|
k.setStand(sum);
|
||||||
return k.getStand();
|
return k.getStand();
|
||||||
}
|
}
|
||||||
|
@ -102,15 +82,15 @@ public class Banksystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Betrag auszahlen
|
// Betrag auszahlen
|
||||||
public long betragAuszahlen(int knum, long amount) {
|
public long betragAuszahlen(int knum, long betrag) {
|
||||||
long sum = 0;
|
long sum = 0;
|
||||||
Collection<Konto> liste = bank.getKontenliste();
|
Collection<Konto> liste = bank.getKontenliste();
|
||||||
if (knum != 0 && amount != 0) {
|
if (knum != 0 && betrag != 0) {
|
||||||
for (Konto k : liste) {
|
for (Konto k : liste) {
|
||||||
if (k.getKontonummer() == knum) {
|
if (k.getKontonummer() == knum) {
|
||||||
sum = k.getStand();
|
sum = k.getStand();
|
||||||
sum -= amount;
|
sum -= betrag;
|
||||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), -amount);
|
bank.EinzahlungenAuszahlungen(k.getKontonummer(), -betrag);
|
||||||
k.setStand(sum);
|
k.setStand(sum);
|
||||||
return k.getStand();
|
return k.getStand();
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,6 +146,7 @@ public class UI {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void kontoStand() {
|
private void kontoStand() {
|
||||||
|
System.out.println("Kontostandabfrage:");
|
||||||
System.out.println("Bitte die Kontonummer angeben:");
|
System.out.println("Bitte die Kontonummer angeben:");
|
||||||
int kontonummer = 0;
|
int kontonummer = 0;
|
||||||
try {
|
try {
|
||||||
|
@ -161,6 +162,19 @@ public class UI {
|
||||||
|
|
||||||
}
|
}
|
||||||
private void kontoAuszug() {
|
private void kontoAuszug() {
|
||||||
|
System.out.println("Kontoauszug:");
|
||||||
|
System.out.println("Bitte die Kontonummer angeben:");
|
||||||
|
int kontonummer = 0;
|
||||||
|
try {
|
||||||
|
kontonummer = Integer.parseInt(sc.nextLine());
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
System.out.println("Inkorrekte Eingabe!");
|
||||||
|
System.out.println("Es wurde kein Konto mit dieser Nummer gefunden.");
|
||||||
|
}
|
||||||
|
if(bs.kontoAuszugToString(kontonummer)!=null) {
|
||||||
|
System.out.println("Folgend sehen");
|
||||||
|
System.out.println(bs.kontoAuszugToString(kontonummer).toString());
|
||||||
|
}System.out.println("Es konnte kein Kontoauszug gefunden werden.");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue