Browse Source

Beginn der Arbeit an den Patiententabelle

hapi
Johannes 10 years ago
parent
commit
7e780f35f9
12 changed files with 334 additions and 77 deletions
  1. +12
    -0
      pom.xml
  2. +1
    -1
      src/main/java/de/uniluebeck/mi/projmi6/Main.java
  3. +11
    -3
      src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
  4. +6
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java
  5. +64
    -42
      src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
  6. +81
    -3
      src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java
  7. +130
    -25
      src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
  8. +8
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java
  9. +9
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java
  10. +9
    -0
      src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java
  11. +1
    -1
      src/main/resources/main.fxml
  12. +2
    -2
      src/main/resources/patient_tables.fxml

+ 12
- 0
pom.xml View File

@@ -7,6 +7,18 @@
<groupId>de.uni-luebeck.mi.projmi6</groupId> <groupId>de.uni-luebeck.mi.projmi6</groupId>
<artifactId>projmi6</artifactId> <artifactId>projmi6</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>




</project> </project>

+ 1
- 1
src/main/java/de/uniluebeck/mi/projmi6/Main.java View File

@@ -23,7 +23,7 @@ public class Main extends Application {
Parent root = fxmlLoader.load(); Parent root = fxmlLoader.load();


primaryStage.setTitle("KIS Gruppe 06"); primaryStage.setTitle("KIS Gruppe 06");
primaryStage.setScene(new Scene(root, 800, 600));
primaryStage.setScene(new Scene(root, 1000, 800));
primaryStage.show(); primaryStage.show();
} }




+ 11
- 3
src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java View File

@@ -4,6 +4,8 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 631806 on 12.11.15. * Created by 631806 on 12.11.15.
*/ */


import de.uniluebeck.mi.projmi6.model.Diagnose;
import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Button; import javafx.scene.control.Button;
@@ -14,8 +16,14 @@ import javafx.scene.control.TextArea;


