Gebühren berechnen Prozess

Gebührenberechnen
3009594 2024-11-16 17:29:55 +01:00
parent da0ce0845f
commit 712087279b
2 changed files with 72 additions and 83 deletions

View File

@ -12,8 +12,6 @@ public class AusleiheSystem {
private HashMap<String, Mediumverwalter> medien; private HashMap<String, Mediumverwalter> medien;
private LocalDate ausleiheBeginn, ausleiheEnde; private LocalDate ausleiheBeginn, ausleiheEnde;
private Calendar calendar;
public AusleiheSystem(HashMap<String, Mediumverwalter> medien) { public AusleiheSystem(HashMap<String, Mediumverwalter> medien) {
this.medien = medien; this.medien = medien;
@ -25,7 +23,6 @@ public class AusleiheSystem {
if (mediumAusleihen.isIstAusgeliehen()) if (mediumAusleihen.isIstAusgeliehen())
throw new MediumNichtGefundenException("Das Medium ist ausgeliehen"); throw new MediumNichtGefundenException("Das Medium ist ausgeliehen");
mediumAusleihen.setIstAusgeliehen(true); mediumAusleihen.setIstAusgeliehen(true);
mediumAusleihen.setAnzahl(mediumAusleihen.getAnzahl() - 1); mediumAusleihen.setAnzahl(mediumAusleihen.getAnzahl() - 1);
@ -38,7 +35,6 @@ public class AusleiheSystem {
return neueAusleihe; return neueAusleihe;
} }
public ArrayList<String> mediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung) { public ArrayList<String> mediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung) {
Ausleihe ausgelieheneMedium = ausleihe.stream() Ausleihe ausgelieheneMedium = ausleihe.stream()
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst() .filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
@ -77,7 +73,8 @@ public class AusleiheSystem {
return ausgeliehenMedien; return ausgeliehenMedien;
} }
public double SimulieremediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung, String datum)throws MediumNichtGefundenException { public double SimulieremediumRückgabe(ArrayList<Ausleihe> ausleihe, String eindeutigeKennung, String datum)
throws MediumNichtGefundenException {
Ausleihe ausgelieheneMedium = ausleihe.stream() Ausleihe ausgelieheneMedium = ausleihe.stream()
.filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst() .filter(k -> k.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
.orElse(null); .orElse(null);
@ -92,7 +89,6 @@ public class AusleiheSystem {
if (heutigesDatum.isAfter(testDatum)) { if (heutigesDatum.isAfter(testDatum)) {
long überfälligeTage = testDatum.until(heutigesDatum, ChronoUnit.DAYS); long überfälligeTage = testDatum.until(heutigesDatum, ChronoUnit.DAYS);
if (überfälligeTage <= 7) if (überfälligeTage <= 7)
gebühren = überfälligeTage * 1.0; gebühren = überfälligeTage * 1.0;
@ -113,10 +109,8 @@ public class AusleiheSystem {
} }
public boolean medienVerlängern(Benutzer benutzer, String eindeutigeKennung) throws MediumNichtGefundenException { public boolean medienVerlängern(Benutzer benutzer, String eindeutigeKennung) throws MediumNichtGefundenException {
Ausleihe medium = benutzer.getAusgeliehenenMedien() Ausleihe medium = benutzer.getAusgeliehenenMedien().stream()
.stream() .filter(m -> m.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung)).findFirst()
.filter(m -> m.getMediumverwalter().getMedium().getID().equalsIgnoreCase(eindeutigeKennung))
.findFirst()
.orElse(null); .orElse(null);
if (medium == null) if (medium == null)
@ -136,7 +130,6 @@ public class AusleiheSystem {
return true; return true;
} }
private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException { private Mediumverwalter findMedium(String eindeutigeKennung) throws MediumNichtGefundenException {
if (medien.containsKey(eindeutigeKennung)) if (medien.containsKey(eindeutigeKennung))
return medien.get(eindeutigeKennung); return medien.get(eindeutigeKennung);
@ -145,6 +138,4 @@ public class AusleiheSystem {
} }
} }

View File

@ -46,12 +46,10 @@ public class BibSystem {
} }
public ArrayList<String> medienRückgabe(String eindeutigeKennung) { public ArrayList<String> medienRückgabe(String eindeutigeKennung) {
return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung); return ausleiheSystem.mediumRückgabe(ausleihe, eindeutigeKennung);
} }
public double simuliereMedienRückgabe(String eindeutigeKennung, String datum) throws MediumNichtGefundenException { public double simuliereMedienRückgabe(String eindeutigeKennung, String datum) throws MediumNichtGefundenException {
return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum); return ausleiheSystem.SimulieremediumRückgabe(ausleihe, eindeutigeKennung, datum);
} }
@ -86,7 +84,6 @@ public class BibSystem {
throw new MediumNichtGefundenException("Kein treffer"); throw new MediumNichtGefundenException("Kein treffer");
return treffer; return treffer;
} }
public void userRegistrieren(String name, String type, int alter, String istAdmin) throws FalscheEingabeException { public void userRegistrieren(String name, String type, int alter, String istAdmin) throws FalscheEingabeException {
@ -115,6 +112,7 @@ public class BibSystem {
return "Das Medium wurde erfolgreich ausgeliehen"; return "Das Medium wurde erfolgreich ausgeliehen";
} }
// Temporäre Test Methode // Temporäre Test Methode
private void mediumsAufladen() { private void mediumsAufladen() {
Mediumverwalter buch = new Mediumverwalter(true, 10, 28, Mediumverwalter buch = new Mediumverwalter(true, 10, 28,