generated from hummel/Bank-System
Kontobewegungen aktualisiert
parent
4741398923
commit
d08cc39343
Binary file not shown.
|
@ -7,24 +7,27 @@ import de.hs_mannheim.informatik.bank.persistence.PersistenceService;
|
||||||
|
|
||||||
public class Konto implements Serializable {
|
public class Konto implements Serializable {
|
||||||
private static int kontozaehler = 0;
|
private static int kontozaehler = 0;
|
||||||
private ArrayList<String> bewegungen = new ArrayList<String>();
|
|
||||||
private ArrayList<String> dates = new ArrayList<String>();
|
|
||||||
private int nummer;
|
private int nummer;
|
||||||
private long stand = 0;
|
private long stand = 0;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
|
|
||||||
|
private ArrayList<Kontobewegung> kontobewegungen;
|
||||||
|
|
||||||
public Konto(String inhaber) {
|
public Konto(String inhaber) {
|
||||||
nummer = 1000 + kontozaehler++;
|
nummer = 1000 + kontozaehler++;
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
|
this.kontobewegungen = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long kontoEinzahlen(Konto k, long betrag) {
|
public long kontoEinzahlen(Konto k, long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||||
k.stand = k.stand + betrag;
|
k.stand = k.stand + betrag;
|
||||||
|
kontobewegungen.add(new Kontobewegung(betrag, datum, zweck, art, auftraggeber));
|
||||||
return k.stand;
|
return k.stand;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long kontoAbheben(Konto k, long betrag) {
|
public long kontoAbheben(Konto k, long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||||
k.stand = k.stand - betrag;
|
k.stand = k.stand - betrag;
|
||||||
|
kontobewegungen.add(new Kontobewegung(betrag, datum, zweck, art, auftraggeber));
|
||||||
return k.stand;
|
return k.stand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,20 +47,12 @@ public class Konto implements Serializable {
|
||||||
return inhaber;
|
return inhaber;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> getBewegungen() {
|
public String[] getKontobewegungen() {
|
||||||
return bewegungen;
|
String[] liste = new String[kontobewegungen.size()];
|
||||||
|
for (int i = 0; i < kontobewegungen.size(); i++) {
|
||||||
|
liste[i] = kontobewegungen.get(i).toString();
|
||||||
}
|
}
|
||||||
|
return liste;
|
||||||
public ArrayList<String> getDates() {
|
|
||||||
return dates;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBewegungen(String bewegung) {
|
|
||||||
bewegungen.add(bewegung);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDate(String datum) {
|
|
||||||
dates.add(datum);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setKontozaehler(int zaehler) {
|
public static void setKontozaehler(int zaehler) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ class KontoTest {
|
||||||
Collection<Konto> konten = bank.getKontenliste();
|
Collection<Konto> konten = bank.getKontenliste();
|
||||||
assertEquals(7 , Konto.getKontozaehler());
|
assertEquals(7 , Konto.getKontozaehler());
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
@Test
|
@Test
|
||||||
void kontoEinzahlenTest() {
|
void kontoEinzahlenTest() {
|
||||||
Konto k1 = new Konto("User1");
|
Konto k1 = new Konto("User1");
|
||||||
|
@ -32,7 +32,7 @@ class KontoTest {
|
||||||
k2.kontoEinzahlen(k2, 100);
|
k2.kontoEinzahlen(k2, 100);
|
||||||
assertEquals(50, k2.kontoAbheben(k2, 50));
|
assertEquals(50, k2.kontoAbheben(k2, 50));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
@Test
|
@Test
|
||||||
@Order(2)
|
@Order(2)
|
||||||
void kontoNummerGenerierungTest() {
|
void kontoNummerGenerierungTest() {
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class Kontobewegung implements Serializable{
|
||||||
|
private String betrag;
|
||||||
|
private String datum;
|
||||||
|
private String zweck;
|
||||||
|
private String art;
|
||||||
|
private String auftraggeber;
|
||||||
|
|
||||||
|
public Kontobewegung(long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||||
|
this.betrag = betragMitKomma(betrag);
|
||||||
|
this.datum = datum;
|
||||||
|
this.zweck = zweck;
|
||||||
|
this.art = art;
|
||||||
|
this.auftraggeber = auftraggeber;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String betragMitKomma(long betrag) {
|
||||||
|
StringBuilder standKomma = new StringBuilder(Long.toString(betrag));
|
||||||
|
int posKomma = standKomma.length()-2;
|
||||||
|
standKomma = standKomma.insert(posKomma, '.');
|
||||||
|
|
||||||
|
return standKomma.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return datum + "\t" + auftraggeber + "\t\t" + zweck + "\t " + betrag + "€\t\t" + art;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +0,0 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
public class Kontobewegungen {
|
|
||||||
|
|
||||||
}
|
|
|
@ -47,16 +47,12 @@ public class Banksystem {
|
||||||
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
||||||
|
|
||||||
Konto k = bank.getKonto(kontonr);
|
Konto k = bank.getKonto(kontonr);
|
||||||
k.kontoEinzahlen(k, betrag_long);
|
String datum = getDatum();
|
||||||
|
k.kontoEinzahlen(k, betrag_long, datum, "Einzahlung am Schalter", "(+)", k.getInhaber());
|
||||||
|
|
||||||
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
||||||
String betrag_aktuell = kontostandMitKomma(k);
|
String betrag_aktuell = kontostandMitKomma(k);
|
||||||
|
|
||||||
//Daten für Kontobewegung und Datum für Kontoauszug übergeben
|
|
||||||
k.setBewegungen(betrag + " (+)");
|
|
||||||
String datum = getDatum(k);
|
|
||||||
k.setDate(datum);
|
|
||||||
|
|
||||||
return betrag_aktuell;
|
return betrag_aktuell;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,20 +64,16 @@ public class Banksystem {
|
||||||
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
||||||
|
|
||||||
Konto k = bank.getKonto(kontonr);
|
Konto k = bank.getKonto(kontonr);
|
||||||
k.kontoAbheben(k, betrag_long);
|
String datum = getDatum();
|
||||||
|
k.kontoAbheben(k, betrag_long, datum, "Auszahlung am Schalter", "(-)", k.getInhaber());
|
||||||
|
|
||||||
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
||||||
String betrag_aktuell = kontostandMitKomma(k);
|
String betrag_aktuell = kontostandMitKomma(k);
|
||||||
|
|
||||||
//Daten für Kontobewegung und Datum für Kontoauszug übergeben
|
|
||||||
k.setBewegungen(betrag + " (-)");
|
|
||||||
String datum = getDatum(k);
|
|
||||||
k.setDate(datum);
|
|
||||||
|
|
||||||
return betrag_aktuell;
|
return betrag_aktuell;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDatum(Konto k) {
|
public String getDatum() {
|
||||||
DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||||
LocalDateTime zeit = LocalDateTime.now();
|
LocalDateTime zeit = LocalDateTime.now();
|
||||||
return zeitformat.format(zeit);
|
return zeitformat.format(zeit);
|
||||||
|
@ -141,14 +133,9 @@ public class Banksystem {
|
||||||
return bank.getName();
|
return bank.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<String> getBewegungen(int kontonr) {
|
public String[] getKontoauszug(int kontonr) {
|
||||||
Konto k = bank.getKonto(kontonr);
|
Konto k = bank.getKonto(kontonr);
|
||||||
return k.getBewegungen();
|
return k.getKontobewegungen();
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<String> getDates(int kontonr) {
|
|
||||||
Konto k = bank.getKonto(kontonr);
|
|
||||||
return k.getDates();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getInhaber(int kontonr) {
|
public String getInhaber(int kontonr) {
|
||||||
|
|
|
@ -109,20 +109,19 @@ public class UI {
|
||||||
System.out.println("Kontonummer: ");
|
System.out.println("Kontonummer: ");
|
||||||
int kontonr = sc.nextInt();
|
int kontonr = sc.nextInt();
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
|
String[] kontobewegungen = bs.getKontoauszug(kontonr);
|
||||||
|
|
||||||
ArrayList<String> bewegungen = new ArrayList<String>(bs.getBewegungen(kontonr));
|
|
||||||
ArrayList<String> dates = new ArrayList<String>(bs.getDates(kontonr));
|
|
||||||
String inhaber = bs.getInhaber(kontonr);
|
|
||||||
|
|
||||||
System.out.println("-----------------------------------------------");
|
|
||||||
System.out.println("Datum:\t\tInhaber:\t\tBetrag:");
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
for (int i=0; i<bewegungen.size();i++) {
|
System.out.println("Kontoauszug vom " + bs.getDatum() + " für Konto: " + kontonr);
|
||||||
System.out.printf("%s\t%s\t\t\t%s", dates.get(i), inhaber, bewegungen.get(i));
|
System.out.println("-----------------------------------------------------------------------");
|
||||||
|
System.out.println("Datum:\t\tInhaber:\tZweck:\t\t\t Betrag:");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
for (String kb: kontobewegungen) {
|
||||||
|
System.out.println(kb);
|
||||||
}
|
}
|
||||||
System.out.println("\n-----------------------------------------------");
|
System.out.println();
|
||||||
System.out.println("Aktueller Kontostand:\t\t\t" + bs.kontoStand(kontonr));
|
System.out.println("-----------------------------------------------------------------------");
|
||||||
|
System.out.println("Aktueller Kontostand:\t\t\t\t\t " + bs.kontoStand(kontonr) + "€");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue