Merge remote-tracking branch 'origin/samu_masken'
# Conflicts: # src/main/java/Logik/Mahlzeit.java
This commit is contained in:
commit
349a8f02cc
@ -1,10 +1,10 @@
|
||||
package Logik;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
||||
public class Mahlzeit {
|
||||
|
||||
private int id;
|
||||
private String name;
|
||||
private float preis;
|
||||
private ArrayList<Zutat> zutaten;
|
||||
@ -17,7 +17,6 @@ public class Mahlzeit {
|
||||
zutaten = new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
@ -39,4 +38,6 @@ public class Mahlzeit {
|
||||
return String.format("Name: %s, Preis: %g, Beschreibung: %s", name, preis, beschreibung);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -461,4 +461,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<String> 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<String> 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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
@ -41,52 +45,47 @@ public class EssensverwaltungMitarbeiterView {
|
||||
|
||||
private String date;
|
||||
|
||||
private String day;
|
||||
|
||||
private String month;
|
||||
|
||||
private String year;
|
||||
|
||||
private ChangeListener listener;
|
||||
|
||||
/**
|
||||
* Initialize des Controllers.
|
||||
* Setzt das Datum, holt die Gerichte ein und initialisiert die responsive grid.
|
||||
* @author Samuel Wolff
|
||||
*/
|
||||
public void initialize(){
|
||||
|
||||
/*
|
||||
(obs,oldValue,newValue) -> {
|
||||
final int zeile = 1;
|
||||
for (Node n : tagesplan.getChildren()){
|
||||
if(n instanceof Control && GridPane.getRowIndex(n) == zeile){
|
||||
((Control) n).setPrefHeight(newValue.floatValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
date = LocalDate.now().toString();
|
||||
|
||||
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);
|
||||
|
||||
dateLabel.setText(String.format("%s.%s.%s", day, month, year));
|
||||
dateLabel.setText(date);
|
||||
|
||||
initGrid();
|
||||
initGerichte();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den Anmeldebutton. Meldet den User ab
|
||||
* @param actionEvent
|
||||
* @author Max Heer
|
||||
*/
|
||||
public void onAbmelden(ActionEvent actionEvent) {
|
||||
VerwaltungApplication.sceneWechseln("login-view.fxml");
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den Filter Button. Öffnet den Filter Dialog.
|
||||
* @param actionEvent
|
||||
* @author Sven Alteköster
|
||||
*/
|
||||
public void onFilter(ActionEvent actionEvent) {
|
||||
Stage stage = new Stage();
|
||||
VerwaltungApplication.sceneWechseln(stage, 450, 400, "inhaltsstoffe_filtern-view.fxml");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den hinzufügen Button. Öffnet den Dialog zum hinzufügen eines Gerichtes zum aktuellen Tag.
|
||||
* @param actionEvent
|
||||
* @author Sven Alteköster
|
||||
*/
|
||||
public void onHinzufuegen(ActionEvent actionEvent) {
|
||||
Stage gerichterstellung = new Stage();
|
||||
|
||||
@ -99,6 +98,11 @@ public class EssensverwaltungMitarbeiterView {
|
||||
gerichterstellung.minHeightProperty().set(600);
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den Zurück Button. Kehrt zum Startbildschirm zurück.
|
||||
* @param actionEvent
|
||||
* @author Max Heer
|
||||
*/
|
||||
public void onZurueck(ActionEvent actionEvent) {
|
||||
VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
|
||||
}
|
||||
@ -106,15 +110,16 @@ public class EssensverwaltungMitarbeiterView {
|
||||
/**
|
||||
* Methode bei Klick auf Pfeil links, ändert das Datum und gibt neue Gerichte auf die GUI aus.
|
||||
* @param actionEvent
|
||||
* @author Samuel Wolff
|
||||
*/
|
||||
public void pfeilLinks(ActionEvent actionEvent) {
|
||||
|
||||
tagesplan.getChildren().clear();
|
||||
|
||||
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));
|
||||
LocalDate datum = LocalDate.parse(date);
|
||||
datum = datum.minusDays(1);
|
||||
date = datum.toString();
|
||||
dateLabel.setText(date);
|
||||
|
||||
initGerichte();
|
||||
|
||||
@ -123,15 +128,16 @@ public class EssensverwaltungMitarbeiterView {
|
||||
/**
|
||||
* Methode bei Klick auf Pfeil rechts, ändert das Datum und gibt neue Gerichte auf die GUI aus.
|
||||
* @param actionEvent
|
||||
* @author Samuel Wolff
|
||||
*/
|
||||
public void pfeilRechts(ActionEvent actionEvent) {
|
||||
|
||||
tagesplan.getChildren().clear();
|
||||
|
||||
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));
|
||||
LocalDate datum = LocalDate.parse(date);
|
||||
datum = datum.plusDays(1);
|
||||
date = datum.toString();
|
||||
dateLabel.setText(date);
|
||||
|
||||
initGerichte();
|
||||
|
||||
@ -139,10 +145,12 @@ public class EssensverwaltungMitarbeiterView {
|
||||
|
||||
/**
|
||||
* Initialisiert alle Gerichte des aktuellen Datums auf der Seite.
|
||||
* @author Samuel Wolff
|
||||
*/
|
||||
private void initGerichte(){
|
||||
|
||||
tagesplan.getStyleClass().clear();
|
||||
tagesplan.getChildren().clear();
|
||||
|
||||
t = new RestApiClient().getGerichteOnTag(date);
|
||||
|
||||
@ -183,6 +191,9 @@ public class EssensverwaltungMitarbeiterView {
|
||||
tagesplan.getStyleClass().add("essensuebersicht_gridlines");
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisiert das responsive grid.
|
||||
*/
|
||||
public void initGrid(){
|
||||
for (int i = 0; i < tagesplan.getColumnCount(); i++) {
|
||||
ColumnConstraints cc = new ColumnConstraints();
|
||||
@ -203,10 +214,24 @@ public class EssensverwaltungMitarbeiterView {
|
||||
VerwaltungApplication.responsiveBreiteGrid(tagesplan);
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den Löschen Button eines Tagesplan Elementes
|
||||
* @param a
|
||||
*/
|
||||
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);
|
||||
|
||||
cl.delete("GibtsAm", id);
|
||||
initGerichte();
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@ import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.text.TextAlignment;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
public class HauptmenueMitarbeiterView {
|
||||
@ -34,14 +35,8 @@ public class HauptmenueMitarbeiterView {
|
||||
*/
|
||||
public void wochenuebersichtFuellen(){
|
||||
String dateanzeige;
|
||||
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);
|
||||
dateanzeige = String.format("%s.%s.%s",day,month,year);
|
||||
date = LocalDate.now().toString();
|
||||
dateanzeige = date;
|
||||
Tagesplan t = new RestApiClient().getGerichteOnTag(date);
|
||||
for(int i=0;i<5;i++){
|
||||
Label tag = new Label();
|
||||
@ -55,13 +50,19 @@ public class HauptmenueMitarbeiterView {
|
||||
name.setPrefHeight(75);
|
||||
name.setTextAlignment(TextAlignment.CENTER);
|
||||
}
|
||||
day = String.valueOf(Integer.parseInt(day)+1);
|
||||
date = String.format("%s-%s-%s", year, month, day);
|
||||
dateanzeige = String.format("%s.%s.%s",day,month,year);
|
||||
LocalDate datum = LocalDate.parse(date);
|
||||
datum = datum.plusDays(1);
|
||||
date = datum.toString();
|
||||
dateanzeige = date;
|
||||
t = new RestApiClient().getGerichteOnTag(date);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode beim klicken auf den Anmeldebutton. Meldet den User ab
|
||||
* @param actionEvent
|
||||
* @author Samuel Wolff
|
||||
*/
|
||||
public void onAbmelden(ActionEvent actionEvent) {
|
||||
VerwaltungApplication.abmelden();
|
||||
}
|
||||
|
@ -52,9 +52,6 @@
|
||||
</center>
|
||||
<bottom>
|
||||
<BorderPane styleClass="button-untenrechts">
|
||||
<right>
|
||||
<Button text="Bestätigen" defaultButton="true" styleClass=".button"/>
|
||||
</right>
|
||||
</BorderPane>
|
||||
</bottom>
|
||||
</BorderPane>
|
||||
|
Loading…
Reference in New Issue
Block a user