Added Verlängerungs support

Finishing
Marc3308 2024-11-19 12:51:25 +01:00
parent e2cd80c677
commit 189c5b29f3
9 changed files with 67 additions and 20 deletions

View File

@ -118,7 +118,7 @@ public class framecreater implements ActionListener {
+"<br>"+(m.getTitel()==null ? "Unbekannt" : m.getTitel()) +"<br>"+(m.getTitel()==null ? "Unbekannt" : m.getTitel())
+"<br>"+(m.getBeschreibung()==null ? "NoData" : m.getBeschreibung()) +"<br>"+(m.getBeschreibung()==null ? "NoData" : m.getBeschreibung())
+"<br>"+(m.getVerofentlichung()<=0 ? "NoData" : m.getVerofentlichung()) +"<br>"+(m.getVerofentlichung()<=0 ? "NoData" : m.getVerofentlichung())
+"<br>"+k.getAusgeliehen().get(m).toString() +"<br>"+((m.getAusleizeit()*7)-((int) ChronoUnit.DAYS.between(k.getAusgeliehen().get(m),getDatum())))+" Tage"
+"</html>"); +"</html>");
vorlage.setBounds(10+(80*(counter%4)),100+(100*(counter/4)),80,100 ); vorlage.setBounds(10+(80*(counter%4)),100+(100*(counter/4)),80,100 );
vorlage.addActionListener(e -> { vorlage.addActionListener(e -> {
@ -307,7 +307,7 @@ public class framecreater implements ActionListener {
schuldenzuruck.addActionListener( e -> { schuldenzuruck.addActionListener( e -> {
if(!schuldenabezahlen.contains(k))schuldenabezahlen.add(k); if(!schuldenabezahlen.contains(k))schuldenabezahlen.add(k);
}); });
panel.add(schuldenzuruck); if(k.getSchulden()>0.0)panel.add(schuldenzuruck);
//studentstatus feld //studentstatus feld
JLabel studentstatus=new JLabel("Student/Schühler: "+( k.isIstStudent()? "Ja" : "Nein")); JLabel studentstatus=new JLabel("Student/Schühler: "+( k.isIstStudent()? "Ja" : "Nein"));
@ -413,18 +413,36 @@ public class framecreater implements ActionListener {
kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().put(m,getDatum()); kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().put(m,getDatum());
Startframe(); Startframe();
}); });
//zuruckgeben button
JButton zuruckgeben=new JButton("Zurückgeben");
zuruckgeben.setBounds(90,125,100,25);
zuruckgeben.addActionListener(e -> {
frame.dispose();
m.setAusgeliehen(-1);
schuldenberechnung(m,kundenliste.get(getAngemeldeterbenuter()));
kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().remove(m);
profilframe();
});
if(m.getAusgeliehen()<0 && getAngemeldeterbenuter()>=0)panel.add(ausleiehen); if(m.getAusgeliehen()<0 && getAngemeldeterbenuter()>=0)panel.add(ausleiehen);
if(m.getAusgeliehen()>=0 && m.getAusgeliehen()==getAngemeldeterbenuter())panel.add(zuruckgeben); if(m.getAusgeliehen()>=0 && m.getAusgeliehen()==getAngemeldeterbenuter()){
//zuruckgeben button
JButton zuruckgeben=new JButton("Zurückgeben");
zuruckgeben.setBounds(90,125,100,25);
zuruckgeben.addActionListener(e -> {
frame.dispose();
m.setAusgeliehen(-1);
schuldenberechnung(m,kundenliste.get(getAngemeldeterbenuter()));
kundenliste.get(getAngemeldeterbenuter()).getAusgeliehen().remove(m);
profilframe();
});
panel.add(zuruckgeben);
//Verlängern button
JButton Verlängern=new JButton("Verlängern");
Verlängern.setBounds(150,100,100,25);
Verlängern.addActionListener(e -> {
//set max verlängerungen
int verlangerung = m.getAusleizeit();
if(m.getClass().getName().substring(20).equals("Buch") && verlangerung<(4*4))verlangerung+=4;
if(m.getClass().getName().substring(20).equals("Viedeospiel") && verlangerung==4)verlangerung*=2;
frame.dispose();
m.setAusleizeit(verlangerung);
onmedienclick(m);
});
if(m.getClass().getName().substring(20).equals("Buch"))panel.add(Verlängern);
if(m.getClass().getName().substring(20).equals("Viedeospiel"))panel.add(Verlängern);
}
} }
@ -470,15 +488,12 @@ public class framecreater implements ActionListener {
LocalDate datethen=k.getAusgeliehen().get(m); LocalDate datethen=k.getAusgeliehen().get(m);
//set max verlängerungen //set max verlängerungen
int verlangerung = m.getAusleizeit(); int verlangerung = m.getAusleizeit()*7;
if(m.getClass().getName().substring(20).equals("Buch"))verlangerung*=4;
if(m.getClass().getName().substring(20).equals("Viedeospiel"))verlangerung*=2;
//wochen berechnen //wochen berechnen
int weeksapart = ((int) ChronoUnit.DAYS.between(datethen,datenow))/7; int weeksapart = ((int) ChronoUnit.DAYS.between(datethen,datenow));
if(weeksapart>verlangerung){ if(weeksapart>verlangerung){
weeksapart-=verlangerung; weeksapart-=verlangerung;
weeksapart*=7;
int schulden=0; int schulden=0;
if(weeksapart<7){ if(weeksapart<7){
schulden=weeksapart; schulden=weeksapart;

View File

@ -23,6 +23,9 @@ public abstract class Medien {
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
} }
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
}
} }
class Buch extends Medien{ class Buch extends Medien{
@ -33,6 +36,7 @@ class Buch extends Medien{
private int verofentlichung; private int verofentlichung;
private int nummber; private int nummber;
private int ausgeliehen; private int ausgeliehen;
private int ausleizeit;
public Buch(String autor, String titel, String beschreibung, int verofentlichung){ public Buch(String autor, String titel, String beschreibung, int verofentlichung){
@ -42,6 +46,7 @@ class Buch extends Medien{
this.verofentlichung=verofentlichung; this.verofentlichung=verofentlichung;
this.nummber=Bibiliotek.medienliste.size()+1; //test it this.nummber=Bibiliotek.medienliste.size()+1; //test it
this.ausgeliehen=-1; this.ausgeliehen=-1;
this.ausleizeit=4;
} }
@Override @Override
@ -81,7 +86,11 @@ class Buch extends Medien{
@Override @Override
public int getAusleizeit() { public int getAusleizeit() {
return 4; return ausleizeit;
}
@Override
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
} }
} }
class DVD extends Medien{ class DVD extends Medien{
@ -103,6 +112,11 @@ class DVD extends Medien{
this.ausgeliehen=-1; this.ausgeliehen=-1;
} }
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override @Override
public void setAusgeliehen(int ausgeliehen) { public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
@ -167,6 +181,11 @@ class CD extends Medien{
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
} }
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override @Override
public String getAutor() { public String getAutor() {
return autor; return autor;
@ -221,6 +240,11 @@ class Brettspiel extends Medien{
this.ausgeliehen=-1; this.ausgeliehen=-1;
} }
@Override
public void setAusleizeit(int ausleizeit) {
super.setAusleizeit(ausleizeit);
}
@Override @Override
public void setAusgeliehen(int ausgeliehen) { public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
@ -270,6 +294,7 @@ class Viedeospiel extends Medien{
private int verofentlichung; private int verofentlichung;
private int nummber; private int nummber;
private int ausgeliehen; private int ausgeliehen;
private int ausleizeit;
public Viedeospiel(String autor, String titel, String beschreibung, int verofentlichung){ public Viedeospiel(String autor, String titel, String beschreibung, int verofentlichung){
@ -279,13 +304,20 @@ class Viedeospiel extends Medien{
this.verofentlichung=verofentlichung; this.verofentlichung=verofentlichung;
this.nummber=Bibiliotek.medienliste.size()+1; //test it this.nummber=Bibiliotek.medienliste.size()+1; //test it
this.ausgeliehen=-1; this.ausgeliehen=-1;
this.ausleizeit=4;
} }
@Override @Override
public void setAusgeliehen(int ausgeliehen) { public void setAusgeliehen(int ausgeliehen) {
this.ausgeliehen = ausgeliehen; this.ausgeliehen = ausgeliehen;
} }
@Override
public void setAusleizeit(int ausleizeit) {
this.ausleizeit = ausleizeit;
}
@Override @Override
public String getAutor() { public String getAutor() {
return autor; return autor;
@ -318,6 +350,6 @@ class Viedeospiel extends Medien{
@Override @Override
public int getAusleizeit() { public int getAusleizeit() {
return 4; return ausleizeit;
} }
} }