Bestellungssystem verfeinert (Wird noch weiter verfeinert),
Ueberpruefung welche Gerichte vorhanden sindmaster
parent
631d3f9602
commit
e29730c223
|
|
@ -1,117 +1,142 @@
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.HashMap;
|
||||||
public class Bestellsystem {
|
public class Bestellsystem {
|
||||||
|
|
||||||
private static List<Bestellung> bestellungen = new ArrayList<>();
|
private static List<Bestellung> bestellungen = new ArrayList<>();
|
||||||
private static Scanner scanner = new Scanner(System.in);
|
private static Scanner scanner = new Scanner(System.in);
|
||||||
|
private static Menu menu = new Menu();
|
||||||
|
private final String STOCK_FILE = "src/stock.txt";
|
||||||
|
HashMap<String, Integer> stock = new HashMap<>();
|
||||||
|
|
||||||
|
public static void erstelleBestellung() {
|
||||||
public static void erstelleBestellung() {
|
System.out.print("Bitte gib die Tischnummer ein: ");
|
||||||
System.out.print("Bitte gib die Tischnummer ein: ");
|
String tischNummer = scanner.nextLine();
|
||||||
String tischNummer = scanner.nextLine();
|
Bestellung bestellung = new Bestellung(tischNummer);
|
||||||
|
while (true) {
|
||||||
|
// List<Dish> 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;
|
||||||
|
for (Dish dish : menu.getDishes()) {
|
||||||
|
if (gericht.equalsIgnoreCase(dish.getName())) {
|
||||||
|
bestellung.addGericht(gericht);
|
||||||
|
istVerfuegbar = true;
|
||||||
|
bestellungen.add(bestellung);
|
||||||
|
System.out.println("Bestellung wurde erfolgreich aufgenommen.");
|
||||||
|
System.out.println(bestellung.getBestellungDetails());
|
||||||
|
}
|
||||||
|
if (gericht.equalsIgnoreCase("fertig")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (istVerfuegbar == false) {
|
||||||
|
System.out.println("Gericht ist nicht im Menu");
|
||||||
|
}
|
||||||
|
|
||||||
Bestellung bestellung = new Bestellung(tischNummer);
|
// 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;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
while (true) {
|
public static void speichereBestellung(Bestellung bestellung) {
|
||||||
System.out.print("Bitte bestelle ein Gericht (oder 'fertig', um abzuschließen): ");
|
try {
|
||||||
String gericht = scanner.nextLine();
|
|
||||||
|
|
||||||
if (gericht.equalsIgnoreCase("fertig")) {
|
File file = new File("Bestellungen.txt");
|
||||||
break;
|
FileWriter writer = new FileWriter(file, true);
|
||||||
}
|
writer.write(bestellung.getBestellungDetails());
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bestellung.addGericht(gericht);
|
public static void ladeUndZeigeBestellungen() {
|
||||||
|
try {
|
||||||
|
FileReader fileReader = new FileReader("Bestellungen.txt");
|
||||||
|
BufferedReader bufferedReader = new BufferedReader(fileReader);
|
||||||
|
String zeile;
|
||||||
|
|
||||||
while (true) {
|
while ((zeile = bufferedReader.readLine()) != null) {
|
||||||
System.out.print("Möchte der Kunde noch einen Zusatzwunsch für dieses Gericht? (ja/nein): ");
|
System.out.println(zeile);
|
||||||
String wunschAntwort = scanner.nextLine();
|
}
|
||||||
|
|
||||||
if (wunschAntwort.equalsIgnoreCase("ja")) {
|
bufferedReader.close();
|
||||||
System.out.print("Bitte gib den Zusatzwunsch ein (z.B. 'keine Tomaten'): ");
|
} catch (IOException e) {
|
||||||
String zusatzWunsch = scanner.nextLine();
|
System.out.println("Fehler beim Laden der Bestellungen: " + e.getMessage());
|
||||||
bestellung.addZusatzWunsch(zusatzWunsch);
|
}
|
||||||
} else if (wunschAntwort.equalsIgnoreCase("nein")) {
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bestellungen.add(bestellung);
|
public static void zeigeAlleBestellungen() {
|
||||||
System.out.println("Bestellung wurde erfolgreich aufgenommen.");
|
if (bestellungen.isEmpty()) {
|
||||||
System.out.println(bestellung.getBestellungDetails());
|
System.out.println("Keine Bestellungen vorhanden.");
|
||||||
}
|
} else {
|
||||||
|
for (Bestellung bestellung : bestellungen) {
|
||||||
public static void speichereBestellung(Bestellung bestellung) {
|
System.out.println(bestellung.getBestellungDetails());
|
||||||
try {
|
}
|
||||||
|
}
|
||||||
File file = new File("Bestellungen.txt");
|
}
|
||||||
FileWriter writer = new FileWriter(file, true);
|
|
||||||
writer.write(bestellung.getBestellungDetails());
|
|
||||||
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() {
|
public static void main(String[] args) {
|
||||||
try {
|
while (true) {
|
||||||
FileReader fileReader = new FileReader("Bestellungen.txt");
|
System.out.println("\n--- Restaurant Bestellsystem ---");
|
||||||
BufferedReader bufferedReader = new BufferedReader(fileReader);
|
System.out.println("1. Bestellung aufnehmen");
|
||||||
String zeile;
|
System.out.println("2. Alle Bestellungen anzeigen");
|
||||||
|
System.out.println("3. Beenden");
|
||||||
|
|
||||||
|
System.out.print("Bitte wähle eine Option: ");
|
||||||
|
String option = scanner.nextLine();
|
||||||
|
|
||||||
while ((zeile = bufferedReader.readLine()) != null) {
|
if (option.equals("1")) {
|
||||||
System.out.println(zeile);
|
erstelleBestellung();
|
||||||
}
|
} else if (option.equals("2")) {
|
||||||
|
zeigeAlleBestellungen();
|
||||||
bufferedReader.close();
|
} else if (option.equals("3")) {
|
||||||
} catch (IOException e) {
|
System.out.println("Programm wird beendet.");
|
||||||
System.out.println("Fehler beim Laden der Bestellungen: " + e.getMessage());
|
break;
|
||||||
}
|
} else {
|
||||||
}
|
System.out.println("Ungültige Eingabe. Bitte versuche es erneut.");
|
||||||
|
}
|
||||||
|
}
|
||||||
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.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -6,10 +6,11 @@ public class Bestellung {
|
||||||
private List<String> bestellteGerichte;
|
private List<String> bestellteGerichte;
|
||||||
private List<String> zusatzWuensche;
|
private List<String> zusatzWuensche;
|
||||||
|
|
||||||
|
|
||||||
public Bestellung(String tischNummer) {
|
public Bestellung(String tischNummer) {
|
||||||
this.tischNummer = tischNummer;
|
this.tischNummer = tischNummer;
|
||||||
this.bestellteGerichte = new ArrayList<>();
|
this.bestellteGerichte = new ArrayList<>();
|
||||||
this.zusatzWuensche = new ArrayList<>();
|
//this.zusatzWuensche = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addGericht(String gericht) {
|
public void addGericht(String gericht) {
|
||||||
|
|
@ -20,22 +21,22 @@ public class Bestellung {
|
||||||
this.zusatzWuensche.add(wunsch);
|
this.zusatzWuensche.add(wunsch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getBestellungDetails() {
|
public String getBestellungDetails() {
|
||||||
StringBuilder details = new StringBuilder();
|
StringBuilder details = new StringBuilder();
|
||||||
details.append("Tisch Nummer: ").append(tischNummer).append("\nBestellte Gerichte:\n");
|
details.append("Tisch Nummer: ").append(tischNummer).append("\nBestellte Gerichte:\n");
|
||||||
|
|
||||||
for (String gericht : bestellteGerichte) {
|
for (String gericht : bestellteGerichte) {
|
||||||
details.append("- ").append(gericht).append("\n");
|
details.append("- ").append(gericht).append("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!zusatzWuensche.isEmpty()) {
|
// if (!zusatzWuensche.isEmpty()) {
|
||||||
details.append("Zusätzliche Wünsche:\n");
|
// details.append("Zusätzliche Wünsche:\n");
|
||||||
for (String wunsch : zusatzWuensche) {
|
// for (String wunsch : zusatzWuensche) {
|
||||||
details.append("- ").append(wunsch).append("\n");
|
// details.append("- ").append(wunsch).append("\n");
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
return details.toString();
|
return details.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -56,7 +56,6 @@ class Inventory {
|
||||||
int amount = entry.getValue();
|
int amount = entry.getValue();
|
||||||
|
|
||||||
if (!stock.containsKey(ingredient) || stock.get(ingredient) < amount) {
|
if (!stock.containsKey(ingredient) || stock.get(ingredient) < amount) {
|
||||||
System.out.println("Nicht genug " + ingredient + " im Lager.");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
class Menu {
|
class Menu {
|
||||||
private List<Dish> dishes;
|
public List<Dish> dishes = new ArrayList<>();
|
||||||
|
|
||||||
public Menu() {
|
public Menu() {
|
||||||
dishes = new ArrayList<>();
|
|
||||||
dishes.add(new Dish("Cheeseburger", Map.of("Brot", 1, "Fleisch", 1, "Käse", 1)));
|
dishes.add(new Dish("Cheeseburger", Map.of("Brot", 1, "Fleisch", 1, "Käse", 1)));
|
||||||
dishes.add(new Dish("Veggie-Burger", Map.of("Brot", 1, "Salat", 1, "Tomaten", 1)));
|
dishes.add(new Dish("Veggie-Burger", Map.of("Brot", 1, "Salat", 1, "Tomaten", 1)));
|
||||||
dishes.add(new Dish("Double Meat Burger", Map.of("Brot", 1, "Fleisch", 2)));
|
dishes.add(new Dish("Double Meat Burger", Map.of("Brot", 1, "Fleisch", 2)));
|
||||||
|
|
@ -12,9 +12,17 @@ class Menu {
|
||||||
public void displayMenu(Inventory inventory) {
|
public void displayMenu(Inventory inventory) {
|
||||||
System.out.println("Verfügbares Menü:");
|
System.out.println("Verfügbares Menü:");
|
||||||
for (Dish dish : dishes) {
|
for (Dish dish : dishes) {
|
||||||
if (inventory.useIngredients(dish.getIngredients())) {
|
if (inventory.useIngredients(dish.getIngredients()) == true) {
|
||||||
System.out.println("- " + dish.getName());
|
System.out.println("- " + dish.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public List<Dish> getDishes() {
|
||||||
|
return dishes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDishes(List<Dish> dishes) {
|
||||||
|
this.dishes = dishes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ class SystemController {
|
||||||
|
|
||||||
public SystemController() {
|
public SystemController() {
|
||||||
loadUsersFromFile();
|
loadUsersFromFile();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startSystem() {
|
public void startSystem() {
|
||||||
|
|
@ -74,7 +74,7 @@ class SystemController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void manageInventory() {
|
private void manageInventory() {
|
||||||
boolean managingInventory = true;
|
boolean managingInventory = true;
|
||||||
while (managingInventory) {
|
while (managingInventory) {
|
||||||
|
|
@ -97,24 +97,26 @@ class SystemController {
|
||||||
System.out.println("Welchen Bestand möchten sie ändern?");
|
System.out.println("Welchen Bestand möchten sie ändern?");
|
||||||
String name = scanner.nextLine();
|
String name = scanner.nextLine();
|
||||||
System.out.println("Neue Anzahl ---->");
|
System.out.println("Neue Anzahl ---->");
|
||||||
try {
|
try {
|
||||||
int anzahl = scanner.nextInt();
|
int anzahl = scanner.nextInt();
|
||||||
inventory.overwriteStock(name,anzahl); // Bestellungen im Speicher anzeigen
|
inventory.overwriteStock(name, anzahl); // Bestellungen im Speicher anzeigen
|
||||||
inventory.saveStockToFile(); // Echtzeitspeicherung der Daten in der Datenbank, die für Daten für alle Nutzer zugänglich macht
|
inventory.saveStockToFile(); // Echtzeitspeicherung der Daten in der Datenbank, die für Daten für
|
||||||
|
// alle Nutzer zugänglich macht
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println("Fehler! Übeprüfen Sie ihre Eingabe");
|
System.out.println("Fehler! Übeprüfen Sie ihre Eingabe");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
case 3 -> {
|
case 3 -> {
|
||||||
System.out.println("Bestand wird erweitert.....");
|
System.out.println("Bestand wird erweitert.....");
|
||||||
System.out.println("Name des Produkts: ");
|
System.out.println("Name des Produkts: ");
|
||||||
String name = scanner.nextLine();
|
String name = scanner.nextLine();
|
||||||
System.out.println("Anzahl :");
|
System.out.println("Anzahl :");
|
||||||
try {
|
try {
|
||||||
int anzahl = scanner.nextInt();
|
int anzahl = scanner.nextInt();
|
||||||
inventory.addIngredients(name,anzahl); // Bestellungen im Speicher anzeigen
|
inventory.addIngredients(name, anzahl); // Bestellungen im Speicher anzeigen
|
||||||
inventory.saveStockToFile(); // Echtzeitspeicherung der Daten in der Datenbank, die für Daten für alle Nutzer zugänglich macht
|
inventory.saveStockToFile(); // Echtzeitspeicherung der Daten in der Datenbank, die für Daten für
|
||||||
|
// alle Nutzer zugänglich macht
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
System.out.println("Fehler! Übeprüfen Sie ihre Eingabe");
|
System.out.println("Fehler! Übeprüfen Sie ihre Eingabe");
|
||||||
}
|
}
|
||||||
|
|
@ -140,6 +142,9 @@ class SystemController {
|
||||||
|
|
||||||
switch (choice) {
|
switch (choice) {
|
||||||
case 1 -> {
|
case 1 -> {
|
||||||
|
System.out.println("Bestellbare Gerichte:");
|
||||||
|
menu.displayMenu(inventory);
|
||||||
|
|
||||||
Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
|
Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
|
||||||
}
|
}
|
||||||
case 2 -> {
|
case 2 -> {
|
||||||
|
|
@ -206,5 +211,4 @@ class SystemController {
|
||||||
saveUserToFile(defaultManager);
|
saveUserToFile(defaultManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -3,3 +3,4 @@ Ananasdasdas,5000
|
||||||
Brot,1532
|
Brot,1532
|
||||||
Tomaten,511
|
Tomaten,511
|
||||||
Käse,732
|
Käse,732
|
||||||
|
Fleisch,24
|
||||||
Loading…
Reference in New Issue