diff --git a/src/main/java/de/hitec/nhplus/main/MainWindowController.java b/src/main/java/de/hitec/nhplus/main/MainWindowController.java
index b0f4a47..7e887cf 100644
--- a/src/main/java/de/hitec/nhplus/main/MainWindowController.java
+++ b/src/main/java/de/hitec/nhplus/main/MainWindowController.java
@@ -3,6 +3,7 @@ package de.hitec.nhplus.main;
import de.hitec.nhplus.Main;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
+import javafx.scene.control.SelectionModel;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.AnchorPane;
@@ -29,10 +30,18 @@ public class MainWindowController {
@FXML
private Tab treatmentTab;
@FXML
- private AnchorPane nursePage;
- @FXML
private Tab nurseTab;
@FXML
+ private TabPane nurseTabPane;
+ @FXML
+ private AnchorPane activeNursePage;
+ @FXML
+ private Tab activeNurseTab;
+ @FXML
+ private AnchorPane lockedNursePage;
+ @FXML
+ private Tab lockedNurseTab;
+ @FXML
private AnchorPane medicationPage;
@FXML
private Tab medicationTab;
@@ -46,6 +55,12 @@ public class MainWindowController {
treatmentTab.setOnSelectionChanged(event -> loadTreatmentsPage());
nurseTab.setOnSelectionChanged(event -> loadNursePage());
medicationTab.setOnSelectionChanged(event -> loadMedicationPage());
+
+
+ nurseTabPane.getSelectionModel().select(activeNurseTab);
+
+ activeNurseTab.setOnSelectionChanged(event -> loadActiveNursePage());
+ lockedNurseTab.setOnSelectionChanged(event -> loadLockedNursePage());
}
/**
@@ -88,15 +103,43 @@ public class MainWindowController {
* Loads the nurse page into its tab.
*/
private void loadNursePage() {
+ SelectionModel selectionModel = nurseTabPane.getSelectionModel();
+ Tab selectedTab = selectionModel.getSelectedItem();
+ if(selectedTab == activeNurseTab){
+ loadActiveNursePage();
+ }
+ if(selectedTab == lockedNurseTab){
+ loadLockedNursePage();
+ }
+ }
+
+ private void loadActiveNursePage() {
+ System.out.println("TODO: Active Nurse");
try {
- BorderPane nursePane = FXMLLoader.load(
+ BorderPane activeNursePane = FXMLLoader.load(
Objects.requireNonNull(Main.class.getResource("/de/hitec/nhplus/nurse/AllNurseView.fxml"))
);
- nursePage.getChildren().setAll(nursePane);
- AnchorPane.setTopAnchor(nursePane, 0d);
- AnchorPane.setBottomAnchor(nursePane, 0d);
- AnchorPane.setLeftAnchor(nursePane, 0d);
- AnchorPane.setRightAnchor(nursePane, 0d);
+ activeNursePage.getChildren().setAll(activeNursePane);
+ AnchorPane.setTopAnchor(activeNursePane, 0d);
+ AnchorPane.setBottomAnchor(activeNursePane, 0d);
+ AnchorPane.setLeftAnchor(activeNursePane, 0d);
+ AnchorPane.setRightAnchor(activeNursePane, 0d);
+ } catch (IOException exception) {
+ exception.printStackTrace();
+ }
+ }
+
+ private void loadLockedNursePage() {
+ System.out.println("TODO: Locked Nurse");
+ try {
+ BorderPane lockedNursePane = FXMLLoader.load(
+ Objects.requireNonNull(Main.class.getResource("/de/hitec/nhplus/nurse/LockedNurseView.fxml"))
+ );
+ lockedNursePage.getChildren().setAll(lockedNursePane);
+ AnchorPane.setTopAnchor(lockedNursePane, 0d);
+ AnchorPane.setBottomAnchor(lockedNursePane, 0d);
+ AnchorPane.setLeftAnchor(lockedNursePane, 0d);
+ AnchorPane.setRightAnchor(lockedNursePane, 0d);
} catch (IOException exception) {
exception.printStackTrace();
}
diff --git a/src/main/java/de/hitec/nhplus/nurse/AllNurseController.java b/src/main/java/de/hitec/nhplus/nurse/AllNurseController.java
index 86eccbd..77a7a5f 100644
--- a/src/main/java/de/hitec/nhplus/nurse/AllNurseController.java
+++ b/src/main/java/de/hitec/nhplus/nurse/AllNurseController.java
@@ -33,6 +33,8 @@ public class AllNurseController {
@FXML
public Button buttonAdd;
@FXML
+ public Button buttonLock;
+ @FXML
private TableView tableView;
@FXML
private TableColumn columnId;
@@ -89,7 +91,7 @@ public class AllNurseController {
this.nurses.clear();
this.dao = DaoFactory.getInstance().createNurseDAO();
try {
- this.nurses.setAll(this.dao.readAll());
+ this.nurses.setAll(this.dao.readAllActive());
}catch (SQLException exception){
exception.printStackTrace();
}
@@ -119,5 +121,20 @@ public class AllNurseController {
clearTextfields();
}
+ @FXML
+ public void handleLock(){
+ Nurse selectedItem = this.tableView.getSelectionModel().getSelectedItem();
+ if (selectedItem == null){
+ return;
+ }
+
+ try {
+ selectedItem.setLocked(true);
+ this.dao.update(selectedItem);
+ }catch (SQLException exception){
+ exception.printStackTrace();
+ }
+ readAllAndShowInTableView();
+ }
}
diff --git a/src/main/java/de/hitec/nhplus/nurse/LockedNurseController.java b/src/main/java/de/hitec/nhplus/nurse/LockedNurseController.java
new file mode 100644
index 0000000..ecf3626
--- /dev/null
+++ b/src/main/java/de/hitec/nhplus/nurse/LockedNurseController.java
@@ -0,0 +1,96 @@
+package de.hitec.nhplus.nurse;
+
+import de.hitec.nhplus.datastorage.DaoFactory;
+import de.hitec.nhplus.nurse.database.NurseDao;
+import javafx.application.Application;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.Tab;
+import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableView;
+import javafx.scene.control.cell.PropertyValueFactory;
+import javafx.scene.control.cell.TextFieldTableCell;
+import javafx.scene.layout.AnchorPane;
+import javafx.stage.Stage;
+
+import java.sql.SQLException;
+
+public class LockedNurseController {
+ @FXML
+ public Button buttonDelete;
+ @FXML
+ private Button buttonUnlock;
+ @FXML
+ public TableView tableView;
+ @FXML
+ public TableColumn columnId;
+ @FXML
+ public TableColumn columnFirstName;
+ @FXML
+ public TableColumn columnSurName;
+ @FXML
+ public TableColumn columnDeleteDate;
+
+ private final ObservableList nurses = FXCollections.observableArrayList();
+ private NurseDao dao;
+
+ public void initialize() {
+ this.readAllAndShowInTableView();
+
+ this.columnId.setCellValueFactory(new PropertyValueFactory<>("id"));
+
+ this.columnFirstName.setCellValueFactory(new PropertyValueFactory<>("firstName"));
+ this.columnFirstName.setCellFactory(TextFieldTableCell.forTableColumn());
+
+ this.columnSurName.setCellValueFactory(new PropertyValueFactory<>("surName"));
+ this.columnSurName.setCellFactory(TextFieldTableCell.forTableColumn());
+
+ this.columnDeleteDate.setCellValueFactory(new PropertyValueFactory<>("date"));
+ this.columnDeleteDate.setCellFactory(TextFieldTableCell.forTableColumn());
+
+ this.tableView.setItems(this.nurses);
+ }
+
+ private void readAllAndShowInTableView() {
+ this.nurses.clear();
+ this.dao = DaoFactory.getInstance().createNurseDAO();
+ try {
+ this.nurses.addAll(this.dao.readAllLocked());
+ } catch (SQLException exception) {
+ exception.printStackTrace();
+ }
+ }
+
+ @FXML
+ public void handleDelete() {
+ Nurse selectedItem = this.tableView.getSelectionModel().getSelectedItem();
+ if (selectedItem == null) {
+ return;
+ }
+ try {
+ this.dao.delete(selectedItem.getId());
+ } catch (SQLException exception) {
+ exception.printStackTrace();
+ }
+
+ }
+
+ @FXML
+ public void changeUnlock() {
+ Nurse selectedItem = this.tableView.getSelectionModel().getSelectedItem();
+ if (selectedItem == null) {
+ return;
+ }
+
+ try {
+ selectedItem.setLocked(false);
+ this.dao.update(selectedItem);
+ } catch (SQLException exception) {
+ exception.printStackTrace();
+ }
+ readAllAndShowInTableView();
+ }
+
+}
diff --git a/src/main/resources/de/hitec/nhplus/main/MainWindowView.fxml b/src/main/resources/de/hitec/nhplus/main/MainWindowView.fxml
index 2c63236..c5316ea 100644
--- a/src/main/resources/de/hitec/nhplus/main/MainWindowView.fxml
+++ b/src/main/resources/de/hitec/nhplus/main/MainWindowView.fxml
@@ -16,7 +16,14 @@
-
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/de/hitec/nhplus/nurse/AllNurseView.fxml b/src/main/resources/de/hitec/nhplus/nurse/AllNurseView.fxml
index 2597997..3a7b76a 100644
--- a/src/main/resources/de/hitec/nhplus/nurse/AllNurseView.fxml
+++ b/src/main/resources/de/hitec/nhplus/nurse/AllNurseView.fxml
@@ -77,10 +77,11 @@
text="Hinzufügen"
/>
diff --git a/src/main/resources/de/hitec/nhplus/nurse/LockedNurseView.fxml b/src/main/resources/de/hitec/nhplus/nurse/LockedNurseView.fxml
new file mode 100644
index 0000000..002ca90
--- /dev/null
+++ b/src/main/resources/de/hitec/nhplus/nurse/LockedNurseView.fxml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 8.0
+
+
+
+
+
+
+