Skip to content

Instantly share code, notes, and snippets.

@Geolykt
Last active April 7, 2024 11:36
Show Gist options
  • Save Geolykt/8b162f6f0a019cb351eca53692260973 to your computer and use it in GitHub Desktop.
Save Geolykt/8b162f6f0a019cb351eca53692260973 to your computer and use it in GitHub Desktop.
LA Hessen 2021 NT (SLZ) 2.2.2
public class Geraet {
private int geraeteNr;
private boolean einsatzBereit;
private Geraetetyp geraetetyp;
private ArrayList<Reservierung> reservierungen;
public Geraet(Geraetetyp typ) {
this.geraetetyp = typ;
this.gerateNr = typ.getGeraetetypNr() * 100 + typ.getGeraete().size();
this.einsatzBereit = true;
this.reservierungen = new ArrayList<>();
}
public boolean istFrei(Date von, Date bis) {
boolean frei = true;
for (Reservierung r : this.reservierungen) {
if (r.getVonDatum().isBetween(von, bis)
|| r.getNachDatum().isBetween(von, bis)
|| von.isBetween(r.getVonDatum(), r.getNachDatum())
|| nach.isBetween(r.getVonDatum(), r.getNachDatum())) {
frei = false;
}
}
return frei;
}
public void hinzufuegenRechnung(Reservierung r) {
int einfuegeStelle = this.reservierungen.size();
for (int i = 0; i < this.reservierungen.size() - 1; i = i + 1) {
if (this.reservierungen.get(i).getVonDatum().isBefore(r.getVonDatum())
&& this.reservierungen.get(i).getVonDatum().isAfter(r.getVonDatum())) {
einfuegeStelle = i + 1;
}
}
if (this.reservierungen.size() != 0
&& this.reservierungen.get(0).getVonDatum().isAfter(r.getVonDatum())) {
einfuegeStelle = 0;
}
this.reservierungen.add(einfuegeStelle, r);
}
public boolean loescheReservierung(Reservierung r) {
return this.reservierungen.remove(r);
}
}
public class Geraetetyp {
private int geraetetypNr;
private String bezeichnung;
private ArrayList<Geraet> geraete;
public Geraetetyp(int typNr, String bezeichnung) {
this.geraetetypNr = typNr;
this.bezeichnung = bezeichnung;
this.geraete = new ArrayList<>();
}
public void erfasseGeraet() {
Geraet g = new Geraet(this);
this.geraete.add(g):
}
public Geraet sucheFreiesGeraet(Date von, Date bis) {
Geraet gefunden = null;
for (Geraet geraet : this.geraete) {
if (geraet.istFrei(von, bis)) {
gefunden = geraet;
}
}
return gefunden;
}
// Ich bin mir nicht zu 100% sicher ob die getter-Methoden benötigt werden
// - ich meine nein, aber sicher ist sicher.
public int getGeraetetypNr() {
return this.geraetetypNr;
}
public ArrayList<Geraet> getGeraete() {
return this.geraete;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment