Anzeige der Gebührenkonto, Berechnung der Gebühren muss noch verbessert werden
parent
1faa14fd5f
commit
32bba7e3f9
|
@ -90,7 +90,7 @@ public class UI {
|
||||||
String kartennummer = scanner.nextLine();
|
String kartennummer = scanner.nextLine();
|
||||||
Benutzer benutzer = system.anmelden(kartennummer);
|
Benutzer benutzer = system.anmelden(kartennummer);
|
||||||
if (benutzer != null) {
|
if (benutzer != null) {
|
||||||
//system.zeigeGebuehren(benutzer);
|
system.zeigeGebuehrenkonto(kartennummer);
|
||||||
benutzer.anzeigenAusleihen();
|
benutzer.anzeigenAusleihen();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ public abstract class Benutzer {
|
||||||
private int alter;
|
private int alter;
|
||||||
private List<Medium> ausleihen;
|
private List<Medium> ausleihen;
|
||||||
private double offeneGebuehren;
|
private double offeneGebuehren;
|
||||||
private boolean gebuehrenBezahlt;
|
|
||||||
|
|
||||||
Benutzer(String kartennummer, String name, int alter, String prefix) {
|
Benutzer(String kartennummer, String name, int alter, String prefix) {
|
||||||
this.kartennummer = prefix + kartennummer;
|
this.kartennummer = prefix + kartennummer;
|
||||||
|
@ -18,7 +17,6 @@ public abstract class Benutzer {
|
||||||
this.alter = alter;
|
this.alter = alter;
|
||||||
this.ausleihen = new ArrayList<>();
|
this.ausleihen = new ArrayList<>();
|
||||||
this.offeneGebuehren = 0.0;
|
this.offeneGebuehren = 0.0;
|
||||||
this.gebuehrenBezahlt = true; // Zu Beginn keine Gebühren offen
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Getter und Setter
|
//Getter und Setter
|
||||||
|
@ -29,6 +27,8 @@ public abstract class Benutzer {
|
||||||
public int getAlter() {return alter;}
|
public int getAlter() {return alter;}
|
||||||
public void setAlter(int alter) {this.alter = alter;}
|
public void setAlter(int alter) {this.alter = alter;}
|
||||||
public List<Medium> getAusleihen() {return ausleihen;}
|
public List<Medium> getAusleihen() {return ausleihen;}
|
||||||
|
public double getOffeneGebuehren() {return offeneGebuehren;}
|
||||||
|
|
||||||
|
|
||||||
// Abstrakte Methode für die Jahresgebühr
|
// Abstrakte Methode für die Jahresgebühr
|
||||||
public abstract double getJahresgebuehr();
|
public abstract double getJahresgebuehr();
|
||||||
|
@ -59,25 +59,21 @@ public abstract class Benutzer {
|
||||||
|
|
||||||
//Methode zum Anzeigen der Ausleihen eines Benutzers
|
//Methode zum Anzeigen der Ausleihen eines Benutzers
|
||||||
public void anzeigenAusleihen() {
|
public void anzeigenAusleihen() {
|
||||||
System.out.println("Aktuell ausgeliehene Medien von " + name + ":\n");
|
if(ausleihen.isEmpty()){
|
||||||
for (Medium medium : ausleihen) {
|
System.out.println("Keine ausgeliehenen Medien.");
|
||||||
System.out.println("- " + medium.getTitel() + " (Fällig am: " + medium.getRueckgabedatum() + ")\n");
|
}else {
|
||||||
|
System.out.println("Aktuell ausgeliehene Medien von " + name + ":\n");
|
||||||
|
for (Medium medium : ausleihen) {
|
||||||
|
System.out.println("- " + medium.getTitel() + " (Fällig am: " + medium.getRueckgabedatum() + ")\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public double setOffeneGebuehren(double gebuehren){
|
public double addiereZuOffeneGebuehren(double gebuehren){
|
||||||
return gebuehren+= gebuehren;
|
return this.offeneGebuehren+= gebuehren;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public double getOffeneGebuehren() {
|
|
||||||
return offeneGebuehren;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean sindGebuehrenBezahlt() {
|
|
||||||
return gebuehrenBezahlt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*public void aktualisiereGebuehren(Date aktuellesDatum) {
|
/*public void aktualisiereGebuehren(Date aktuellesDatum) {
|
||||||
if (gebuehrenBezahlt) return; // Keine Aktualisierung erforderlich, wenn bezahlt
|
if (gebuehrenBezahlt) return; // Keine Aktualisierung erforderlich, wenn bezahlt
|
||||||
offeneGebuehren = 0.0;
|
offeneGebuehren = 0.0;
|
||||||
|
@ -88,7 +84,6 @@ public abstract class Benutzer {
|
||||||
|
|
||||||
public void bezahleGebuehren() {
|
public void bezahleGebuehren() {
|
||||||
offeneGebuehren = 0.0;
|
offeneGebuehren = 0.0;
|
||||||
gebuehrenBezahlt = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ public class BibliothekSystem {
|
||||||
long overdueTage = (aktuellesDatum.getTime() - medium.getRueckgabedatum().getTime()) / (1000 * 60 * 60 * 24);
|
long overdueTage = (aktuellesDatum.getTime() - medium.getRueckgabedatum().getTime()) / (1000 * 60 * 60 * 24);
|
||||||
System.out.println("überfällige Tagen: " + overdueTage);
|
System.out.println("überfällige Tagen: " + overdueTage);
|
||||||
double gebuehr = rechneOverdueGebuehren(overdueTage);
|
double gebuehr = rechneOverdueGebuehren(overdueTage);
|
||||||
ausleiher.setOffeneGebuehren(gebuehr);
|
ausleiher.addiereZuOffeneGebuehren(gebuehr);
|
||||||
System.out.println("Überfällige Gebühren für " + ausleiher.getName() + gebuehr + " Eur.");
|
System.out.println("Überfällige Gebühren für " + ausleiher.getName() + gebuehr + " Eur.");
|
||||||
}else {
|
}else {
|
||||||
System.out.println("Keine überfällige Gebühren.");
|
System.out.println("Keine überfällige Gebühren.");
|
||||||
|
@ -155,6 +155,23 @@ public class BibliothekSystem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Methode zum Anzeigen des Gebührenkontos
|
||||||
|
public void zeigeGebuehrenkonto(String kartennummer){
|
||||||
|
Benutzer benutzer = anmelden(kartennummer);
|
||||||
|
if (benutzer == null) {
|
||||||
|
System.out.println("Kein Benutzer gefunden.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
double gebuehren = benutzer.getOffeneGebuehren();
|
||||||
|
if (gebuehren>0){
|
||||||
|
System.out.println("Offene Gebühren für " + benutzer.getName() + ": " + gebuehren + " Eur.");
|
||||||
|
} else {
|
||||||
|
System.out.println("Keine offene Gebühren für "+ benutzer.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//Methode zum Verlängern eines Mediums
|
//Methode zum Verlängern eines Mediums
|
||||||
public void verlaengernMedium(String kartennummer,String mediumID){
|
public void verlaengernMedium(String kartennummer,String mediumID){
|
||||||
Benutzer benutzer = anmelden(kartennummer);
|
Benutzer benutzer = anmelden(kartennummer);
|
||||||
|
@ -208,7 +225,13 @@ public class BibliothekSystem {
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
public double rechneOverdueGebuehren(long overdueTagen) {
|
public double rechneOverdueGebuehren(long overdueTagen) {
|
||||||
return overdueTagen * 1; // 1 euro pro Tag
|
if (overdueTagen <= 0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (overdueTagen <= 7){
|
||||||
|
return overdueTagen * 1.0; //1 euro pro Tag für die ersten 7 Tage
|
||||||
|
}
|
||||||
|
return (7*1.0) + ((overdueTagen - 7) * 2.0); // 2 euro pro Tag ab dem 8. Tag
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue