import java.util.Scanner; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.HashMap; public class Bestellsystem { private static List bestellungen = new ArrayList<>(); private static Scanner scanner = new Scanner(System.in); private static Menu menu = new Menu(); private final String STOCK_FILE = "src/stock.txt"; HashMap stock = new HashMap<>(); public static void erstelleBestellung() { System.out.print("Bitte gib die Tischnummer ein: "); String tischNummer = scanner.nextLine(); Bestellung bestellung = new Bestellung(tischNummer); while (true) { // List Gerichte = new ArrayList<>(menu.getDishes()); // try (BufferedReader reader = new BufferedReader(new FileReader(STOCK_FILE))) { // String line; // while ((line = reader.readLine()) != null) { // String[] parts = line.split(","); // // String name = parts[0]; // Integer count = Integer.parseInt(parts[1]); // stock.put(name, count); // // } // } catch (FileNotFoundException e) { // System.out.println("Stockdatenbank nicht gefunden. Einträge müssen manuell erstellt werden"); // // } catch (IOException e) { // System.out.println("Fehler beim Lesen der Benutzerdatenbank: " + e.getMessage()); // } // for (Dish gericht : Gerichte) { // if (stock.containsKey(gericht.getName())) { // if (stock.get(gericht.getName()) < ) // } // } System.out.print("Bitte bestelle ein Gericht (oder 'fertig', um abzuschließen): "); String gericht = scanner.nextLine(); boolean istVerfuegbar = false; if (gericht.equalsIgnoreCase("fertig")) { speichereBestellung(bestellung); System.out.println("Bestand wurde aktualisiert"); break; } try { for (Dish dish : menu.getDishes()) { if (gericht.equalsIgnoreCase(dish.getName())) { SystemController.inventory.useIngredients(dish.getIngredients()); bestellung.addGericht(gericht); istVerfuegbar = true; bestellungen.add(bestellung); System.out.println("Bestellung wurde aktualisiert"); System.out.println(bestellung.getBestellungDetails()); } // else { // System.out.println("Ist nicht verfügbar"); // } }} catch (Exception e ) { } if (istVerfuegbar == false) { System.out.println("Gericht ist nicht im Menu"); } // while (true) { // System.out.print("Möchte der Kunde noch einen Zusatzwunsch für dieses Gericht? (ja/nein): "); // String wunschAntwort = scanner.nextLine(); // // if (wunschAntwort.equalsIgnoreCase("ja")) { // System.out.print("Bitte gib den Zusatzwunsch ein (z.B. 'keine Tomaten'): "); // String zusatzWunsch = scanner.nextLine(); // bestellung.addZusatzWunsch(zusatzWunsch); // } else if (wunschAntwort.equalsIgnoreCase("nein")) { // break; // } // } } } public static void speichereBestellung(Bestellung bestellung) { try { File file = new File("src/Bestellungen.txt"); FileWriter writer = new FileWriter(file, true); writer.write(bestellung.getBestellungDetails()); LocalTime now = LocalTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); writer.write("\nZeit: " + now.format(formatter)); writer.write("\n--------------------------\n"); writer.close(); System.out.println("Bestellung wurde erfolgreich gespeichert."); } catch (IOException e) { System.out.println("Fehler beim Speichern der Bestellung: " + e.getMessage()); } } public static void ladeUndZeigeBestellungen() { try { FileReader fileReader = new FileReader("src/Bestellungen.txt"); BufferedReader bufferedReader = new BufferedReader(fileReader); String zeile; while ((zeile = bufferedReader.readLine()) != null) { System.out.println(zeile); } bufferedReader.close(); } catch (IOException e) { System.out.println("Fehler beim Laden der Bestellungen: " + e.getMessage()); } } public static void zeigeAlleBestellungen() { if (bestellungen.isEmpty()) { System.out.println("Keine Bestellungen vorhanden."); } else { for (Bestellung bestellung : bestellungen) { System.out.println(bestellung.getBestellungDetails()); } } } public static void main(String[] args) { while (true) { System.out.println("\n--- Restaurant Bestellsystem ---"); System.out.println("1. Bestellung aufnehmen"); System.out.println("2. Alle Bestellungen anzeigen"); System.out.println("3. Beenden"); System.out.print("Bitte wähle eine Option: "); String option = scanner.nextLine(); if (option.equals("1")) { erstelleBestellung(); } else if (option.equals("2")) { zeigeAlleBestellungen(); } else if (option.equals("3")) { System.out.println("Programm wird beendet."); break; } else { System.out.println("Ungültige Eingabe. Bitte versuche es erneut."); } } } }