|
- package de.uniluebeck.mi.projmi6.controller;
-
- /**
- * Created by 626947 on 12.11.15.
- */
-
- import de.uniluebeck.mi.projmi6.db.DBHandler;
- import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
- import de.uniluebeck.mi.projmi6.model.OpsCode;
- import de.uniluebeck.mi.projmi6.model.Untersuchung;
- import de.uniluebeck.mi.projmi6.view.DateTimePicker;
- import de.uniluebeck.mi.projmi6.view.SelectKeyComboBoxListener;
- import javafx.beans.property.SimpleObjectProperty;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.fxml.FXML;
- import javafx.scene.control.*;
- import javafx.scene.paint.Color;
- import javafx.scene.text.Text;
-
- import java.sql.SQLException;
-
- public class UntersuchungenController {
-
- /**
- * The examination that is shown in the edit window, or null if a new examination should be created.
- */
- private Untersuchung untersuchung = null;
-
-
- private MainController mainController;
-
-
- @FXML
- private Button btnUntsCancel;
-
- @FXML
- private Button btnUntsCreate;
-
- @FXML
- private DateTimePicker dtTmUntersuchungszeitpunkt;
-
- @FXML
- private Button btnUntsSave;
-
- @FXML
- private Label untsChanger;
-
- @FXML
- private Label untsCreator;
-
- @FXML
- private Label untsChangeTime;
-
- @FXML
- private Label untsCreateTime;
-
- @FXML
- private ListView<Untersuchung> untsList;
-
- @FXML
- private ComboBox<OpsCode> untsOpsCode;
-
- @FXML
- private ComboBox<Mitarbeiter> untsArzt;
- private SimpleObjectProperty<ObservableList<Untersuchung>> untersuchungen = new SimpleObjectProperty<>();
-
- public UntersuchungenController(MainController mainController) {
- this.mainController = mainController;
- }
-
- public ObservableList<Untersuchung> getUntersuchungen() {
- return untersuchungen.get();
- }
-
- public void setUntersuchungen(ObservableList<Untersuchung> untersuchungen) {
- this.untersuchungen.set(untersuchungen);
- }
-
- public SimpleObjectProperty<ObservableList<Untersuchung>> untersuchungenProperty() {
- return untersuchungen;
- }
-
- @FXML
- public void initialize(){
- untsOpsCode.itemsProperty().bind(mainController.getStammdaten().opsCodesProperty());
-
- new SelectKeyComboBoxListener(untsOpsCode);
-
- untsList.itemsProperty().bind(untersuchungen);
- untsArzt.setItems(mainController.getStammdaten().getMitarbeiter());
-
-
-
- untsList.setCellFactory(lv -> {
- return new ListCell<Untersuchung>(){
- @Override
- protected void updateItem(Untersuchung item, boolean empty) {
- super.updateItem(item, empty);
- if(item==null||empty){
- setText(null);
- setGraphic(null);
- return;
- }
- setText(item.toString());
- if(item.getStorniert()){
- setTextFill(Color.GRAY);
- Text text = new Text("<storniert> ");
- text.setFill(Color.RED);
- setGraphic(text);
- }else{
- setTextFill(Color.BLACK);
- setGraphic(null);
- }
- }
- };
- });
- }
-
- @FXML
- void clickedUntsCreate() {
- clearFields();
- untsArzt.getSelectionModel().select(mainController.getCurrentMitarbeiter());
- untersuchung = null;
- }
-
- @FXML
- void clickedUntsAbort() {
- Untersuchung untersuchung = untsList.getSelectionModel().getSelectedItem();
- if(untersuchung!=null){
- untersuchung.setStorniert(true);
- try {
- DBHandler.setUntersuchung(untersuchung, mainController.getCurrentMitarbeiter().getMitarbID(), true);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- mainController.refreshCaseData();
- }
-
- @FXML
- void clickedUntsSave(ActionEvent event) {
- if (untersuchung == null) {
- untersuchung = new Untersuchung();
- untersuchung.setFall(mainController.getFallController().getFall());
- copyFieldDataIntoUntersuchung(untersuchung);
- try {
- DBHandler.setUntersuchung(untersuchung, mainController.getCurrentMitarbeiter().getMitarbID(), false);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
-
- public void setUntersuchung(Untersuchung untersuchung){
- this.untersuchung = untersuchung;
- if(untersuchung==null){
- clearFields();
- }else {
- copyUntersuchungDataIntoFields();
- }
-
- }
-
- private void copyUntersuchungDataIntoFields(){
- // untsList.setText(Integer.toString(untersuchung.getUntersID()));
- untsOpsCode.setValue(untersuchung.getOpscode());
- untsArzt.setValue(untersuchung.getDurchfuehrenderArzt());
- dtTmUntersuchungszeitpunkt.setDateTime(untersuchung.getUntersuchungsdatum());
-
- untsCreator.setText(Integer.toString(untersuchung.getErsteller()));
- untsCreateTime.setText(untersuchung.getErstellDatumZeit().toString());
- untsChanger.setText(Integer.toString(untersuchung.getBearbeiter()));
- untsChangeTime.setText(untersuchung.getBearbeitetDatumZeit().toString());
- }
-
- private void copyFieldDataIntoUntersuchung(Untersuchung untersuchung){
-
- untersuchung.setOpscode(untsOpsCode.getValue());
- untersuchung.setDurchfuehrenderArzt(untsArzt.getValue());
- // untersuchung.set?(untsList.getValue());
- untersuchung.setUntersuchungsdatum(dtTmUntersuchungszeitpunkt.getDateTime());
-
- // untersCreateTime.setText(untersuchung.getErstellDatumZeit().toString());
- // untersCreator.setText(Integer.toString(untersuchung.getErsteller()));
- // untersEditTime.setText(untersuchung.getBearbeitetDatumZeit().toString());
- // untersEditor.setText(Integer.toString(untersuchung.getBearbeiter()));
- }
-
- private void clearFields(){
-
- untsCreateTime.setText("");
- untsCreator.setText("");
- untsChangeTime.setText("");
- // untersEditor.setText("<auto>");
-
- untsOpsCode.setValue(null);
- untsArzt.setValue(null);
- dtTmUntersuchungszeitpunkt.setDateTime(null);
-
- }
-
-
-
- }
|