diff --git a/pom.xml b/pom.xml
index 3c89e4a..f4d530e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,18 @@
de.uni-luebeck.mi.projmi6
projmi6
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/Main.java b/src/main/java/de/uniluebeck/mi/projmi6/Main.java
index f4505e0..c0a84f5 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/Main.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/Main.java
@@ -23,7 +23,7 @@ public class Main extends Application {
Parent root = fxmlLoader.load();
primaryStage.setTitle("KIS Gruppe 06");
- primaryStage.setScene(new Scene(root, 800, 600));
+ primaryStage.setScene(new Scene(root, 1000, 800));
primaryStage.show();
}
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
index 49e7f7e..c3fe943 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
@@ -4,6 +4,8 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 631806 on 12.11.15.
*/
+import de.uniluebeck.mi.projmi6.model.Diagnose;
+import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
@@ -14,8 +16,14 @@ import javafx.scene.control.TextArea;
public class DiagnoseController {
+ private MainController mainController;
+
+ public DiagnoseController(MainController mainController){
+ this.mainController = mainController;
+ }
+
@FXML
- private ComboBox> diagDiagnoseArzt;
+ private ComboBox diagDiagnoseArzt;
@FXML
private Label diagCreator;
@@ -33,13 +41,13 @@ public class DiagnoseController {
private Label diagCreateTime;
@FXML
- private ComboBox> diagDiagnoseArt;
+ private ComboBox diagDiagnoseArt;
@FXML
private Label diagChanger;
@FXML
- private ComboBox> diagDiagnose;
+ private ComboBox diagDiagnose;
@FXML
private Label diagChangeTime;
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java
index e8f59a2..6012f25 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java
@@ -14,6 +14,12 @@ import javafx.scene.control.TextField;
public class FallController {
+ private MainController mainController;
+
+ public FallController (MainController mainController){
+ this.mainController = mainController;
+ }
+
@FXML
private Button btnFallAufnNow;
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
index 806641a..d211963 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
@@ -1,5 +1,6 @@
package de.uniluebeck.mi.projmi6.controller;
+import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
@@ -12,50 +13,63 @@ public class MainController {
private FallController fallController;
private DiagnoseController diagnoseController;
- private PatientEditorController patientEditorController;
+ //private PatientEditorController patientEditorController;
private PatientTablesController patientTablesController;
private SettingsController settingsController;
- private UntersuchungenController untersuchungenController;
private StationsHistorieController stationsHistorieController;
+ private UntersuchungenController untersuchungenController;
+
+ private int parallelTaskCount = 0;
+
+ @FXML
+ private ChoiceBox cmbUserChoose;
+ @FXML
+ private ProgressIndicator progressIndicator;
+ @FXML
+ private Button btnFallCreate;
+
+ private Callback, Object> controllerFactory = clazz -> {
+ if(clazz.equals(MainController.class)) {
+ return this;
+ }else if(clazz.equals(FallController.class)){
+ return fallController;
+ }else if(clazz.equals(DiagnoseController.class)){
+ return diagnoseController;
+ //}else if(clazz.equals(PatientEditorController.class)) {
+ // return patientEditorController;
+ }else if(clazz.equals(PatientTablesController.class)){
+ return patientTablesController;
+ }else if(clazz.equals(SettingsController.class)){
+ return settingsController;
+ } else if(clazz.equals(UntersuchungenController.class)) {
+ return untersuchungenController;
+ }else if(clazz.equals(StationsHistorieController.class)){
+ return stationsHistorieController;
+ }else {
+ System.err.println("Keine Controller-Klasse des Typs "+clazz+" gefunden!!!");
+ return null;
+ }
+
+ };
+
+
public MainController(){
- fallController = new FallController();
- diagnoseController = new DiagnoseController();
- patientEditorController = new PatientEditorController();
- patientTablesController = new PatientTablesController();
- settingsController = new SettingsController();
- untersuchungenController = new UntersuchungenController();
- stationsHistorieController = new StationsHistorieController();
+ fallController = new FallController(this);
+ diagnoseController = new DiagnoseController(this);
+ //patientEditorController = new PatientEditorController(this);
+ patientTablesController = new PatientTablesController(this);
+ settingsController = new SettingsController(this);
+ untersuchungenController = new UntersuchungenController(this);
+ stationsHistorieController = new StationsHistorieController(this);
}
+
public Callback, Object> getControllerFactory(){
- return clazz -> {
- if(clazz.equals(MainController.class)) {
- return this;
- }else if(clazz.equals(FallController.class)){
- return fallController;
- }else if(clazz.equals(DiagnoseController.class)){
- return diagnoseController;
- }else if(clazz.equals(PatientEditorController.class)) {
- return patientEditorController;
- }else if(clazz.equals(PatientTablesController.class)){
- return patientTablesController;
- }else if(clazz.equals(SettingsController.class)){
- return settingsController;
- } else if(clazz.equals(UntersuchungenController.class)) {
- return untersuchungenController;
- }else if(clazz.equals(StationsHistorieController.class)){
- return stationsHistorieController;
- }else {
- System.err.println("Keine Controller-Klasse des Typs "+clazz+" gefunden!!!");
- return null;
- }
-
- };
+ return controllerFactory;
}
-
public FallController getFallController(){
return fallController;
}
@@ -64,9 +78,9 @@ public class MainController {
return diagnoseController;
}
- public PatientEditorController getPatientEditorController(){
- return patientEditorController;
- }
+// public PatientEditorController getPatientEditorController(){
+// return patientEditorController;
+// }
public PatientTablesController getPatientTablesController(){
return patientTablesController;
@@ -80,15 +94,23 @@ public class MainController {
return untersuchungenController;
}
+ public void increaseParallelTaskCount(){
+ parallelTaskCount++;
+ if(parallelTaskCount>0){
+ progressIndicator.setVisible(true);
+ }
+ }
- @FXML
- private ChoiceBox> cmbUserChoose;
- @FXML
- private ProgressIndicator progressIndicator;
+ public void decreaseParallelTaskCount(){
+ parallelTaskCount++;
+ if(parallelTaskCount<=0){
+ parallelTaskCount = 0;
+ progressIndicator.setVisible(false);
+ }
+ }
+
- @FXML
- private Button btnFallCreate;
@FXML
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java
index 8877f68..76dd232 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java
@@ -3,6 +3,8 @@ package de.uniluebeck.mi.projmi6.controller;
/**
* Created by 631806 on 12.11.15.
*/
+import de.uniluebeck.mi.projmi6.model.Patient;
+import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
@@ -11,9 +13,85 @@ import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.event.ActionEvent;
import javafx.scene.control.TextField;
+import javafx.stage.Stage;
public class PatientEditorController {
+ // private MainController mainController;
+
+ private Patient patient = null;
+
+ // public PatientEditorController(MainController mainController){
+ // this.mainController = mainController;
+ // }
+
+
+ @FXML
+ public void initialize(){
+ patGeschlecht.setItems(FXCollections.observableArrayList(Patient.Geschlecht.values()));
+ patFamilienstand.setItems(FXCollections.observableArrayList(Patient.Familienstand.values()));
+
+ }
+
+
+ public void setPatient(Patient patient){
+ this.patient = patient;
+ if(patient==null){
+ clearFields();
+ }else {
+ copyPatientDataIntoFields();
+ }
+
+ }
+
+
+ private void copyPatientDataIntoFields(){
+ patId.setText(Integer.toString(patient.getPatID()));
+ patGeburtsname.setText(patient.getGeburtsname());
+ patNachname.setText(patient.getNachname());
+ patVorname.setText(patient.getVorname());
+ patStrasse.setText(patient.getStrasse());
+ patHausnummer.setText(patient.getHausnummer());
+ patPlz.setText(patient.getPlz());
+ patOrt.setText(patient.getOrt());
+ patGeburtsdatum.setValue(patient.getGeburtsdatum());
+ patFamilienstand.setValue(patient.getFamilienstand());
+ patGeschlecht.setValue(patient.getGeschlecht());
+ patVersicherungsnummer.setText(patient.getVersichertennummer());
+// patVersicherung.setValue(patient.getVersicherung()); TODO
+ patCave.setText(patient.getCave());
+
+ patCreator.setText(patient.getErsteller());
+ patCreateTime.setText(patient.getErstellDatumZeit());
+ patChanger.setText(patient.getBearbeiter());
+ patChangeTime.setText(patient.getBearbeitetDatumZeit());
+ }
+
+ private void clearFields(){
+ patId.setText("");
+ patGeburtsname.setText("");
+ patNachname.setText("");
+ patVorname.setText("");
+ patStrasse.setText("");
+ patHausnummer.setText("");
+ patPlz.setText("");
+ patOrt.setText("");
+ patGeburtsdatum.setValue(null);
+ patFamilienstand.setValue(null);
+ patGeschlecht.setValue(null);
+ patVersicherungsnummer.setText("");
+ patVersicherung.setValue(null);
+ patCave.setText("");
+
+ patCreator.setText("todo");
+ patCreateTime.setText("");
+ patChanger.setText("todo");
+ patChangeTime.setText("");
+ }
+
+
+
+
@FXML
private Label patChangeTime;
@@ -45,7 +123,7 @@ public class PatientEditorController {
private TextField patPlz;
@FXML
- private ComboBox> patFamilienstand;
+ private ComboBox patFamilienstand;
@FXML
private TextField patStrasse;
@@ -57,7 +135,7 @@ public class PatientEditorController {
private TextArea patCave;
@FXML
- private ComboBox> patGeschlecht;
+ private ComboBox patGeschlecht;
@FXML
private Label patCreator;
@@ -81,7 +159,7 @@ public class PatientEditorController {
@FXML
void clickedAbort(ActionEvent event) {
-
+ ((Stage)patVorname.getScene().getWindow()).close(); //Close Window
}
}
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
index b136361..d645afc 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
@@ -1,78 +1,183 @@
package de.uniluebeck.mi.projmi6.controller;
/**
- * Created by 631806 on 12.11.15.
+ * Created by Johannes on 12.11.15.
*/
+import de.uniluebeck.mi.projmi6.model.Patient;
+import javafx.beans.binding.Bindings;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
import javafx.fxml.FXML;
-import javafx.scene.control.Button;
-import javafx.scene.control.ComboBox;
-import javafx.scene.control.TableColumn;
-import javafx.scene.control.TableView;
-import javafx.scene.control.ToggleButton;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.scene.control.*;
+import javafx.scene.control.cell.PropertyValueFactory;
+import javafx.stage.Stage;
+import java.io.IOException;
+import java.rmi.server.ExportException;
+import java.time.LocalDate;
+
+/**
+ * Controller class.
+ */
public class PatientTablesController{
+ private MainController mainController;
+
+ public PatientTablesController(MainController mainController){
+ this.mainController = mainController;
+ }
+
+
+ @FXML
+ public void initialize() {
+ btnPatEdit.disableProperty().bind(tblPatientOverview.getSelectionModel().selectedItemProperty().isNull());
+ tblPatientOverview.setRowFactory(tableView -> {
+ TableRow tableRow = new TableRow<>();
+ tableRow.setOnMouseClicked(event -> {
+ if(event.getClickCount()==2 && (!tableRow.isEmpty())){
+ Patient patient = tableRow.getItem();
+ showEditWindow(patient);
+ }
+ });
+ return tableRow;
+ });
+
+ ObservableList patientList = FXCollections.observableArrayList();
+
+ Patient patient = new Patient();
+ patient.setPatID(1337);
+ patient.setNachname("Mustermann");
+ patient.setVorname("Max");
+ patient.setGeburtsdatum(LocalDate.of(1990, 12, 12));
+ patient.setStrasse("Beckergrube");
+ patient.setHausnummer("20");
+ patient.setPlz("23552");
+ patient.setOrt("Luebeck");
+ patient.setCave("voellig langweilig");
+
+ patientList.add(patient);
+
+ tblPatientOverview.setItems(patientList);
+
+ initColumns();
+ }
+
+
+ private void initColumns(){
+ colPatPatId.setCellValueFactory(cellDataFeatures -> cellDataFeatures.getValue().patIDProperty().asString());
+ colPatGeburtsname.setCellValueFactory(new PropertyValueFactory<>("geburtsname"));
+ colPatNachname.setCellValueFactory(new PropertyValueFactory<>("nachname"));
+ colPatVorname.setCellValueFactory(new PropertyValueFactory<>("vorname"));
+ colPatGebDatum.setCellValueFactory(cellDataFeatures -> cellDataFeatures.getValue().geburtsdatumProperty());
+ colPatStrasse.setCellValueFactory(cellDataFeatures -> {
+ Patient patient = cellDataFeatures.getValue();
+ return Bindings.concat(patient.strasseProperty(), " ", patient.hausnummerProperty());
+ });
+ colPatPlz.setCellValueFactory(new PropertyValueFactory<>("plz"));
+ colPatOrt.setCellValueFactory(new PropertyValueFactory<>("ort"));
+ colPatCave.setCellValueFactory(new PropertyValueFactory<>("cave"));
+ }
+
+ @FXML
+ private void clickedCreatePatient (){
+ showEditWindow(null);
+ }
+
+
+ @FXML
+ private void clickedEditPatient(){
+ showEditWindow(tblPatientOverview.getSelectionModel().getSelectedItem());
+ }
+
+
+ private void showEditWindow(Patient patient){
+ FXMLLoader fxmlLoader = new FXMLLoader();
+ fxmlLoader.setLocation(getClass().getClassLoader().getResource("patient_edit.fxml"));
+
+ Parent root = null;
+ try{
+ root = fxmlLoader.load();
+ }catch (IOException e){
+ e.printStackTrace();
+ }
+
+ Stage stage = new Stage();
+
+ stage.setTitle(patient==null ? "Neuen Patienten erstellen": "Patient bearbeiten");
+ stage.setScene(new Scene(root, 600, 600));
+
+ PatientEditorController patientEditorController = (PatientEditorController)fxmlLoader.getController();
+ patientEditorController.setPatient(patient);
+ stage.show();
+ }
+
@FXML
private Button btnPatCreate;
@FXML
- private TableView> tblPatientOverview;
+ private Button btnPatEdit;
@FXML
- private TableColumn, ?> colStatEntlassungsdatum;
+ private TableView tblPatientOverview;
@FXML
- private TableColumn, ?> colPatOrt;
+ private TableColumn colPatPatId;
@FXML
- private ComboBox> cmbStationenFilter;
+ private TableColumn colPatGeburtsname;
@FXML
- private TableColumn, ?> colStatFullName;
+ private TableColumn colPatNachname;
@FXML
- private TableColumn, ?> colStatAlter;
+ private TableColumn colPatVorname;
@FXML
- private TableColumn, ?> colPatGebDatum;
+ private TableColumn colPatGebDatum;
@FXML
- private TableColumn, ?> colStatAufnahmedatum;
+ private TableColumn colPatStrasse;
@FXML
- private Button btnPatEdit;
+ private TableColumn colPatPlz;
@FXML
- private TableColumn, ?> colPatNachname;
+ private TableColumn colPatOrt;
@FXML
- private TableColumn, ?> colPatGeburtsname;
+ private TableColumn colPatCave;
+
+
+
@FXML
- private TableColumn, ?> colPatStrasse;
+ private ToggleButton btnEntlassenePatientenZeigen;
@FXML
- private TableColumn, ?> colPatPlz;
+ private ComboBox> cmbStationenFilter;
@FXML
- private TableColumn, ?> colPatPatId;
+ private TableView> tblStationOverview;
@FXML
- private TableColumn, ?> colPatVorname;
+ private TableColumn, ?> colStatPatId;
@FXML
- private ToggleButton btnEntlassenePatientenZeigen;
+ private TableColumn,?> colStatFullName;
@FXML
private TableColumn, ?> colStatGebDatum;
@FXML
- private TableColumn, ?> colPatCave;
+ private TableColumn, ?> colStatAlter;
@FXML
- private TableView> tblStationOverview;
+ private TableColumn, ?> colStatAufnahmedatum;
@FXML
- private TableColumn, ?> colStatPatId;
+ private TableColumn, ?> colStatEntlassungsdatum;
}
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java
index 5519ab7..ad39ec5 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java
@@ -10,6 +10,14 @@ import javafx.scene.control.TextField;
public class SettingsController {
+ private MainController mainController;
+
+ public SettingsController (MainController mainController){
+ this.mainController = mainController;
+ }
+
+
+
@FXML
private Button opsServerSave;
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java
index 013aee1..bd1b79e 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java
@@ -4,4 +4,13 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 631806 on 12.11.15.
*/
public class StationsHistorieController {
+ private MainController mainController;
+
+
+ public StationsHistorieController(MainController mainController){
+ this.mainController = mainController;
+ }
+
+
+
}
diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java
index 509b1b8..5a6f65e 100644
--- a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java
+++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java
@@ -4,12 +4,21 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 626947 on 12.11.15.
*/
+import de.uniluebeck.mi.projmi6.Main;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.*;
public class UntersuchungenController {
+
+ private MainController mainController;
+
+
+ public UntersuchungenController (MainController mainController){
+ this.mainController = mainController;
+ }
+
@FXML
private Button btnUntsCancel;
diff --git a/src/main/resources/main.fxml b/src/main/resources/main.fxml
index 6542d16..c936d74 100644
--- a/src/main/resources/main.fxml
+++ b/src/main/resources/main.fxml
@@ -77,7 +77,7 @@
-
+
diff --git a/src/main/resources/patient_tables.fxml b/src/main/resources/patient_tables.fxml
index a82ff28..12faff9 100644
--- a/src/main/resources/patient_tables.fxml
+++ b/src/main/resources/patient_tables.fxml
@@ -14,8 +14,8 @@
-
-
+
+