From 7acd24e28550d365172470ee69cc2263700b391c Mon Sep 17 00:00:00 2001 From: Samuel Wolff Date: Wed, 24 Jan 2024 11:44:01 +0100 Subject: [PATCH] uuuhhhhhh --- src/main/java/Logik/Mahlzeit.java | 20 +++++++ .../RestAPISchnittstelle/RestApiClient.java | 55 +++++++++++++++++++ .../EssensverwaltungMitarbeiterView.java | 53 +++++++++++++----- .../essensverwaltung_mitarbeiter-view.fxml | 3 - 4 files changed, 115 insertions(+), 16 deletions(-) diff --git a/src/main/java/Logik/Mahlzeit.java b/src/main/java/Logik/Mahlzeit.java index 2c09865..dbeb482 100644 --- a/src/main/java/Logik/Mahlzeit.java +++ b/src/main/java/Logik/Mahlzeit.java @@ -3,6 +3,8 @@ package Logik; import java.util.ArrayList; public class Mahlzeit { + + private int id; private String name; private float preis; private ArrayList zutaten; @@ -15,6 +17,22 @@ public class Mahlzeit { zutaten = new ArrayList<>(); } + public Mahlzeit (int id, String name, float preis, String beschreibung) { + this.id = id; + this.name = name; + this.preis = preis; + this.beschreibung = beschreibung; + zutaten = new ArrayList<>(); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + public String getName() { return name; } @@ -36,4 +54,6 @@ public class Mahlzeit { return String.format("Name: %s, Preis: %g, Beschreibung: %s", name, preis, beschreibung); } + + } diff --git a/src/main/java/RestAPISchnittstelle/RestApiClient.java b/src/main/java/RestAPISchnittstelle/RestApiClient.java index ae14afd..99f13fa 100644 --- a/src/main/java/RestAPISchnittstelle/RestApiClient.java +++ b/src/main/java/RestAPISchnittstelle/RestApiClient.java @@ -371,4 +371,59 @@ public class RestApiClient implements IRestAPI{ } } + public int getGerichtIdOnTag(String name, String datum){ + + URI apiUri = URI.create(String.format("%s/Tagesplan/getGerichtIdOnTag?name=%s&datum=%s", urlBase, name, datum)); + System.out.println(apiUri); + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .header("Content-Type", "application/json") + .GET() + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Response Body: " + httpResponse.body()); + + JsonElement jsonElement = JsonParser.parseString(httpResponse.body()); + + JsonArray json = jsonElement.getAsJsonArray(); + + JsonObject o = json.get(0).getAsJsonObject(); + + return o.get("id").getAsInt(); + + } catch (Exception e) { + e.printStackTrace(); + return -1; + } + } + + public void deleteGericht(int id){ + URI apiUri = URI.create(String.format("%s/Tagesplan/%d", urlBase, id)); + System.out.println(apiUri); + HttpRequest httpRequest = HttpRequest.newBuilder() + .uri(apiUri) + .header("Content-Type", "application/json") + .DELETE() + .build(); + + try { + // Send the request and get the response + HttpResponse httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); + + // Print the response status code and body + System.out.println("Status Code: " + httpResponse.statusCode()); + System.out.println("Delete Gericht: Response Body: " + httpResponse.body()); + + + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java index 92d7f9b..71ea052 100644 --- a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java +++ b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java @@ -3,6 +3,9 @@ package de.subway_surfers.vpr_app; import Logik.Mahlzeit; import Logik.Tagesplan; import RestAPISchnittstelle.RestApiClient; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; @@ -23,6 +26,7 @@ import javafx.stage.Stage; import java.net.http.WebSocket; import java.text.DateFormat; +import java.time.LocalDate; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -63,14 +67,14 @@ public class EssensverwaltungMitarbeiterView { */ DateFormat dateFormat = DateFormat.getDateInstance(); - date = dateFormat.format(new Date()); - date = date.replace('.', '-'); - day = date.split("-")[0]; - month = date.split("-")[1]; - year = date.split("-")[2]; - date = String.format("%s-%s-%s", year, month, day); + date = LocalDate.now().toString(); + //date = date.replace('.', '-'); + //day = date.split("-")[0]; + //month = date.split("-")[1]; + //year = date.split("-")[2]; + //date = String.format("%s-%s-%s", year, month, day); - dateLabel.setText(String.format("%s.%s.%s", day, month, year)); + dateLabel.setText(date); initGrid(); initGerichte(); @@ -111,10 +115,15 @@ public class EssensverwaltungMitarbeiterView { tagesplan.getChildren().clear(); - day = String.valueOf(Integer.parseInt(day)-1); - date = String.format("%s-%s-%s", year, month, day); + LocalDate datum = LocalDate.parse(date); + datum = datum.minusDays(1); + date = datum.toString(); + dateLabel.setText(date); - dateLabel.setText(String.format("%s.%s.%s", day, month, year)); + //day = String.valueOf(Integer.parseInt(day)-1); + //date = String.format("%s-%s-%s", year, month, day); + + //dateLabel.setText(String.format("%s.%s.%s", day, month, year)); initGerichte(); @@ -128,10 +137,15 @@ public class EssensverwaltungMitarbeiterView { tagesplan.getChildren().clear(); - day = String.valueOf(Integer.parseInt(day)+1); - date = String.format("%s-%s-%s", year, month, day); + LocalDate datum = LocalDate.parse(date); + datum = datum.plusDays(1); + date = datum.toString(); + dateLabel.setText(date); - dateLabel.setText(String.format("%s.%s.%s", day, month, year)); + //day = String.valueOf(Integer.parseInt(day)+1); + //date = String.format("%s-%s-%s", year, month, day); + + //dateLabel.setText(String.format("%s.%s.%s", day, month, year)); initGerichte(); @@ -143,6 +157,7 @@ public class EssensverwaltungMitarbeiterView { private void initGerichte(){ tagesplan.getStyleClass().clear(); + tagesplan.getChildren().clear(); t = new RestApiClient().getGerichteOnTag(date); @@ -206,7 +221,19 @@ public class EssensverwaltungMitarbeiterView { private void loeschenButtonKlick(ActionEvent a){ Button btn = (Button) a.getSource(); int col = GridPane.getColumnIndex(btn); + Mahlzeit m = t.getGerichte().get(col); + + RestApiClient cl = new RestApiClient(); + + int id = cl.getGerichtIdOnTag(t.getGerichte().get(col < 0 ? 0 : col).getName().replace(' ', '_'), date); + t.getGerichte().remove(col); + + System.out.println("Die Id lautet: " + id + col); + + String json = String.format("{\"name\" : \"%s\", \"datum\" : \"%s\"}", m.getName(), date); + + cl.delete("GibtsAm", id); initGerichte(); } diff --git a/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml index 5bdb910..6390d69 100644 --- a/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml +++ b/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml @@ -52,9 +52,6 @@ - -