diff --git a/src/main/java/de/uniluebeck/mi/projmi6/Main.java b/src/main/java/de/uniluebeck/mi/projmi6/Main.java index 9111cf1..6e0b817 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/Main.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/Main.java @@ -36,33 +36,38 @@ public class Main extends Application { @Override protected Parent call() throws Exception { - FXMLLoader fxmlLoader = new FXMLLoader(); - fxmlLoader.setLocation(getClass().getClassLoader().getResource("main.fxml")); - - MainController mainController = new MainController(); - fxmlLoader.setControllerFactory(mainController.getControllerFactory()); - - mainController.setOpsCodes(FXCollections.observableArrayList( + System.out.println("Lade OPS-Codes..."); + mainController.getStammdaten().setOpsCodes(FXCollections.observableArrayList( DBHandler.getAllOpsCodes() )); - mainController.setIcd10Codes(FXCollections.observableArrayList( + System.out.printf("Lade ICD-10-Codes..."); + mainController.getStammdaten().setIcd10Codes(FXCollections.observableArrayList( DBHandler.getAllIcd10Codes() )); - mainController.setKassen(FXCollections.observableArrayList( + System.out.println("Lade Krankenkassen..."); + mainController.getStammdaten().setKassen(FXCollections.observableArrayList( //DBHandler.getAll )); - mainController.setMitarbeiter(FXCollections.observableArrayList( + System.out.println("Lade Mitarbeiter..."); + mainController.getStammdaten().setMitarbeiter(FXCollections.observableArrayList( DBHandler.getAllMitarbeiter() )); - mainController.setStationen(FXCollections.observableArrayList( + + System.out.println("Lade Stationen..."); + mainController.getStammdaten().setStationen(FXCollections.observableArrayList( DBHandler.getAllStationen()) ); + System.out.printf("Lade GUI..."); + FXMLLoader fxmlLoader = new FXMLLoader(); + fxmlLoader.setLocation(getClass().getClassLoader().getResource("main.fxml")); + fxmlLoader.setControllerFactory(mainController.getControllerFactory()); + Parent root = fxmlLoader.load(); return root; 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 b442ac1..ecd269f 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java @@ -43,9 +43,9 @@ public class DiagnoseController { @FXML public void initialize(){ - diagDiagnose.itemsProperty().bind(mainController.icd10CodesProperty()); + diagDiagnose.itemsProperty().bind(mainController.getStammdaten().icd10CodesProperty()); diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values())); - diagDiagnoseArzt.itemsProperty().bind(mainController.mitarbeiterProperty()); + diagDiagnoseArzt.itemsProperty().bind(mainController.getStammdaten().mitarbeiterProperty()); diagnoseList.itemsProperty().bind(diagnosen); diagnoseList.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); 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 1a3caa6..85244cc 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java @@ -99,7 +99,7 @@ public class FallController { public void initialize(){ fallEinweisenderArzt.disableProperty().bind(fallSelbsteinweisung.selectedProperty()); fallFallart.setItems(FXCollections.observableArrayList(FallArt.values())); - fallKasse.setItems(mainController.getKassen()); + fallKasse.setItems(mainController.getStammdaten().getKassen()); btnFallEnableEdit.visibleProperty().bind( state.isEqualTo(State.VIEW).and(fallProperty.isNotNull()) 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 8d5212d..7dac298 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java @@ -3,6 +3,7 @@ package de.uniluebeck.mi.projmi6.controller; import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.model.*; import javafx.beans.binding.Bindings; +import javafx.beans.property.ReadOnlyObjectProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -23,47 +24,7 @@ public class MainController { private StationsHistorieController stationsHistorieController; private UntersuchungenController untersuchungenController; - private SimpleObjectProperty> opsCodes = new SimpleObjectProperty<>(); - private SimpleObjectProperty> icd10Codes = new SimpleObjectProperty<>(); - private SimpleObjectProperty> mitarbeiter = new SimpleObjectProperty<>(); - private SimpleObjectProperty> kassen = new SimpleObjectProperty<>(); - private SimpleObjectProperty> stationen = new SimpleObjectProperty<>(); - public ObservableList getStationen() { - return stationen.get(); - } - - public SimpleObjectProperty> stationenProperty() { - return stationen; - } - - public void setStationen(ObservableList stationen) { - this.stationen.set(stationen); - } - - public ObservableList getMitarbeiter() { - return mitarbeiter.get(); - } - - public SimpleObjectProperty> mitarbeiterProperty() { - return mitarbeiter; - } - - public void setMitarbeiter(ObservableList mitarbeiter) { - this.mitarbeiter.set(mitarbeiter); - } - - public ObservableList getKassen() { - return kassen.get(); - } - - public SimpleObjectProperty> kassenProperty() { - return kassen; - } - - public void setKassen(ObservableList kassen) { - this.kassen.set(kassen); - } @@ -90,6 +51,8 @@ public class MainController { private Tab tabFallOverview, tabFallUntersuchungen, tabFallDiagnose, tabFallStationsHistorie ; + private Stammdaten stammdaten = new Stammdaten(); + private Callback, Object> controllerFactory = clazz -> { if(clazz.equals(MainController.class)) { @@ -123,6 +86,10 @@ public class MainController { } + public Stammdaten getStammdaten(){ + return stammdaten; + } + public Callback, Object> getControllerFactory(){ @@ -168,34 +135,12 @@ public class MainController { } - public ObservableList getOpsCodes() { - return opsCodes.get(); - } - public SimpleObjectProperty> opsCodesProperty() { - return opsCodes; - } - - public void setOpsCodes(ObservableList opsCodes){ - this.opsCodesProperty().set(opsCodes); - } - - public ObservableList getIcd10Codes() { - return icd10Codes.get(); - } - - public SimpleObjectProperty> icd10CodesProperty() { - return icd10Codes; - } - - public void setIcd10Codes(ObservableList icd10Codes) { - this.icd10Codes.set(icd10Codes); - } @FXML private void initialize(){ - cmbUserChoose.itemsProperty().bind(this.mitarbeiterProperty()); + cmbUserChoose.itemsProperty().bind(this.getStammdaten().mitarbeiterProperty()); fallOverview.disableProperty().bind(patientTablesController.selectedPatientProperty().isNull()); @@ -275,4 +220,12 @@ public class MainController { patientTablesController.getPatientOverviewTabPane().setDisable(false); } + public Mitarbeiter getCurrentMitarbeiter(){ + return cmbUserChoose.getValue(); + } + + public ReadOnlyObjectProperty currentMitarbeiterProperty(){ + return cmbUserChoose.valueProperty(); + } + } 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 81f7895..0e5a734 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java @@ -79,7 +79,7 @@ public class PatientEditorController { public void initialize(){ patGeschlecht.setItems(FXCollections.observableArrayList(Patient.Geschlecht.values())); patFamilienstand.setItems(FXCollections.observableArrayList(Patient.Familienstand.values())); - patVersicherung.setItems(mainController.getKassen()); + patVersicherung.setItems(mainController.getStammdaten().getKassen()); } public PatientEditorController(MainController mainController){ @@ -193,16 +193,14 @@ public class PatientEditorController { patient = new Patient(); copyFieldDataIntoPatient(patient); try { - DBHandler.insertPatient(patient, 1003); + DBHandler.insertPatient(patient, mainController.getCurrentMitarbeiter().getMitarbID()); } catch (SQLException e) { e.printStackTrace(); } - //Create new db entry TODO }else{ copyFieldDataIntoPatient(patient); - //Update db entry... TODO try { - DBHandler.updatePatient(patient, 1005); // TODO: MitarbeiterID uebergeben! + DBHandler.updatePatient(patient, mainController.getCurrentMitarbeiter().getMitarbID()); } catch (SQLException e) { e.printStackTrace(); } 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 aaf7284..1d58b08 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java @@ -146,14 +146,7 @@ public class PatientTablesController{ lblTablePatientEmpty.setText("Liste ist leer."); lblTableStationEmpty.setText("Daten werden geladen..."); - cmbStationenFilter.itemsProperty().bind(mainController.stationenProperty()); - - ObservableList patientList = null; - try { - patientList = FXCollections.observableArrayList(DBHandler.getAllPatients()); - } catch (SQLException e) { - e.printStackTrace(); - } + cmbStationenFilter.itemsProperty().bind(mainController.getStammdaten().stationenProperty()); patientObjectBinding = Bindings.createObjectBinding(() ->{ @@ -164,10 +157,10 @@ public class PatientTablesController{ tblStationOverview.getSelectionModel().selectedItemProperty(), patientOverviewTabPane.getSelectionModel().selectedItemProperty()); - tblPatientOverview.setItems(patientList); - initColumnsPatient(); initColumnsStation(); + + updatePatientsFromDb(); } private void initColumnsPatient(){ @@ -234,6 +227,18 @@ public class PatientTablesController{ } + public void updatePatientsFromDb(){ + ObservableList patientList = null; + try { + patientList = FXCollections.observableArrayList(DBHandler.getAllPatients()); + } catch (SQLException e) { + e.printStackTrace(); + } + + tblPatientOverview.setItems(patientList); + + } + private ObjectBinding patientObjectBinding = null; public ObjectBinding selectedPatientProperty(){ 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 aafc5f4..17db4c1 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java @@ -77,7 +77,7 @@ public class UntersuchungenController { @FXML public void initialize(){ - untsOpsCode.itemsProperty().bind(mainController.opsCodesProperty()); + untsOpsCode.itemsProperty().bind(mainController.getStammdaten().opsCodesProperty()); untsList.itemsProperty().bind(untersuchungen); } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/Stammdaten.java b/src/main/java/de/uniluebeck/mi/projmi6/model/Stammdaten.java new file mode 100644 index 0000000..2f9c08b --- /dev/null +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/Stammdaten.java @@ -0,0 +1,76 @@ +package de.uniluebeck.mi.projmi6.model; + +import javafx.beans.property.SimpleObjectProperty; +import javafx.collections.ObservableList; + +/** + * Created by Johannes on 15/11/2015. + */ +public class Stammdaten { + private SimpleObjectProperty> opsCodes = new SimpleObjectProperty<>(); + private SimpleObjectProperty> icd10Codes = new SimpleObjectProperty<>(); + private SimpleObjectProperty> mitarbeiter = new SimpleObjectProperty<>(); + private SimpleObjectProperty> kassen = new SimpleObjectProperty<>(); + private SimpleObjectProperty> stationen = new SimpleObjectProperty<>(); + + public ObservableList getOpsCodes() { + return opsCodes.get(); + } + + public SimpleObjectProperty> opsCodesProperty() { + return opsCodes; + } + + public void setOpsCodes(ObservableList opsCodes){ + this.opsCodesProperty().set(opsCodes); + } + + public ObservableList getIcd10Codes() { + return icd10Codes.get(); + } + + public SimpleObjectProperty> icd10CodesProperty() { + return icd10Codes; + } + + public void setIcd10Codes(ObservableList icd10Codes) { + this.icd10Codes.set(icd10Codes); + } + + public ObservableList getStationen() { + return stationen.get(); + } + + public SimpleObjectProperty> stationenProperty() { + return stationen; + } + + public void setStationen(ObservableList stationen) { + this.stationen.set(stationen); + } + + public ObservableList getMitarbeiter() { + return mitarbeiter.get(); + } + + public SimpleObjectProperty> mitarbeiterProperty() { + return mitarbeiter; + } + + public void setMitarbeiter(ObservableList mitarbeiter) { + this.mitarbeiter.set(mitarbeiter); + } + + public ObservableList getKassen() { + return kassen.get(); + } + + public SimpleObjectProperty> kassenProperty() { + return kassen; + } + + public void setKassen(ObservableList kassen) { + this.kassen.set(kassen); + } + +}