diff --git a/src/main/java/fr/coding/pastadellamamma/Main.java b/src/main/java/fr/coding/pastadellamamma/Main.java index 1325cbf..2d23588 100644 --- a/src/main/java/fr/coding/pastadellamamma/Main.java +++ b/src/main/java/fr/coding/pastadellamamma/Main.java @@ -17,9 +17,6 @@ public void start(Stage stage) throws IOException { stage.setTitle("Pasta della Mama"); stage.setScene(scene); stage.show(); - - - } public static Restaurant pastaDellaMamma; diff --git a/src/main/java/fr/coding/pastadellamamma/controller/ChronoController.java b/src/main/java/fr/coding/pastadellamamma/controller/ChronoController.java new file mode 100644 index 0000000..1ca6ed7 --- /dev/null +++ b/src/main/java/fr/coding/pastadellamamma/controller/ChronoController.java @@ -0,0 +1,31 @@ +package fr.coding.pastadellamamma.controller; + +import fr.coding.pastadellamamma.model.Chrono; +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.Label; + +public class ChronoController { + @FXML + private Label timerLabel; + + @FXML + private Button startServiceButton; + + @FXML + public void initialize() { + timerLabel.setText(Chrono.getTime()); + + if (Chrono.isRunning) { + Chrono.setTimerLabel(timerLabel); + startServiceButton.setDisable(true); + } + } + + @FXML + public void onStartServiceButtonClicked() { + startServiceButton.setDisable(true); + Chrono chrono = new Chrono(timerLabel, startServiceButton); + chrono.start(); + } +} diff --git a/src/main/java/fr/coding/pastadellamamma/controller/CommandesController.java b/src/main/java/fr/coding/pastadellamamma/controller/CommandesController.java index 6286345..3a553bb 100644 --- a/src/main/java/fr/coding/pastadellamamma/controller/CommandesController.java +++ b/src/main/java/fr/coding/pastadellamamma/controller/CommandesController.java @@ -1,6 +1,9 @@ package fr.coding.pastadellamamma.controller; + + import fr.coding.pastadellamamma.Main; +import fr.coding.pastadellamamma.model.Chrono; import fr.coding.pastadellamamma.model.Order; import fr.coding.pastadellamamma.model.Table; import javafx.collections.FXCollections; @@ -21,6 +24,8 @@ import java.util.ResourceBundle; import java.util.stream.Collectors; +import static fr.coding.pastadellamamma.model.Chrono.endOrder; + public class CommandesController implements Initializable { public static ObservableList listCommande; @@ -82,8 +87,10 @@ public void onChanged(Change change) { loadFXML("orderDetails.fxml", "détail de la commande",content); }); - - newOrder.setOnAction(e -> loadFXML("AddNewOrder.fxml", "nouvelle commande",content)); + // Commande test = AddNewOrderController.envoieCommande(); + if (Chrono.endOrder = false) { + newOrder.setOnAction(e -> loadFXML("AddNewOrder.fxml", "nouvelle commande")); + } } public static void addNewOrder(Order order){ diff --git a/src/main/java/fr/coding/pastadellamamma/controller/MainController.java b/src/main/java/fr/coding/pastadellamamma/controller/MainController.java index b4c7f42..d3bf0a6 100644 --- a/src/main/java/fr/coding/pastadellamamma/controller/MainController.java +++ b/src/main/java/fr/coding/pastadellamamma/controller/MainController.java @@ -20,15 +20,22 @@ public class MainController implements Initializable { @FXML public MenuItem menu; + @FXML public MenuItem amployeList; + @FXML + public MenuItem employe; + @FXML public MenuItem room; @FXML public MenuItem commandes; + @FXML + public MenuItem service; + public void loadFXML(String name, String title) { try { @@ -51,5 +58,6 @@ public void initialize(URL location, ResourceBundle resources) { amployeList.setOnAction(e -> loadFXML("amployeList.fxml", "Gestion des employés")); room.setOnAction(e -> loadFXML("table.fxml", "Gestion de salle")); commandes.setOnAction(e -> loadFXML("commande.fxml", "Prise de commandes")); + service.setOnAction(e -> loadFXML("chrono.fxml", "Chrono")); } } diff --git a/src/main/java/fr/coding/pastadellamamma/model/Chrono.java b/src/main/java/fr/coding/pastadellamamma/model/Chrono.java new file mode 100644 index 0000000..8315eb5 --- /dev/null +++ b/src/main/java/fr/coding/pastadellamamma/model/Chrono.java @@ -0,0 +1,67 @@ +package fr.coding.pastadellamamma.model; + +import javafx.application.Platform; +import javafx.scene.control.Button; +import javafx.scene.control.Label; + +import java.util.Timer; + +public class Chrono extends Thread { + + private static final int SERVICE_DURATION_SECONDS = 25 * 60; + private static int remainingTime = SERVICE_DURATION_SECONDS; + private static Timer timer; + private static Label timerLabel; + private static Button startServiceButton; + public static boolean isRunning; + + public static boolean endOrder = false; + + public static void stopService() { + isRunning = false; + timer.cancel(); + timer = null; + remainingTime = SERVICE_DURATION_SECONDS; + timerLabel.setText(getTime()); + startServiceButton.setDisable(false); + } + + public static String getTime() { + int minutes = remainingTime / 60; + int remainingSeconds = remainingTime % 60; + return String.format("%02d:%02d", minutes, remainingSeconds); + } + + public static void setTimerLabel(Label label) { + timerLabel = label; + } + + public void run() { + isRunning = true; + + try { + for (;;) { + System.out.println(remainingTime); + Platform.runLater(() -> timerLabel.setText(getTime())); + + Thread.sleep(1000); + remainingTime--; + + if (remainingTime <= 0) { + stopService(); + } + + if (remainingTime <= 900) { + endOrder = true; + } + } + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + + public Chrono(Label label, Button startButton) { + timerLabel = label; + startServiceButton = startButton; + } +} \ No newline at end of file diff --git a/src/main/resources/fr/coding/pastadellamamma/chrono.fxml b/src/main/resources/fr/coding/pastadellamamma/chrono.fxml new file mode 100644 index 0000000..422b915 --- /dev/null +++ b/src/main/resources/fr/coding/pastadellamamma/chrono.fxml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + +