Compare commits
	
		
			6 Commits
		
	
	
		
			samu_maske
			...
			17f0d66677
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 17f0d66677 | |||
| 3ac92ea955 | |||
| e817a7caa1 | |||
| feba2a14b2 | |||
|   | 287ccd9ce5 | ||
|   | 8dfe6547c9 | 
							
								
								
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							| @@ -7,9 +7,8 @@ | ||||
|         <option value="$PROJECT_DIR$/pom.xml" /> | ||||
|       </list> | ||||
|     </option> | ||||
|     <option name="workspaceImportForciblyTurnedOn" value="true" /> | ||||
|   </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_X" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> | ||||
|     <output url="file://$PROJECT_DIR$/out" /> | ||||
|   </component> | ||||
| </project> | ||||
| @@ -3,8 +3,6 @@ package Logik; | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Mahlzeit { | ||||
|  | ||||
| 	private int id; | ||||
| 	private String name; | ||||
| 	private float            preis; | ||||
| 	private ArrayList<Zutat> zutaten; | ||||
| @@ -17,22 +15,6 @@ 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; | ||||
| 	} | ||||
| @@ -54,6 +36,4 @@ public class Mahlzeit { | ||||
| 		return String.format("Name: %s, Preis: %g, Beschreibung: %s", name, preis, beschreibung); | ||||
| 	} | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -371,59 +371,4 @@ 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(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -1,11 +1,16 @@ | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import RestAPISchnittstelle.IRestAPI; | ||||
| import RestAPISchnittstelle.RestApiClient; | ||||
| import javafx.event.ActionEvent; | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.geometry.Insets; | ||||
| import javafx.geometry.Pos; | ||||
| import javafx.scene.control.Accordion; | ||||
| import javafx.scene.control.Label; | ||||
| import javafx.scene.control.ScrollPane; | ||||
| import javafx.scene.control.TitledPane; | ||||
| import javafx.scene.layout.VBox; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| @@ -28,23 +33,28 @@ public class BestelluebersichtMitarbeiter { | ||||
|  | ||||
| 		accordion.setStyle("-fx-box-border: transparent;"); | ||||
|  | ||||
| 		for (String s : datum) { | ||||
| 			TitledPane datumUeberschrift = new TitledPane(s, createGerichtAkkordion()); | ||||
| 		for (String i : datum) { | ||||
| 			Accordion gerichtAkkordion = createGerichtAkkordion(); | ||||
|  | ||||
| 			TitledPane datumUeberschrift = new TitledPane(i, gerichtAkkordion); | ||||
|  | ||||
| 			datumUeberschrift.getStyleClass().add("titledPaneUeberschrift"); | ||||
| 			datumUeberschrift.animatedProperty().set(false); | ||||
| 			datumUeberschrift.setPadding(new Insets(0, 0, 15, 0)); | ||||
|  | ||||
| 			//TitledPane personen = new TitledPane("Person", createPersonenAccordion()); | ||||
| 			accordion.getPanes().add(datumUeberschrift); | ||||
| 			//gerichtAkkordion.getPanes().add(personen); | ||||
| 		} | ||||
|  | ||||
| 		scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); | ||||
| 		scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS); | ||||
| 	} | ||||
|  | ||||
| 	private Accordion createGerichtAkkordion() { | ||||
| 		Accordion accordion = new Accordion(); | ||||
| 	int anzahlGerichtA = 1; | ||||
|  | ||||
| 	public Accordion createGerichtAkkordion() { | ||||
| 		Accordion accordion = new Accordion(); | ||||
| 		int anzahlGerichtB = 15; | ||||
| 		int anzahlGerichtC = 3; | ||||
| 		int anzahlGerichtD = 2; | ||||
| @@ -71,6 +81,7 @@ public class BestelluebersichtMitarbeiter { | ||||
| 			TitledPane tp = new TitledPane(); | ||||
| 			tp.setText("GerichtB " + anzahlGerichtB + "-Mal " + preisGerichtB * anzahlGerichtB + " €"); | ||||
| 			accordion.getPanes().addAll(tp); | ||||
|  | ||||
| 		} | ||||
|  | ||||
| 		if (anzahlGerichtC >= 1) { | ||||
| @@ -92,14 +103,42 @@ public class BestelluebersichtMitarbeiter { | ||||
| 		} | ||||
|  | ||||
| 		if (anzahlNachtischA >= 1) { | ||||
| 			TitledPane tp = new TitledPane(); | ||||
| 			tp.setText("NachtischB " + anzahlNachtischB + "-Mal " + preisNachtischB * anzahlNachtischB + " €"); | ||||
|  | ||||
| 			Label label2 = new Label("Hans Schwanz" + " für " + " Anja Arbeitslos"); | ||||
| 			Label label3 = new Label("Drittes Label"); | ||||
|  | ||||
| 			VBox vbox = new VBox(label2, label3); | ||||
| 			vbox.setAlignment(Pos.CENTER_LEFT); | ||||
|  | ||||
| 			TitledPane tp = new TitledPane("NachtischB " + "-Mal " + preisNachtischB * anzahlGerichtB + " €", vbox); | ||||
|  | ||||
| 			accordion.getPanes().addAll(tp); | ||||
| 		} | ||||
|  | ||||
| 		return accordion; | ||||
| 	} | ||||
|  | ||||
| 	/* | ||||
| 	public Accordion createPersonenAccordion() { | ||||
| 		Accordion accordion1 = new Accordion(); | ||||
|  | ||||
| 		for (int i = 0; i < 10; i++) { | ||||
| 			String kind = "Kind"; | ||||
| 			String elternteil = "Max Heer"; | ||||
|  | ||||
| 			Label label = new Label(); | ||||
| 			label.setText(elternteil + " für " + kind); | ||||
|  | ||||
| 			// Erstellen Sie eine TitledPane für jedes Label | ||||
| 			TitledPane titledPane = new TitledPane("Kind Informationen", label); | ||||
|  | ||||
| 			// Fügen Sie die TitledPane zur Accordion hinzu | ||||
| 			accordion1.getPanes().add(titledPane); | ||||
| 		} | ||||
|  | ||||
| 		return accordion1; | ||||
| 	} | ||||
| 	*/ | ||||
|  | ||||
| 	public void onAbmelden(ActionEvent event) { | ||||
| 		VerwaltungApplication.abmelden(); | ||||
| 	} | ||||
|   | ||||
| @@ -3,9 +3,6 @@ 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; | ||||
| @@ -26,7 +23,6 @@ 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; | ||||
| @@ -45,47 +41,52 @@ public class EssensverwaltungMitarbeiterView { | ||||
|  | ||||
| 	private String date; | ||||
|  | ||||
| 	/** | ||||
| 	 * Initialize des Controllers. | ||||
| 	 * Setzt das Datum, holt die Gerichte ein und initialisiert die responsive grid. | ||||
| 	 * @author Samuel Wolff | ||||
| 	 */ | ||||
| 	private String day; | ||||
|  | ||||
| 	private String month; | ||||
|  | ||||
| 	private String year; | ||||
|  | ||||
| 	private ChangeListener listener; | ||||
|  | ||||
| 	public void initialize(){ | ||||
|  | ||||
| 		date = LocalDate.now().toString(); | ||||
| /* | ||||
| 		(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()); | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		*/ | ||||
|  | ||||
| 		dateLabel.setText(date); | ||||
| 		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)); | ||||
|  | ||||
| 		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(); | ||||
|  | ||||
| @@ -98,11 +99,6 @@ public class EssensverwaltungMitarbeiterView { | ||||
| 		gerichterstellung.minHeightProperty().set(530); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 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"); | ||||
| 	} | ||||
| @@ -110,16 +106,15 @@ 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(); | ||||
|  | ||||
| 		LocalDate datum = LocalDate.parse(date); | ||||
| 		datum = datum.minusDays(1); | ||||
| 		date = datum.toString(); | ||||
| 		dateLabel.setText(date); | ||||
| 		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,16 +123,15 @@ 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(); | ||||
|  | ||||
| 		LocalDate datum = LocalDate.parse(date); | ||||
| 		datum = datum.plusDays(1); | ||||
| 		date = datum.toString(); | ||||
| 		dateLabel.setText(date); | ||||
| 		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(); | ||||
|  | ||||
| @@ -145,12 +139,10 @@ 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); | ||||
|  | ||||
| @@ -191,9 +183,6 @@ 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(); | ||||
| @@ -214,24 +203,10 @@ 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,7 +9,6 @@ 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 { | ||||
| @@ -35,8 +34,14 @@ public class HauptmenueMitarbeiterView { | ||||
|      */ | ||||
|     public void wochenuebersichtFuellen(){ | ||||
|         String dateanzeige; | ||||
|         date = LocalDate.now().toString(); | ||||
|         dateanzeige = date; | ||||
|         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); | ||||
|         Tagesplan t = new RestApiClient().getGerichteOnTag(date); | ||||
|         for(int i=0;i<5;i++){ | ||||
|             Label tag = new Label(); | ||||
| @@ -50,19 +55,13 @@ public class HauptmenueMitarbeiterView { | ||||
|                 name.setPrefHeight(75); | ||||
|                 name.setTextAlignment(TextAlignment.CENTER); | ||||
|             } | ||||
|             LocalDate datum = LocalDate.parse(date); | ||||
|             datum = datum.plusDays(1); | ||||
|             date = datum.toString(); | ||||
|             dateanzeige = date; | ||||
|             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); | ||||
|             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,6 +52,9 @@ | ||||
|     </center> | ||||
|     <bottom> | ||||
|         <BorderPane styleClass="button-untenrechts"> | ||||
|             <right> | ||||
|                 <Button text="Bestätigen" defaultButton="true" styleClass=".button"/> | ||||
|             </right> | ||||
|         </BorderPane> | ||||
|     </bottom> | ||||
| </BorderPane> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user