Im Rahmen der Veranstaltung "CS3330 - Projektpraktikum MedizinischeInformatik" an der Universität zu Lübeck entstandenes Krankenhausinformationssystem (KIS).
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
3.9 KiB

  1. package de.uniluebeck.mi.projmi6.controller;
  2. /**
  3. * Created by 631806 on 12.11.15.
  4. */
  5. import de.uniluebeck.mi.projmi6.model.*;
  6. import javafx.beans.property.SimpleObjectProperty;
  7. import javafx.collections.FXCollections;
  8. import javafx.collections.ObservableList;
  9. import javafx.event.ActionEvent;
  10. import javafx.fxml.FXML;
  11. import javafx.scene.control.*;
  12. import javafx.event.ActionEvent;
  13. public class DiagnoseController {
  14. private MainController mainController;
  15. public DiagnoseController(MainController mainController){
  16. this.mainController = mainController;
  17. }
  18. public ObservableList<Diagnose> getDiagnosen() {
  19. return diagnosen.get();
  20. }
  21. public SimpleObjectProperty<ObservableList<Diagnose>> diagnosenProperty() {
  22. return diagnosen;
  23. }
  24. public void setDiagnosen(ObservableList<Diagnose> diagnosen) {
  25. this.diagnosen.set(diagnosen);
  26. }
  27. private SimpleObjectProperty<ObservableList<Diagnose>> diagnosen = new SimpleObjectProperty<>();
  28. @FXML
  29. private ListView<Diagnose> diagnoseList;
  30. @FXML
  31. public void initialize(){
  32. diagDiagnose.itemsProperty().bind(mainController.getStammdaten().icd10CodesProperty());
  33. diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values()));
  34. diagDiagnoseArzt.itemsProperty().bind(mainController.getStammdaten().mitarbeiterProperty());
  35. diagnoseList.itemsProperty().bind(diagnosen);
  36. diagnoseList.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
  37. diagnoseList.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
  38. this.setDiagnose(newValue);
  39. });
  40. }
  41. @FXML
  42. private ComboBox<Mitarbeiter> diagDiagnoseArzt;
  43. @FXML
  44. private Label diagCreator;
  45. @FXML
  46. private Button btnDiagCancel;
  47. @FXML
  48. private TextArea diagFreitext;
  49. @FXML
  50. private Button btnDiagSave;
  51. @FXML
  52. private Label diagCreateTime;
  53. @FXML
  54. private ComboBox<DiagArt> diagDiagnoseArt;
  55. @FXML
  56. private Label diagChanger;
  57. @FXML
  58. private ComboBox<Icd10Code> diagDiagnose;
  59. @FXML
  60. private Label diagChangeTime;
  61. @FXML
  62. private Button btnDiagCreate;
  63. @FXML
  64. void clickedDiagCreate(ActionEvent event) {
  65. }
  66. @FXML
  67. void clickedDiagCancel(ActionEvent event) {
  68. }
  69. @FXML
  70. void clickedDiagSave(ActionEvent event) {
  71. }
  72. /**
  73. * The diagnose that is shown in the edit window, or null if a new diagnose should be created.
  74. */
  75. private Diagnose diagnose = null;
  76. public void setDiagnose(Diagnose diagnose){
  77. this.diagnose = diagnose;
  78. if(diagnose==null){
  79. clearFields();
  80. }else {
  81. copyDiagnoseDataIntoFields(diagnose);
  82. }
  83. }
  84. private void copyDiagnoseDataIntoFields(Diagnose diagnose){
  85. diagDiagnoseArzt.setValue(diagnose.getArzt());
  86. diagFreitext.setText(diagnose.getFreiText());
  87. diagDiagnoseArt.setValue(diagnose.getDiagArt());
  88. diagDiagnose.setValue(diagnose.getIcd10code());
  89. diagCreator.setText(Integer.toString(diagnose.getErsteller()));
  90. diagCreateTime.setText(diagnose.getErstellDatumZeit().toString());
  91. diagChanger.setText(Integer.toString(diagnose.getBearbeiter()));
  92. diagChangeTime.setText(diagnose.getBearbeitetDatumZeit().toString());
  93. }
  94. private void copyFieldDataIntoDiagnose(Diagnose diagnose){
  95. diagnose.setIcd10code(diagDiagnose.getValue());
  96. diagnose.setArzt(diagDiagnoseArzt.getValue());
  97. diagnose.setFreiText(diagFreitext.getText());
  98. diagnose.setDiagArt(diagDiagnoseArt.getValue());
  99. }
  100. private void clearFields(){
  101. diagDiagnoseArzt.setValue(null);
  102. diagDiagnose.setValue(null);
  103. diagFreitext.setText("");
  104. diagDiagnoseArt.setValue(null);
  105. diagCreator.setText("todo");
  106. diagCreateTime.setText("<auto>");
  107. diagChanger.setText("todo");
  108. diagChangeTime.setText("<auto>");
  109. }
  110. }