Compare commits
No commits in common. "3edbca73f955f2029c9984466b6a50ac1bbc5a7e" and "0300b96bf451ec9f2a54a19ee1e5ee641180987e" have entirely different histories.
3edbca73f9
...
0300b96bf4
@ -7,7 +7,6 @@
|
|||||||
<option value="$PROJECT_DIR$/pom.xml" />
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
<option name="workspaceImportForciblyTurnedOn" value="true" />
|
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
package Logik;
|
package Logik;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
public class Mahlzeit {
|
public class Mahlzeit {
|
||||||
private String name;
|
private String name;
|
||||||
@ -17,7 +15,6 @@ public class Mahlzeit {
|
|||||||
zutaten = new ArrayList<>();
|
zutaten = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
@ -95,8 +95,8 @@ public class EssensverwaltungMitarbeiterView {
|
|||||||
|
|
||||||
VerwaltungApplication.sceneWechseln(gerichterstellung, 400, 530, "gerichterstellung_mitarbeiter-view.fxml");
|
VerwaltungApplication.sceneWechseln(gerichterstellung, 400, 530, "gerichterstellung_mitarbeiter-view.fxml");
|
||||||
|
|
||||||
gerichterstellung.minWidthProperty().set(420);
|
gerichterstellung.minWidthProperty().set(400);
|
||||||
gerichterstellung.minHeightProperty().set(600);
|
gerichterstellung.minHeightProperty().set(530);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onZurueck(ActionEvent actionEvent) {
|
public void onZurueck(ActionEvent actionEvent) {
|
||||||
|
@ -1,36 +1,27 @@
|
|||||||
package de.subway_surfers.vpr_app;
|
package de.subway_surfers.vpr_app;
|
||||||
|
|
||||||
import Logik.Mahlzeit;
|
|
||||||
import Logik.Zutat;
|
import Logik.Zutat;
|
||||||
import RestAPISchnittstelle.RestApiClient;
|
|
||||||
import com.google.gson.*;
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.TextArea;
|
||||||
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class GerichterstellungMitarbeiterView {
|
public class GerichterstellungMitarbeiterView {
|
||||||
|
|
||||||
private @FXML HBox anzeigeInhaltsstoffe;
|
private @FXML HBox anzeigeInhaltsstoffe;
|
||||||
private @FXML TextArea eingabeBeschreibung;
|
private @FXML TextArea eingabeBeschreibung;
|
||||||
private @FXML TextField eingabeName;
|
private @FXML TextField eingabeName;
|
||||||
private @FXML Button buttonInhaltsstoffe;
|
private @FXML Button buttonInhaltsstoffe;
|
||||||
private @FXML TextField eingabeInhaltsstoffe;
|
private @FXML TextField eingabeInhaltsstoffe;
|
||||||
private @FXML Button speichernButton;
|
|
||||||
private @FXML TextField eingabePreis;
|
|
||||||
private @FXML DatePicker datePicker;
|
|
||||||
private @FXML Label status;
|
|
||||||
|
|
||||||
private ArrayList<Zutat> zutaten;
|
private ArrayList<Zutat> zutaten;
|
||||||
private ArrayList<Mahlzeit> mahlzeiten;
|
|
||||||
|
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
zutaten = new ArrayList<>();
|
zutaten = new ArrayList<>();
|
||||||
mahlzeiten = new ArrayList<>();
|
|
||||||
|
|
||||||
//wird das Fenster vergrößert, wird das Eingabefeld für Inhaltstoffe und den Hinzufügenbutton
|
//wird das Fenster vergrößert, wird das Eingabefeld für Inhaltstoffe und den Hinzufügenbutton
|
||||||
// auf die volle breite vergrößert.
|
// auf die volle breite vergrößert.
|
||||||
@ -57,155 +48,4 @@ public class GerichterstellungMitarbeiterView {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSpeichernButtonClick() {
|
|
||||||
String eingabe = eingabeName.getText();
|
|
||||||
String beschreibung = eingabeBeschreibung.getText();
|
|
||||||
float preis = Float.parseFloat(eingabePreis.getText());
|
|
||||||
LocalDate datum = datePicker.getValue();
|
|
||||||
|
|
||||||
if (!eingabe.isEmpty() && !beschreibung.isEmpty()) {
|
|
||||||
resetEingabeFelder();
|
|
||||||
|
|
||||||
Mahlzeit mahlzeit = new Mahlzeit(eingabe, preis, beschreibung);
|
|
||||||
mahlzeiten.add(mahlzeit);
|
|
||||||
status.setText("Mahlzeit hinzugefügt");
|
|
||||||
|
|
||||||
int datumId = datumBearbeiten(datum);
|
|
||||||
System.out.println(datumId);
|
|
||||||
|
|
||||||
int gerichtId = gerichteAbfragen(mahlzeit);
|
|
||||||
System.out.println(gerichtId);
|
|
||||||
|
|
||||||
inhaltsstoff();
|
|
||||||
gibtsAm(gerichtId, datumId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void resetEingabeFelder() {
|
|
||||||
eingabeName.setText("");
|
|
||||||
eingabeBeschreibung.setText("");
|
|
||||||
eingabePreis.setText("");
|
|
||||||
eingabeInhaltsstoffe.setText("");
|
|
||||||
}
|
|
||||||
|
|
||||||
private int datumBearbeiten(LocalDate datum) {
|
|
||||||
RestApiClient restApiClient = new RestApiClient();
|
|
||||||
String datumAsString = datum.toString();
|
|
||||||
|
|
||||||
JsonElement jsonElement = JsonParser.parseString(restApiClient.get("Tagesplan"));
|
|
||||||
JsonArray jsonArray = jsonElement.getAsJsonArray();
|
|
||||||
|
|
||||||
for (JsonElement element : jsonArray) {
|
|
||||||
JsonObject obj = element.getAsJsonObject();
|
|
||||||
if (obj.get("datum").getAsString().equals(datumAsString)) {
|
|
||||||
return Integer.parseInt(obj.get("id").getAsString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
restApiClient.post("Tagesplan", "{\"datum\":\"" + datumAsString + "\"}");
|
|
||||||
|
|
||||||
jsonElement = JsonParser.parseString(restApiClient.get("Tagesplan"));
|
|
||||||
jsonArray = jsonElement.getAsJsonArray();
|
|
||||||
|
|
||||||
for (JsonElement element : jsonArray) {
|
|
||||||
JsonObject obj = element.getAsJsonObject();
|
|
||||||
if (obj.get("datum").getAsString().equals(datumAsString)) {
|
|
||||||
return Integer.parseInt(obj.get("id").getAsString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void gibtsAm(int gid, int tid){
|
|
||||||
RestApiClient restApiClient = new RestApiClient();
|
|
||||||
|
|
||||||
JsonObject gibtsAmJson = new JsonObject();
|
|
||||||
|
|
||||||
gibtsAmJson.addProperty("tid", tid);
|
|
||||||
gibtsAmJson.addProperty("gid", gid);
|
|
||||||
restApiClient.post("gibtsAm", gibtsAmJson.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void inhaltsstoff() {
|
|
||||||
RestApiClient restApiClient = new RestApiClient();
|
|
||||||
ArrayList<Integer> ids = new ArrayList<>();
|
|
||||||
|
|
||||||
for (Zutat zutat : zutaten) {
|
|
||||||
JsonElement jE = JsonParser.parseString(restApiClient.get("Inhaltsstoff"));
|
|
||||||
JsonArray inhaltsstoffArray = jE.getAsJsonArray();
|
|
||||||
|
|
||||||
int id = -1;
|
|
||||||
|
|
||||||
for (JsonElement element : inhaltsstoffArray) {
|
|
||||||
JsonObject inhatsstoff = element.getAsJsonObject();
|
|
||||||
if (inhatsstoff.get("name").getAsString().equalsIgnoreCase(zutat.getName())) {
|
|
||||||
id = inhatsstoff.get("id").getAsInt();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (id == -1) {
|
|
||||||
JsonObject neuerInhaltsstoff = new JsonObject();
|
|
||||||
neuerInhaltsstoff.addProperty("name", zutat.getName());
|
|
||||||
restApiClient.post("Inhaltsstoff", neuerInhaltsstoff.toString());
|
|
||||||
|
|
||||||
jE = JsonParser.parseString(restApiClient.get("Inhaltsstoff"));
|
|
||||||
inhaltsstoffArray = jE.getAsJsonArray();
|
|
||||||
|
|
||||||
JsonObject letzterInhaltsstoff = inhaltsstoffArray.get(inhaltsstoffArray.size() - 1).getAsJsonObject();
|
|
||||||
id = letzterInhaltsstoff.get("id").getAsInt();
|
|
||||||
System.out.println("Inhaltsstoff hinzugefügt: " + zutat.getName());
|
|
||||||
}
|
|
||||||
ids.add(id);
|
|
||||||
}
|
|
||||||
System.out.println("IDs der Inhaltsstoffe: " + ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private int gerichteAbfragen(Mahlzeit mahlzeit) {
|
|
||||||
RestApiClient restApiClient = new RestApiClient();
|
|
||||||
JsonElement je = JsonParser.parseString(restApiClient.get("Gericht"));
|
|
||||||
JsonArray js = je.getAsJsonArray();
|
|
||||||
|
|
||||||
for (JsonElement element : js) {
|
|
||||||
JsonObject mahlzeitJson = element.getAsJsonObject();
|
|
||||||
String nameMahlzeit = mahlzeitJson.get("name").getAsString();
|
|
||||||
|
|
||||||
if (nameMahlzeit.equals(mahlzeit.getName())) {
|
|
||||||
int id = Integer.parseInt(mahlzeitJson.get("id").getAsString());
|
|
||||||
|
|
||||||
// Update des existierenden Gerichts
|
|
||||||
JsonObject updateGericht = new JsonObject();
|
|
||||||
updateGericht.addProperty("id", id);
|
|
||||||
updateGericht.addProperty("name", mahlzeit.getName());
|
|
||||||
updateGericht.addProperty("preis", mahlzeit.getPreis());
|
|
||||||
updateGericht.addProperty("beschreibung", mahlzeit.getBeschreibung());
|
|
||||||
|
|
||||||
restApiClient.put("Gericht", id, updateGericht.toString());
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Neues Gericht zur Datenbank hinzufügen, falls es nicht existiert
|
|
||||||
JsonObject neuesGericht = new JsonObject();
|
|
||||||
neuesGericht.addProperty("name", mahlzeit.getName());
|
|
||||||
neuesGericht.addProperty("preis", mahlzeit.getPreis());
|
|
||||||
neuesGericht.addProperty("beschreibung", mahlzeit.getBeschreibung());
|
|
||||||
|
|
||||||
restApiClient.post("Gericht", neuesGericht.toString());
|
|
||||||
|
|
||||||
// ID des neu hinzugefügten Gerichts abrufen
|
|
||||||
je = JsonParser.parseString(restApiClient.get("Gericht"));
|
|
||||||
js = je.getAsJsonArray();
|
|
||||||
for (JsonElement element : js) {
|
|
||||||
JsonObject mahlzeitJson = element.getAsJsonObject();
|
|
||||||
if (mahlzeitJson.get("name").getAsString().equals(mahlzeit.getName())) {
|
|
||||||
return Integer.parseInt(mahlzeitJson.get("id").getAsString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@
|
|||||||
<?import javafx.scene.control.*?>
|
<?import javafx.scene.control.*?>
|
||||||
<?import javafx.scene.layout.*?>
|
<?import javafx.scene.layout.*?>
|
||||||
|
|
||||||
<?import javafx.geometry.Insets?>
|
|
||||||
<BorderPane xmlns="http://javafx.com/javafx"
|
<BorderPane xmlns="http://javafx.com/javafx"
|
||||||
xmlns:fx="http://javafx.com/fxml"
|
xmlns:fx="http://javafx.com/fxml"
|
||||||
fx:controller="de.subway_surfers.vpr_app.GerichterstellungMitarbeiterView"
|
fx:controller="de.subway_surfers.vpr_app.GerichterstellungMitarbeiterView"
|
||||||
@ -15,22 +14,19 @@
|
|||||||
<center>
|
<center>
|
||||||
<VBox styleClass="gerichterstellung_felder">
|
<VBox styleClass="gerichterstellung_felder">
|
||||||
<TextField fx:id="eingabeName" promptText="Name des Gerichtes" focusTraversable="false"/>
|
<TextField fx:id="eingabeName" promptText="Name des Gerichtes" focusTraversable="false"/>
|
||||||
<TextField fx:id="eingabePreis" promptText="Preis des Gerichtes" focusTraversable="false"/>
|
|
||||||
<TextArea fx:id="eingabeBeschreibung" promptText="Beschreibung" focusTraversable="false"/>
|
<TextArea fx:id="eingabeBeschreibung" promptText="Beschreibung" focusTraversable="false"/>
|
||||||
<HBox>
|
<HBox>
|
||||||
<TextField fx:id="eingabeInhaltsstoffe" promptText="Inhaltsstoffe" focusTraversable="false"/>
|
<TextField fx:id="eingabeInhaltsstoffe" promptText="Inhaltsstoffe" focusTraversable="false"/>
|
||||||
<Button fx:id="buttonInhaltsstoffe" onAction="#onButtonInhaltsstoffeClick" text="Hinzufügen"/>
|
<Button fx:id="buttonInhaltsstoffe" onAction="#onButtonInhaltsstoffeClick" text="Hinzufügen"/>
|
||||||
</HBox>
|
</HBox>
|
||||||
<HBox fx:id="anzeigeInhaltsstoffe" minHeight="30"/>
|
<HBox fx:id="anzeigeInhaltsstoffe" />
|
||||||
<DatePicker fx:id="datePicker" maxWidth="Infinity"/>
|
|
||||||
<Label fx:id="status"/>
|
|
||||||
</VBox>
|
</VBox>
|
||||||
</center>
|
</center>
|
||||||
<bottom>
|
<bottom>
|
||||||
<BorderPane>
|
<BorderPane>
|
||||||
<right>
|
<right>
|
||||||
<HBox styleClass="button_untenrechts">
|
<HBox styleClass="button_untenrechts">
|
||||||
<Button fx:id="speichernButton" text="Speichern" defaultButton="true" onAction="#onSpeichernButtonClick"/>
|
<Button text="Speichern" defaultButton="true"/>
|
||||||
</HBox>
|
</HBox>
|
||||||
</right>
|
</right>
|
||||||
</BorderPane>
|
</BorderPane>
|
||||||
|
Loading…
Reference in New Issue
Block a user