|
|
|
@@ -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(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|