Browse Source

Arzt "SYSTEM, SYSTEM" wird nun auch bei Untersuchungen und Diagnosen gefiltert

master
Johannes 10 years ago
parent
commit
0fd6ca4f4f
3 changed files with 66 additions and 6 deletions
  1. +6
    -1
      src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
  2. +3
    -1
      src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java
  3. +57
    -4
      src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java

+ 6
- 1
src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java View File

@@ -11,6 +11,7 @@ import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
@@ -125,7 +126,11 @@ public class DiagnoseController {

//init fields on the right
diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values()));
diagDiagnoseArzt.itemsProperty().bind(mainController.getStammdaten().mitarbeiterProperty());

FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter());
mitarbeiterFilteredList.setPredicate(m -> !m.getNachname().equalsIgnoreCase("SYSTEM"));
diagDiagnoseArzt.setItems(mitarbeiterFilteredList);

diagnoseList.itemsProperty().bind(diagnosen);
fields.disableProperty().bind(state.isEqualTo(State.VIEW));



+ 3
- 1
src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java View File

@@ -51,7 +51,9 @@ public class StationsHistorieController {
private ComboBox<Station> cmbStation;
@FXML
private ComboBox<String> cmbAbteilung;
private final SimpleObjectProperty<ObservableList<StationsHistorie>> stationsHistorie =
private final

SimpleObjectProperty<ObservableList<StationsHistorie>> stationsHistorie =
new SimpleObjectProperty<>();




+ 57
- 4
src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java View File

@@ -5,6 +5,7 @@ package de.uniluebeck.mi.projmi6.controller;
*/

import de.uniluebeck.mi.projmi6.db.DBHandler;
import de.uniluebeck.mi.projmi6.model.Diagnose;
import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import de.uniluebeck.mi.projmi6.model.OpsCode;
import de.uniluebeck.mi.projmi6.model.Untersuchung;
@@ -13,6 +14,7 @@ import de.uniluebeck.mi.projmi6.view.SelectKeyComboBoxListener;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.ObservableList;
import javafx.collections.transformation.FilteredList;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
@@ -110,7 +112,9 @@ public class UntersuchungenController {
untsOpsCode.itemsProperty().bind(mainController.getStammdaten().opsCodesProperty());
new SelectKeyComboBoxListener(untsOpsCode);

untsArzt.itemsProperty().bind(mainController.getStammdaten().mitarbeiterProperty());
FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter());
mitarbeiterFilteredList.setPredicate(m -> !m.getNachname().equalsIgnoreCase("SYSTEM"));
untsArzt.setItems(mitarbeiterFilteredList);
}

/**
@@ -130,6 +134,41 @@ public class UntersuchungenController {
btnUntsAbort.visibleProperty().bind(btnUntsSave.managedProperty());
}


/**
* Show message when data is invalid
*/
private void showMessage(String title, String message) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Ung\u00fcltige Untersuchungsdaten eingegeben!");
alert.setHeaderText(title);
alert.setContentText(message);

alert.showAndWait();
}

/**
* Check if doctor and DRG code is selected.
*/
private boolean validateData(Untersuchung untersuchung){
if(untersuchung.getOpscode() == null){
showMessage("OPS-Code ist nicht gesetzt", "Bitte einen OPS-Code ausw\u00e4hlen!");
return false;
}
if(untersuchung.getDurchfuehrenderArzt()==null){
showMessage("Durchf\u00fchrender Arzt ist nicht gesetzt!", "Bitte einen Arzt aus der Liste ausw\u00e4hlen!");
return false;
}
if(untersuchung.getUntersuchungsdatum()==null){
showMessage("Untersuchungsdatum ist nicht gesetzt!", "Bitte Untersuchungsdatum ausw\u00e4hlen!");
return false;
}


return true;
}


/**
* Set up data, disable property and listener.
*/
@@ -168,7 +207,7 @@ public class UntersuchungenController {
* FXMLLoaders init method.
*/
@FXML
void initialize() {
private void initialize() {
//Clear fields on startup
copyUntersuchungDataIntoFields();

@@ -228,20 +267,34 @@ public class UntersuchungenController {
* Handler for the save button. Saves the data in the fields in the database.
*/
@FXML
void clickedUntsSave() {
private void clickedUntsSave() {
if (state.get() == State.CREATE) {
Untersuchung untersuchung = new Untersuchung();
untersuchung.setFall(mainController.getFallController().getFall());
copyFieldDataIntoUntersuchung(untersuchung);
if(!validateData(untersuchung)){
return;
}
try {
DBHandler.setUntersuchung(untersuchung, mainController.getCurrentMitarbeiter().getMitarbID(), false);
} catch (SQLException e) {
e.printStackTrace();
}
state.set(State.VIEW);
mainController.refreshCaseData();
} else if (state.get() == State.EDIT) {
Untersuchung untersuchung = untsList.getSelectionModel().getSelectedItem();
copyFieldDataIntoUntersuchung(untersuchung);
//...
if(!validateData(untersuchung)){
return;
}
try {
DBHandler.setUntersuchung(untersuchung, mainController.getCurrentMitarbeiter().getMitarbID(), true);
} catch (SQLException e) {
e.printStackTrace();
}
state.set(State.VIEW);
mainController.refreshCaseData();
}
}



Loading…
Cancel
Save