Neue Funktion: Man kann jetzt Bestellungen löschen, außerdem wurde die
"Bestellungen anzeigen" Funktion überarbeitet.master
parent
d0b4493755
commit
bf99dc901c
|
|
@ -18,6 +18,7 @@ public class Bestellsystem {
|
|||
private static Menu menu = new Menu();
|
||||
private final String STOCK_FILE = "src/stock.txt";
|
||||
HashMap<String, Integer> stock = new HashMap<>();
|
||||
private final static String FILE_PATH = "src/Bestellungen.txt";
|
||||
|
||||
public static void erstelleBestellung() {
|
||||
System.out.print("Bitte gib die Tischnummer ein: ");
|
||||
|
|
@ -89,6 +90,40 @@ public class Bestellsystem {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
public static void loescheBestellung() {
|
||||
ladeUndZeigeBestellungen();
|
||||
|
||||
System.out.print("Gib die ID der zu löschenden Bestellung ein: ");
|
||||
String id = scanner.nextLine();
|
||||
|
||||
Bestellung zuLoeschen = null;
|
||||
|
||||
for (Bestellung bestellung : bestellungen) {
|
||||
if (bestellung.getId().equals(id)) {
|
||||
zuLoeschen = bestellung;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (zuLoeschen != null) {
|
||||
bestellungen.remove(zuLoeschen);
|
||||
aktualisiereDatei();
|
||||
System.out.println("Bestellung wurde gelöscht.");
|
||||
} else {
|
||||
System.out.println("Keine Bestellung mit der angegebenen ID gefunden.");
|
||||
}
|
||||
}
|
||||
private static void aktualisiereDatei() {
|
||||
try (FileWriter writer = new FileWriter(FILE_PATH, false)) {
|
||||
for (Bestellung bestellung : bestellungen) {
|
||||
writer.write(bestellung.toFileFormat());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.out.println("Fehler beim Aktualisieren der Datei: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void speichereBestellung(Bestellung bestellung) {
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -1,42 +1,77 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Bestellung {
|
||||
private String id;
|
||||
private String tischNummer;
|
||||
private List<String> bestellteGerichte;
|
||||
private List<String> zusatzWuensche;
|
||||
|
||||
|
||||
public Bestellung(String tischNummer) {
|
||||
this.id = UUID.randomUUID().toString();
|
||||
this.tischNummer = tischNummer;
|
||||
this.bestellteGerichte = new ArrayList<>();
|
||||
//this.zusatzWuensche = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void addGericht(String gericht) {
|
||||
this.bestellteGerichte.add(gericht);
|
||||
}
|
||||
|
||||
public void addZusatzWunsch(String wunsch) {
|
||||
this.zusatzWuensche.add(wunsch);
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
|
||||
public String getBestellungDetails() {
|
||||
StringBuilder details = new StringBuilder();
|
||||
details.append("Tisch Nummer: ").append(tischNummer).append("\nBestellte Gerichte:\n");
|
||||
details.append("ID: ").append(id).append("\n")
|
||||
.append("Tisch Nummer: ").append(tischNummer).append("\n")
|
||||
.append("Bestellte Gerichte:\n");
|
||||
|
||||
for (String gericht : bestellteGerichte) {
|
||||
details.append("- ").append(gericht).append("\n");
|
||||
}
|
||||
|
||||
// if (!zusatzWuensche.isEmpty()) {
|
||||
// details.append("Zusätzliche Wünsche:\n");
|
||||
// for (String wunsch : zusatzWuensche) {
|
||||
// details.append("- ").append(wunsch).append("\n");
|
||||
// }
|
||||
// }
|
||||
|
||||
return details.toString();
|
||||
}
|
||||
}
|
||||
|
||||
public String toFileFormat() {
|
||||
return id + ";" + tischNummer + ";" + String.join(",", bestellteGerichte) + "\n";
|
||||
}
|
||||
|
||||
public static Bestellung fromFileFormat(String fileLine) {
|
||||
try {
|
||||
|
||||
String[] parts = fileLine.split(";");
|
||||
if (parts.length < 3) {
|
||||
throw new IllegalArgumentException("Ungültiges Dateiformat: " + fileLine);
|
||||
}
|
||||
|
||||
|
||||
String id = parts[0].trim();
|
||||
String tischNummer = parts[1].trim();
|
||||
|
||||
// Bestellte Gerichte
|
||||
List<String> gerichte = new ArrayList<>();
|
||||
String[] gerichteArray = parts[2].split(",");
|
||||
for (String gericht : gerichteArray) {
|
||||
if (!gericht.trim().isEmpty()) {
|
||||
gerichte.add(gericht.trim());
|
||||
}
|
||||
}
|
||||
Bestellung bestellung = new Bestellung(tischNummer);
|
||||
bestellung.setId(id);
|
||||
for (String gericht : gerichte) {
|
||||
bestellung.addGericht(gericht);
|
||||
}
|
||||
|
||||
return bestellung;
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("Fehler beim Parsen der Zeile: " + fileLine, e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,7 @@
|
|||
Tisch Nummer: 4444
|
||||
ID: aa9888b3-148a-4866-b404-7f9dc262153b
|
||||
Tisch Nummer: 1
|
||||
Bestellte Gerichte:
|
||||
|
||||
Zeit: 18:58
|
||||
--------------------------
|
||||
Tisch Nummer: 3333
|
||||
Bestellte Gerichte:
|
||||
- Ayrimramen
|
||||
- Cheeseburger
|
||||
|
||||
Zeit: 19:12
|
||||
Zeit: 20:00
|
||||
--------------------------
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ class Menu {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public List<Dish> getAvailableDishes() {
|
||||
return availableDishes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
class Order {
|
||||
private int tableNumber;
|
||||
private String dish;
|
||||
private boolean completed;
|
||||
|
||||
public Order(int tableNumber, String dish) {
|
||||
this.tableNumber = tableNumber;
|
||||
this.dish = dish;
|
||||
this.completed = false;
|
||||
}
|
||||
|
||||
public void completeOrder() {
|
||||
completed = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,5 @@ public class RestaurantManagement {
|
|||
public static void main(String[] args) {
|
||||
SystemController systemController = new SystemController();
|
||||
systemController.startSystem();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -133,7 +133,7 @@ class SystemController {
|
|||
System.out.println("\n--- Bestellungen verwalten ---");
|
||||
System.out.println("1. Bestellung aufnehmen");
|
||||
System.out.println("2. Alle Bestellungen anzeigen");
|
||||
System.out.println("3. Bestellungen aus Datei anzeigen");
|
||||
System.out.println("3. Bestellungen löschen");
|
||||
System.out.println("4. Zurück zum Hauptmenü");
|
||||
|
||||
System.out.print("Bitte wähle eine Option: ");
|
||||
|
|
@ -147,10 +147,10 @@ class SystemController {
|
|||
|
||||
}
|
||||
case 2 -> {
|
||||
Bestellsystem.zeigeAlleBestellungen(); // Bestellungen im Speicher anzeigen
|
||||
Bestellsystem.ladeUndZeigeBestellungen(); // Bestellungen aus Datei anzeigen
|
||||
}
|
||||
case 3 -> {
|
||||
Bestellsystem.ladeUndZeigeBestellungen(); // Bestellungen aus Datei anzeigen
|
||||
Bestellsystem.loescheBestellung(); // Bestellungen aus Datei löschen
|
||||
}
|
||||
case 4 -> managingOrders = false;
|
||||
default -> System.out.println("Ungültige Auswahl. Bitte versuche es erneut.");
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Soße,49999996
|
||||
Ananasdasdas,5000
|
||||
Brot,1519
|
||||
Brot,1504
|
||||
Tomaten,503
|
||||
Käse,724
|
||||
Fleisch,12
|
||||
Käse,716
|
||||
Fleisch,94
|
||||
Salat,494
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
Dimitry:1234:MANAGER
|
||||
Abbas Kronboch:1234:SERVICE
|
||||
Abbas:1234:SERVICE
|
||||
Ananas Kopf:Bananenbieger:KITCHEN
|
||||
|
|
|
|||
Loading…
Reference in New Issue