Vollständiges Bestellsystem implementiert (Bestellungen aufgeben,
anzeigen usw.)master
parent
c813b1efd7
commit
0faefb5179
|
|
@ -1,10 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-22">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="module" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=22
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
|
||||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
org.eclipse.jdt.core.compiler.compliance=22
|
org.eclipse.jdt.core.compiler.compliance=21
|
||||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
|
|
@ -11,4 +11,4 @@ org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||||
org.eclipse.jdt.core.compiler.release=enabled
|
org.eclipse.jdt.core.compiler.release=enabled
|
||||||
org.eclipse.jdt.core.compiler.source=22
|
org.eclipse.jdt.core.compiler.source=21
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,117 @@
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Bestellsystem {
|
||||||
|
|
||||||
|
private static List<Bestellung> bestellungen = new ArrayList<>();
|
||||||
|
private static Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
|
||||||
|
public static void erstelleBestellung() {
|
||||||
|
System.out.print("Bitte gib die Tischnummer ein: ");
|
||||||
|
String tischNummer = scanner.nextLine();
|
||||||
|
|
||||||
|
Bestellung bestellung = new Bestellung(tischNummer);
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
System.out.print("Bitte bestelle ein Gericht (oder 'fertig', um abzuschließen): ");
|
||||||
|
String gericht = scanner.nextLine();
|
||||||
|
|
||||||
|
if (gericht.equalsIgnoreCase("fertig")) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
bestellung.addGericht(gericht);
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bestellungen.add(bestellung);
|
||||||
|
System.out.println("Bestellung wurde erfolgreich aufgenommen.");
|
||||||
|
System.out.println(bestellung.getBestellungDetails());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void speichereBestellung(Bestellung bestellung) {
|
||||||
|
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() {
|
||||||
|
try {
|
||||||
|
FileReader fileReader = new FileReader("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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class Bestellung {
|
||||||
|
private String tischNummer;
|
||||||
|
private List<String> bestellteGerichte;
|
||||||
|
private List<String> zusatzWuensche;
|
||||||
|
|
||||||
|
public Bestellung(String tischNummer) {
|
||||||
|
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 getBestellungDetails() {
|
||||||
|
StringBuilder details = new StringBuilder();
|
||||||
|
details.append("Tisch Nummer: ").append(tischNummer).append("\nBestellte 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
|
|
||||||
|
|
||||||
public class RestaurantManagement {
|
public class RestaurantManagement {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SystemController systemController = new SystemController();
|
SystemController systemController = new SystemController();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
class SystemController {
|
class SystemController {
|
||||||
private Scanner scanner = new Scanner(System.in);
|
private Scanner scanner = new Scanner(System.in);
|
||||||
|
|
@ -9,20 +11,17 @@ class SystemController {
|
||||||
private Menu menu = new Menu();
|
private Menu menu = new Menu();
|
||||||
|
|
||||||
public SystemController() {
|
public SystemController() {
|
||||||
// Benutzer aus Datei laden
|
|
||||||
loadUsersFromFile();
|
loadUsersFromFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startSystem() {
|
public void startSystem() {
|
||||||
System.out.println("Willkommen im Restaurant Management System!");
|
System.out.println("Willkommen im Restaurant Management System!");
|
||||||
System.out.println("Bitte loggen Sie sich ein: ");
|
System.out.println("Bitte loggen Sie sich ein: ");
|
||||||
|
|
||||||
System.out.println("Username --------------->");
|
|
||||||
|
|
||||||
|
System.out.print("Username ---------------> ");
|
||||||
String username = scanner.nextLine();
|
String username = scanner.nextLine();
|
||||||
|
|
||||||
System.out.println("Passwort --------------->");
|
System.out.print("Passwort ---------------> ");
|
||||||
|
|
||||||
String password = scanner.nextLine();
|
String password = scanner.nextLine();
|
||||||
|
|
||||||
User user = authenticate(username, password);
|
User user = authenticate(username, password);
|
||||||
|
|
@ -43,14 +42,16 @@ class SystemController {
|
||||||
private void displayMainMenu(User user) {
|
private void displayMainMenu(User user) {
|
||||||
boolean running = true;
|
boolean running = true;
|
||||||
while (running) {
|
while (running) {
|
||||||
System.out.println("Hauptmenü:");
|
System.out.println("\n--- Hauptmenü ---");
|
||||||
System.out.println("1. Bestand ansehen");
|
System.out.println("1. Bestand ansehen");
|
||||||
System.out.println("2. Neuer Nutzer erstellen");
|
System.out.println("2. Neuer Nutzer erstellen");
|
||||||
System.out.println("3. Menü anzeigen");
|
System.out.println("3. Menü anzeigen");
|
||||||
System.out.println("4. Beenden");
|
System.out.println("4. Bestellungen verwalten");
|
||||||
|
System.out.println("5. Beenden");
|
||||||
|
|
||||||
|
System.out.print("Bitte wähle eine Option: ");
|
||||||
int choice = scanner.nextInt();
|
int choice = scanner.nextInt();
|
||||||
scanner.nextLine();
|
scanner.nextLine(); // Eingabepuffer leeren
|
||||||
|
|
||||||
switch (choice) {
|
switch (choice) {
|
||||||
case 1 -> inventory.viewStock();
|
case 1 -> inventory.viewStock();
|
||||||
|
|
@ -58,18 +59,51 @@ class SystemController {
|
||||||
if (user.role == Role.MANAGER) {
|
if (user.role == Role.MANAGER) {
|
||||||
createUser();
|
createUser();
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Keine Rechte du hs");
|
System.out.println("Keine Rechte, um neue Nutzer zu erstellen.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case 3 -> menu.displayMenu(inventory);
|
case 3 -> menu.displayMenu(inventory);
|
||||||
case 4 -> running = false;
|
case 4 -> manageOrders(); // Übergibt an Bestellsystem
|
||||||
default -> System.out.println("Ungültige Auswahl.");
|
case 5 -> {
|
||||||
|
running = false;
|
||||||
|
System.out.println("System wird beendet. Auf Wiedersehen!");
|
||||||
|
}
|
||||||
|
default -> System.out.println("Ungültige Auswahl. Bitte versuche es erneut.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void manageOrders() {
|
||||||
|
boolean managingOrders = true;
|
||||||
|
while (managingOrders) {
|
||||||
|
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("4. Zurück zum Hauptmenü");
|
||||||
|
|
||||||
|
System.out.print("Bitte wähle eine Option: ");
|
||||||
|
int choice = scanner.nextInt();
|
||||||
|
scanner.nextLine(); // Eingabepuffer leeren
|
||||||
|
|
||||||
|
switch (choice) {
|
||||||
|
case 1 -> {
|
||||||
|
Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
|
||||||
|
}
|
||||||
|
case 2 -> {
|
||||||
|
Bestellsystem.zeigeAlleBestellungen(); // Bestellungen im Speicher anzeigen
|
||||||
|
}
|
||||||
|
case 3 -> {
|
||||||
|
Bestellsystem.ladeUndZeigeBestellungen(); // Bestellungen aus Datei anzeigen
|
||||||
|
}
|
||||||
|
case 4 -> managingOrders = false;
|
||||||
|
default -> System.out.println("Ungültige Auswahl. Bitte versuche es erneut.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createUser() {
|
private void createUser() {
|
||||||
System.out.println("Neuen Nutzer erstellen:");
|
System.out.println("\n--- Neuen Nutzer erstellen ---");
|
||||||
System.out.print("Benutzername: ");
|
System.out.print("Benutzername: ");
|
||||||
String username = scanner.nextLine();
|
String username = scanner.nextLine();
|
||||||
System.out.print("Passwort: ");
|
System.out.print("Passwort: ");
|
||||||
|
|
@ -119,4 +153,4 @@ class SystemController {
|
||||||
users.put("Dimitry", defaultManager);
|
users.put("Dimitry", defaultManager);
|
||||||
saveUserToFile(defaultManager);
|
saveUserToFile(defaultManager);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
Dimitry:1234:MANAGER
|
Dimitry:1234:MANAGER
|
||||||
Abbas Kronboch:Araber:SERVICE
|
Abbas Kronboch:1234:SERVICE
|
||||||
Ananas Kopf:Bananenbieger:KITCHEN
|
Ananas Kopf:Bananenbieger:KITCHEN
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue