Kontoauszug hinzugefügt

Rahel Strack 2022-10-14 13:05:18 +02:00
parent 4e135b0bd9
commit bad6afef46
6 changed files with 86 additions and 47 deletions

View File

@ -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) {
return bewegung; kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.AUSZAHLUNG);
if(kb!=null) {
bewegung.add(kb);
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;
}
} }

View File

@ -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;
} }

View File

@ -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 + "]";
}
} }

View File

@ -1,13 +1,13 @@
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;
Zahlungsart (String zArt) Zahlungsart (String zArt)
{ {
this.setzArt(zArt); this.setzArt(zArt);
} }

View File

@ -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();
} }

View File

@ -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.");
} }