public class DiagnoseController { public class DiagnoseController {


private MainController mainController;

public DiagnoseController(MainController mainController){
this.mainController = mainController;
}

@FXML @FXML
private ComboBox<?> diagDiagnoseArzt;
private ComboBox<Mitarbeiter> diagDiagnoseArzt;


@FXML @FXML
private Label diagCreator; private Label diagCreator;
@@ -33,13 +41,13 @@ public class DiagnoseController {
private Label diagCreateTime; private Label diagCreateTime;


@FXML @FXML
private ComboBox<?> diagDiagnoseArt;
private ComboBox<Mitarbeiter> diagDiagnoseArt;


@FXML @FXML
private Label diagChanger; private Label diagChanger;


@FXML @FXML
private ComboBox<?> diagDiagnose;
private ComboBox<Diagnose> diagDiagnose;


@FXML @FXML
private Label diagChangeTime; private Label diagChangeTime;


+ 6
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java View File

@@ -14,6 +14,12 @@ import javafx.scene.control.TextField;


public class FallController { public class FallController {


private MainController mainController;

public FallController (MainController mainController){
this.mainController = mainController;
}

@FXML @FXML
private Button btnFallAufnNow; private Button btnFallAufnNow;




+ 64
- 42
src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java View File

@@ -1,5 +1,6 @@
package de.uniluebeck.mi.projmi6.controller; package de.uniluebeck.mi.projmi6.controller;


import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox; import javafx.scene.control.ChoiceBox;
@@ -12,50 +13,63 @@ public class MainController {


private FallController fallController; private FallController fallController;
private DiagnoseController diagnoseController; private DiagnoseController diagnoseController;
private PatientEditorController patientEditorController;
//private PatientEditorController patientEditorController;
private PatientTablesController patientTablesController; private PatientTablesController patientTablesController;
private SettingsController settingsController; private SettingsController settingsController;
private UntersuchungenController untersuchungenController;
private StationsHistorieController stationsHistorieController; private StationsHistorieController stationsHistorieController;
private UntersuchungenController untersuchungenController;

private int parallelTaskCount = 0;

@FXML
private ChoiceBox<Mitarbeiter> cmbUserChoose;
@FXML
private ProgressIndicator progressIndicator;
@FXML
private Button btnFallCreate;

private Callback<Class<?>, Object> controllerFactory = clazz -> {
if(clazz.equals(MainController.class)) {
return this;
}else if(clazz.equals(FallController.class)){
return fallController;
}else if(clazz.equals(DiagnoseController.class)){
return diagnoseController;
//}else if(clazz.equals(PatientEditorController.class)) {
// return patientEditorController;
}else if(clazz.equals(PatientTablesController.class)){
return patientTablesController;
}else if(clazz.equals(SettingsController.class)){
return settingsController;
} else if(clazz.equals(UntersuchungenController.class)) {
return untersuchungenController;
}else if(clazz.equals(StationsHistorieController.class)){
return stationsHistorieController;
}else {
System.err.println("Keine Controller-Klasse des Typs "+clazz+" gefunden!!!");
return null;
}

};






public MainController(){ public MainController(){
fallController = new FallController();
diagnoseController = new DiagnoseController();
patientEditorController = new PatientEditorController();
patientTablesController = new PatientTablesController();
settingsController = new SettingsController();
untersuchungenController = new UntersuchungenController();
stationsHistorieController = new StationsHistorieController();
fallController = new FallController(this);
diagnoseController = new DiagnoseController(this);
//patientEditorController = new PatientEditorController(this);
patientTablesController = new PatientTablesController(this);
settingsController = new SettingsController(this);
untersuchungenController = new UntersuchungenController(this);
stationsHistorieController = new StationsHistorieController(this);
} }



public Callback<Class<?>, Object> getControllerFactory(){ public Callback<Class<?>, Object> getControllerFactory(){
return clazz -> {
if(clazz.equals(MainController.class)) {
return this;
}else if(clazz.equals(FallController.class)){
return fallController;
}else if(clazz.equals(DiagnoseController.class)){
return diagnoseController;
}else if(clazz.equals(PatientEditorController.class)) {
return patientEditorController;
}else if(clazz.equals(PatientTablesController.class)){
return patientTablesController;
}else if(clazz.equals(SettingsController.class)){
return settingsController;
} else if(clazz.equals(UntersuchungenController.class)) {
return untersuchungenController;
}else if(clazz.equals(StationsHistorieController.class)){
return stationsHistorieController;
}else {
System.err.println("Keine Controller-Klasse des Typs "+clazz+" gefunden!!!");
return null;
}

};
return controllerFactory;
} }



public FallController getFallController(){ public FallController getFallController(){
return fallController; return fallController;
} }
@@ -64,9 +78,9 @@ public class MainController {
return diagnoseController; return diagnoseController;
} }


public PatientEditorController getPatientEditorController(){
return patientEditorController;
}
// public PatientEditorController getPatientEditorController(){
// return patientEditorController;
// }


public PatientTablesController getPatientTablesController(){ public PatientTablesController getPatientTablesController(){
return patientTablesController; return patientTablesController;
@@ -80,15 +94,23 @@ public class MainController {
return untersuchungenController; return untersuchungenController;
} }


public void increaseParallelTaskCount(){
parallelTaskCount++;
if(parallelTaskCount>0){
progressIndicator.setVisible(true);
}
}


@FXML
private ChoiceBox<?> cmbUserChoose;


@FXML
private ProgressIndicator progressIndicator;
public void decreaseParallelTaskCount(){
parallelTaskCount++;
if(parallelTaskCount<=0){
parallelTaskCount = 0;
progressIndicator.setVisible(false);
}
}



@FXML
private Button btnFallCreate;




@FXML @FXML


+ 81
- 3
src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java View File

@@ -3,6 +3,8 @@ package de.uniluebeck.mi.projmi6.controller;
/** /**
* Created by 631806 on 12.11.15. * Created by 631806 on 12.11.15.
*/ */
import de.uniluebeck.mi.projmi6.model.Patient;
import javafx.collections.FXCollections;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.ComboBox; import javafx.scene.control.ComboBox;
@@ -11,9 +13,85 @@ import javafx.scene.control.Label;
import javafx.scene.control.TextArea; import javafx.scene.control.TextArea;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.stage.Stage;


public class PatientEditorController { public class PatientEditorController {


// private MainController mainController;

private Patient patient = null;

// public PatientEditorController(MainController mainController){
// this.mainController = mainController;
// }


@FXML
public void initialize(){
patGeschlecht.setItems(FXCollections.observableArrayList(Patient.Geschlecht.values()));
patFamilienstand.setItems(FXCollections.observableArrayList(Patient.Familienstand.values()));

}


public void setPatient(Patient patient){
this.patient = patient;
if(patient==null){
clearFields();
}else {
copyPatientDataIntoFields();
}

}


private void copyPatientDataIntoFields(){
patId.setText(Integer.toString(patient.getPatID()));
patGeburtsname.setText(patient.getGeburtsname());
patNachname.setText(patient.getNachname());
patVorname.setText(patient.getVorname());
patStrasse.setText(patient.getStrasse());
patHausnummer.setText(patient.getHausnummer());
patPlz.setText(patient.getPlz());
patOrt.setText(patient.getOrt());
patGeburtsdatum.setValue(patient.getGeburtsdatum());
patFamilienstand.setValue(patient.getFamilienstand());
patGeschlecht.setValue(patient.getGeschlecht());
patVersicherungsnummer.setText(patient.getVersichertennummer());
// patVersicherung.setValue(patient.getVersicherung()); TODO
patCave.setText(patient.getCave());

patCreator.setText(patient.getErsteller());
patCreateTime.setText(patient.getErstellDatumZeit());
patChanger.setText(patient.getBearbeiter());
patChangeTime.setText(patient.getBearbeitetDatumZeit());
}

private void clearFields(){
patId.setText("<auto>");
patGeburtsname.setText("");
patNachname.setText("");
patVorname.setText("");
patStrasse.setText("");
patHausnummer.setText("");
patPlz.setText("");
patOrt.setText("");
patGeburtsdatum.setValue(null);
patFamilienstand.setValue(null);
patGeschlecht.setValue(null);
patVersicherungsnummer.setText("");
patVersicherung.setValue(null);
patCave.setText("");

patCreator.setText("todo");
patCreateTime.setText("<auto>");
patChanger.setText("todo");
patChangeTime.setText("<auto>");
}




@FXML @FXML
private Label patChangeTime; private Label patChangeTime;


@@ -45,7 +123,7 @@ public class PatientEditorController {
private TextField patPlz; private TextField patPlz;


@FXML @FXML
private ComboBox<?> patFamilienstand;
private ComboBox<Patient.Familienstand> patFamilienstand;


@FXML @FXML
private TextField patStrasse; private TextField patStrasse;
@@ -57,7 +135,7 @@ public class PatientEditorController {
private TextArea patCave; private TextArea patCave;


@FXML @FXML
private ComboBox<?> patGeschlecht;
private ComboBox<Patient.Geschlecht> patGeschlecht;


@FXML @FXML
private Label patCreator; private Label patCreator;
@@ -81,7 +159,7 @@ public class PatientEditorController {


@FXML @FXML
void clickedAbort(ActionEvent event) { void clickedAbort(ActionEvent event) {
((Stage)patVorname.getScene().getWindow()).close(); //Close Window
} }


} }

+ 130
- 25
src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java View File

@@ -1,78 +1,183 @@
package de.uniluebeck.mi.projmi6.controller; package de.uniluebeck.mi.projmi6.controller;


/** /**
* Created by 631806 on 12.11.15.
* Created by Johannes on 12.11.15.
*/ */
import de.uniluebeck.mi.projmi6.model.Patient;
import javafx.beans.binding.Bindings;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.ToggleButton;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;


import java.io.IOException;
import java.rmi.server.ExportException;
import java.time.LocalDate;

/**
* Controller class.
*/
public class PatientTablesController{ public class PatientTablesController{


private MainController mainController;

public PatientTablesController(MainController mainController){
this.mainController = mainController;
}


@FXML
public void initialize() {
btnPatEdit.disableProperty().bind(tblPatientOverview.getSelectionModel().selectedItemProperty().isNull());
tblPatientOverview.setRowFactory(tableView -> {
TableRow<Patient> tableRow = new TableRow<>();
tableRow.setOnMouseClicked(event -> {
if(event.getClickCount()==2 && (!tableRow.isEmpty())){
Patient patient = tableRow.getItem();
showEditWindow(patient);
}
});
return tableRow;
});

ObservableList<Patient> patientList = FXCollections.<Patient>observableArrayList();

Patient patient = new Patient();
patient.setPatID(1337);
patient.setNachname("Mustermann");
patient.setVorname("Max");
patient.setGeburtsdatum(LocalDate.of(1990, 12, 12));
patient.setStrasse("Beckergrube");
patient.setHausnummer("20");
patient.setPlz("23552");
patient.setOrt("Luebeck");
patient.setCave("voellig langweilig");

patientList.add(patient);

tblPatientOverview.setItems(patientList);

initColumns();
}


private void initColumns(){
colPatPatId.setCellValueFactory(cellDataFeatures -> cellDataFeatures.getValue().patIDProperty().asString());
colPatGeburtsname.setCellValueFactory(new PropertyValueFactory<>("geburtsname"));
colPatNachname.setCellValueFactory(new PropertyValueFactory<>("nachname"));
colPatVorname.setCellValueFactory(new PropertyValueFactory<>("vorname"));
colPatGebDatum.setCellValueFactory(cellDataFeatures -> cellDataFeatures.getValue().geburtsdatumProperty());
colPatStrasse.setCellValueFactory(cellDataFeatures -> {
Patient patient = cellDataFeatures.getValue();
return Bindings.concat(patient.strasseProperty(), " ", patient.hausnummerProperty());
});
colPatPlz.setCellValueFactory(new PropertyValueFactory<>("plz"));
colPatOrt.setCellValueFactory(new PropertyValueFactory<>("ort"));
colPatCave.setCellValueFactory(new PropertyValueFactory<>("cave"));
}

@FXML
private void clickedCreatePatient (){
showEditWindow(null);
}


@FXML
private void clickedEditPatient(){
showEditWindow(tblPatientOverview.getSelectionModel().getSelectedItem());
}


private void showEditWindow(Patient patient){
FXMLLoader fxmlLoader = new FXMLLoader();
fxmlLoader.setLocation(getClass().getClassLoader().getResource("patient_edit.fxml"));

Parent root = null;
try{
root = fxmlLoader.load();
}catch (IOException e){
e.printStackTrace();
}

Stage stage = new Stage();

stage.setTitle(patient==null ? "Neuen Patienten erstellen": "Patient bearbeiten");
stage.setScene(new Scene(root, 600, 600));

PatientEditorController patientEditorController = (PatientEditorController)fxmlLoader.getController();
patientEditorController.setPatient(patient);
stage.show();
}

@FXML @FXML
private Button btnPatCreate; private Button btnPatCreate;


@FXML @FXML
private TableView<?> tblPatientOverview;
private Button btnPatEdit;


@FXML @FXML
private TableColumn<?, ?> colStatEntlassungsdatum;
private TableView<Patient> tblPatientOverview;


@FXML @FXML
private TableColumn<?, ?> colPatOrt;
private TableColumn<Patient, String> colPatPatId;


@FXML @FXML
private ComboBox<?> cmbStationenFilter;
private TableColumn<Patient, String> colPatGeburtsname;


@FXML @FXML
private TableColumn<?, ?> colStatFullName;
private TableColumn<Patient, String> colPatNachname;


@FXML @FXML
private TableColumn<?, ?> colStatAlter;
private TableColumn<Patient, String> colPatVorname;


@FXML @FXML
private TableColumn<?, ?> colPatGebDatum;
private TableColumn<Patient, LocalDate> colPatGebDatum;


@FXML @FXML
private TableColumn<?, ?> colStatAufnahmedatum;
private TableColumn<Patient, String> colPatStrasse;


@FXML @FXML
private Button btnPatEdit;
private TableColumn<Patient, String> colPatPlz;


@FXML @FXML
private TableColumn<?, ?> colPatNachname;
private TableColumn<Patient, String> colPatOrt;


@FXML @FXML
private TableColumn<?, ?> colPatGeburtsname;
private TableColumn<Patient, String> colPatCave;





@FXML @FXML
private TableColumn<?, ?> colPatStrasse;
private ToggleButton btnEntlassenePatientenZeigen;


@FXML @FXML
private TableColumn<?, ?> colPatPlz;
private ComboBox<?> cmbStationenFilter;


@FXML @FXML
private TableColumn<?, ?> colPatPatId;
private TableView<?> tblStationOverview;


@FXML @FXML
private TableColumn<?, ?> colPatVorname;
private TableColumn<?, ?> colStatPatId;


@FXML @FXML
private ToggleButton btnEntlassenePatientenZeigen;
private TableColumn<?,?> colStatFullName;


@FXML @FXML
private TableColumn<?, ?> colStatGebDatum; private TableColumn<?, ?> colStatGebDatum;


@FXML @FXML
private TableColumn<?, ?> colPatCave;
private TableColumn<?, ?> colStatAlter;


@FXML @FXML
private TableView<?> tblStationOverview;
private TableColumn<?, ?> colStatAufnahmedatum;


@FXML @FXML
private TableColumn<?, ?> colStatPatId;
private TableColumn<?, ?> colStatEntlassungsdatum;


} }

+ 8
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/SettingsController.java View File

@@ -10,6 +10,14 @@ import javafx.scene.control.TextField;


public class SettingsController { public class SettingsController {


private MainController mainController;

public SettingsController (MainController mainController){
this.mainController = mainController;
}



@FXML @FXML
private Button opsServerSave; private Button opsServerSave;




+ 9
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java View File

@@ -4,4 +4,13 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 631806 on 12.11.15. * Created by 631806 on 12.11.15.
*/ */
public class StationsHistorieController { public class StationsHistorieController {
private MainController mainController;


public StationsHistorieController(MainController mainController){
this.mainController = mainController;
}



} }

+ 9
- 0
src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java View File

@@ -4,12 +4,21 @@ package de.uniluebeck.mi.projmi6.controller;
* Created by 626947 on 12.11.15. * Created by 626947 on 12.11.15.
*/ */


import de.uniluebeck.mi.projmi6.Main;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.*; import javafx.scene.control.*;


public class UntersuchungenController { public class UntersuchungenController {



private MainController mainController;


public UntersuchungenController (MainController mainController){
this.mainController = mainController;
}

@FXML @FXML
private Button btnUntsCancel; private Button btnUntsCancel;




+ 1
- 1
src/main/resources/main.fxml View File

@@ -77,7 +77,7 @@
<Label text="Mitarbeiter wählen:" /> <Label text="Mitarbeiter wählen:" />
<ChoiceBox fx:id="cmbUserChoose" prefWidth="150.0" /> <ChoiceBox fx:id="cmbUserChoose" prefWidth="150.0" />
<Pane HBox.hgrow="ALWAYS" /> <Pane HBox.hgrow="ALWAYS" />
<ProgressIndicator fx:id="progressIndicator" pickOnBounds="false" prefHeight="35.0" prefWidth="35.0" />
<ProgressIndicator fx:id="progressIndicator" visible="false" pickOnBounds="false" prefHeight="35.0" prefWidth="35.0" />
</items> </items>
</ToolBar> </ToolBar>
</children> </children>


+ 2
- 2
src/main/resources/patient_tables.fxml View File

@@ -14,8 +14,8 @@
<children> <children>
<ToolBar prefHeight="40.0" prefWidth="200.0"> <ToolBar prefHeight="40.0" prefWidth="200.0">
<items> <items>
<Button fx:id="btnPatCreate" text="Neuen _Patient erstellen" />
<Button fx:id="btnPatEdit" text="Patient _bearbeiten" />
<Button fx:id="btnPatCreate" text="Neuen _Patient erstellen" onAction="#clickedCreatePatient" />
<Button fx:id="btnPatEdit" text="Patient _bearbeiten" onAction="#clickedEditPatient"/>
</items> </items>
</ToolBar> </ToolBar>
<TableView fx:id="tblPatientOverview" editable="true" tableMenuButtonVisible="true" VBox.vgrow="ALWAYS"> <TableView fx:id="tblPatientOverview" editable="true" tableMenuButtonVisible="true" VBox.vgrow="ALWAYS">


Loading…
Cancel
Save