Bestellungen: Bestand wird aktualisiert
parent
8aa7bbf465
commit
d0b4493755
|
|
@ -10,6 +10,7 @@ import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
public class Bestellsystem {
|
public class Bestellsystem {
|
||||||
|
|
||||||
private static List<Bestellung> bestellungen = new ArrayList<>();
|
private static List<Bestellung> bestellungen = new ArrayList<>();
|
||||||
|
|
@ -50,16 +51,24 @@ public class Bestellsystem {
|
||||||
boolean istVerfuegbar = false;
|
boolean istVerfuegbar = false;
|
||||||
if (gericht.equalsIgnoreCase("fertig")) {
|
if (gericht.equalsIgnoreCase("fertig")) {
|
||||||
speichereBestellung(bestellung);
|
speichereBestellung(bestellung);
|
||||||
|
System.out.println("Bestand wurde aktualisiert");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
for (Dish dish : menu.getDishes()) {
|
try { for (Dish dish : menu.getDishes()) {
|
||||||
if (gericht.equalsIgnoreCase(dish.getName())) {
|
if (gericht.equalsIgnoreCase(dish.getName())) {
|
||||||
|
SystemController.inventory.useIngredients(dish.getIngredients());
|
||||||
bestellung.addGericht(gericht);
|
bestellung.addGericht(gericht);
|
||||||
istVerfuegbar = true;
|
istVerfuegbar = true;
|
||||||
bestellungen.add(bestellung);
|
bestellungen.add(bestellung);
|
||||||
System.out.println("Bestellung wurde aktualisiert");
|
System.out.println("Bestellung wurde aktualisiert");
|
||||||
System.out.println(bestellung.getBestellungDetails());
|
System.out.println(bestellung.getBestellungDetails());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// System.out.println("Ist nicht verfügbar");
|
||||||
|
// }
|
||||||
|
}} catch (Exception e ) {
|
||||||
|
|
||||||
}
|
}
|
||||||
if (istVerfuegbar == false) {
|
if (istVerfuegbar == false) {
|
||||||
System.out.println("Gericht ist nicht im Menu");
|
System.out.println("Gericht ist nicht im Menu");
|
||||||
|
|
@ -77,6 +86,7 @@ public class Bestellsystem {
|
||||||
// break;
|
// break;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
Tisch Nummer: 4444
|
||||||
|
Bestellte Gerichte:
|
||||||
|
|
||||||
|
Zeit: 18:58
|
||||||
|
--------------------------
|
||||||
|
Tisch Nummer: 3333
|
||||||
|
Bestellte Gerichte:
|
||||||
|
- Ayrimramen
|
||||||
|
- Cheeseburger
|
||||||
|
|
||||||
|
Zeit: 19:12
|
||||||
|
--------------------------
|
||||||
|
|
@ -33,7 +33,6 @@ class Inventory {
|
||||||
writer.write(entry.getKey() + "," + entry.getValue());
|
writer.write(entry.getKey() + "," + entry.getValue());
|
||||||
writer.newLine();
|
writer.newLine();
|
||||||
}
|
}
|
||||||
System.out.println("Bestand in Datei gespeichert.");
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.out.println("Fehler beim Speichern der Datei: " + e.getMessage());
|
System.out.println("Fehler beim Speichern der Datei: " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
@ -50,7 +49,7 @@ class Inventory {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean useIngredients(Map<String, Integer> ingredients) {
|
public boolean showIngredientsAvailable(Map<String, Integer> ingredients) {
|
||||||
for (Map.Entry<String, Integer> entry : ingredients.entrySet()) {
|
for (Map.Entry<String, Integer> entry : ingredients.entrySet()) {
|
||||||
String ingredient = entry.getKey();
|
String ingredient = entry.getKey();
|
||||||
int amount = entry.getValue();
|
int amount = entry.getValue();
|
||||||
|
|
@ -59,10 +58,17 @@ class Inventory {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void useIngredients(Map<String, Integer> ingredients) {
|
||||||
|
|
||||||
for (Map.Entry<String, Integer> entry : ingredients.entrySet()) {
|
for (Map.Entry<String, Integer> entry : ingredients.entrySet()) {
|
||||||
stock.put(entry.getKey(), stock.get(entry.getKey()) - entry.getValue());
|
stock.put(entry.getKey(), stock.get(entry.getKey()) - entry.getValue());
|
||||||
|
saveStockToFile();
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Neue Methode: Zutaten hinzufügen
|
// Neue Methode: Zutaten hinzufügen
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,38 @@
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
class Menu {
|
class Menu {
|
||||||
public List<Dish> dishes = new ArrayList<>();
|
public List<Dish> dishes = new ArrayList<>();
|
||||||
|
public List<Dish> availableDishes = new ArrayList<>();
|
||||||
|
|
||||||
public Menu() {
|
public Menu() {
|
||||||
|
|
||||||
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)));
|
||||||
|
dishes.add(new Dish("Ramen", Map.of("Soße", 1, "Salat", 1, "Tomaten", 1, "Nudeln", 30)));
|
||||||
}
|
}
|
||||||
|
|
||||||
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()) == true) {
|
if (inventory.showIngredientsAvailable(dish.getIngredients()) == true) {
|
||||||
System.out.println("- " + dish.getName());
|
System.out.println("- " + dish.getName());
|
||||||
|
availableDishes.add(dish);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Dish> getAvailableDishes() {
|
||||||
|
return availableDishes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void bestandMinus(Inventory inventory) {
|
||||||
|
for (Dish dish : dishes) {
|
||||||
|
inventory.useIngredients(dish.getIngredients());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<Dish> getDishes() {
|
public List<Dish> getDishes() {
|
||||||
return dishes;
|
return dishes;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ class SystemController {
|
||||||
private Scanner scanner = new Scanner(System.in);
|
private Scanner scanner = new Scanner(System.in);
|
||||||
private Map<String, User> users = new HashMap<>();
|
private Map<String, User> users = new HashMap<>();
|
||||||
private final String USERS_FILE = "src/users.txt";
|
private final String USERS_FILE = "src/users.txt";
|
||||||
private Inventory inventory = new Inventory();
|
public static Inventory inventory = new Inventory();
|
||||||
private Menu menu = new Menu();
|
private Menu menu = new Menu();
|
||||||
|
|
||||||
public SystemController() {
|
public SystemController() {
|
||||||
|
|
@ -143,8 +143,8 @@ class SystemController {
|
||||||
switch (choice) {
|
switch (choice) {
|
||||||
case 1 -> {
|
case 1 -> {
|
||||||
menu.displayMenu(inventory);
|
menu.displayMenu(inventory);
|
||||||
|
|
||||||
Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
|
Bestellsystem.erstelleBestellung(); // Neue Bestellung erstellen
|
||||||
|
|
||||||
}
|
}
|
||||||
case 2 -> {
|
case 2 -> {
|
||||||
Bestellsystem.zeigeAlleBestellungen(); // Bestellungen im Speicher anzeigen
|
Bestellsystem.zeigeAlleBestellungen(); // Bestellungen im Speicher anzeigen
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
Soße,50000000
|
Soße,49999996
|
||||||
Ananasdasdas,5000
|
Ananasdasdas,5000
|
||||||
Brot,1532
|
Brot,1519
|
||||||
Tomaten,511
|
Tomaten,503
|
||||||
Käse,732
|
Käse,724
|
||||||
Fleisch,24
|
Fleisch,12
|
||||||
|
Salat,494
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue