From f3e7e578d66644b662b053b79fdd260c547aa00c Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Sun, 15 Nov 2015 17:36:03 +0100 Subject: [PATCH 01/44] Faelle aus DB laden --- .../de/uniluebeck/mi/projmi6/db/DBHandler.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java index 55862d6..c13199c 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java @@ -27,6 +27,8 @@ public class DBHandler { private static final String SELECT_ICD10CODE_BY_ID = "SELECT * FROM `stammicd10` WHERE `icd10code` = '?' AND `version` = ?"; private static final String SELECT_OPSCODE_BY_ID = "SELECT * FROM `stammops` WHERE `opscode` = '?' AND `version` = ?"; private static final String SELECT_ALL_MITARBEITER = "SELECT * FROM `mitarbeiter`"; + private static final String SELECT_UNTERS_BY_FALLID = "SELECT * FROM `untersuchung` WHERE `fallid` = ?"; + private static final String SELECT_MITARBEITER_BY_ID = "SELECT * FROM `mitarbeiter` WHERE `mitarbid` = ?"; public static List getAllPatients() throws SQLException { Statement statement = MySqlConnFactory.getConnection().createStatement(); @@ -231,6 +233,15 @@ public class DBHandler { return mitarbeiters; } + private static Mitarbeiter getMitarbeiter(int id) throws SQLException { + PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_MITARBEITER_BY_ID); + ResultSet rs; + statement.setInt(1, id); + rs = statement.executeQuery(); + + return getMitarbeiter(rs); + } + private static Mitarbeiter getMitarbeiter(ResultSet rs) throws SQLException { Mitarbeiter mitarbeiter = new Mitarbeiter(rs.getInt("mitarbid")); mitarbeiter.setTitel(rs.getString("titel")); @@ -239,4 +250,28 @@ public class DBHandler { mitarbeiter.setEinweisenderArzt(rs.getString("einweisenderarzt")); return mitarbeiter; } + + public static List getUntersuchungByFall(Fall fall) throws SQLException { + PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_UNTERS_BY_FALLID); + statement.setInt(1, fall.getFallID()); + ResultSet rs = statement.executeQuery(); + + List untersuchungen = new ArrayList<>(); + while (rs.next()) { + untersuchungen.add(getUntersuchung(rs, fall)); + } + + return untersuchungen; + } + + private static Untersuchung getUntersuchung(ResultSet rs, Fall fall) throws SQLException { + Untersuchung untersuchung = new Untersuchung(); + untersuchung.setUntersID(rs.getInt("untersid")); + untersuchung.setFall(fall); + untersuchung.setDurchfuehrenderArzt(getMitarbeiter(rs.getInt("durchfuehrenderarzt"))); + untersuchung.setUntersuchungsdatum(rs.getTimestamp("untersuchungsdatum").toLocalDateTime()); + untersuchung.setOpscode(getOpsCode(rs.getString("opscode"), rs.getInt("opsversion"))); + setVersionInformation(untersuchung, rs); + return untersuchung; + } } From 445da65d4b1f7da7f3e251d07aa024100a7c2647 Mon Sep 17 00:00:00 2001 From: ikrontsi Date: Sun, 15 Nov 2015 17:39:43 +0100 Subject: [PATCH 02/44] UntersuchungenController bearbeitet. --- .../mi/projmi6/controller/DiagnoseController.java | 2 +- .../controller/UntersuchungenController.java | 59 ++++++++++++++++------ 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java index d3b1595..16d1808 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java @@ -100,7 +100,7 @@ public class DiagnoseController { //diagFreitext.setText(diagnose.getFreitext()); diagDiagnoseArt.setValue(diagnose.getDiagArt()); - //diagDiagnose.setValue(diagnose.getIcd10Code()); + //diagDiagnose.setValue(diagnose.getCode()); diagCreator.setText(Integer.toString(diagnose.getErsteller())); diagCreateTime.setText(diagnose.getErstellDatumZeit().toString()); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java index b71daaa..5c0626d 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java @@ -5,9 +5,7 @@ package de.uniluebeck.mi.projmi6.controller; */ import de.uniluebeck.mi.projmi6.Main; -import de.uniluebeck.mi.projmi6.model.Mitarbeiter; -import de.uniluebeck.mi.projmi6.model.OpsCode; -import de.uniluebeck.mi.projmi6.model.Patient; +import de.uniluebeck.mi.projmi6.model.*; import de.uniluebeck.mi.projmi6.view.DateTimePicker; import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -18,7 +16,7 @@ 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 Untersuchung untersuchung = null; private MainController mainController; @@ -80,7 +78,7 @@ public class UntersuchungenController { void clickedUntsSave(ActionEvent event) { } -/* + public void setUntersuchung(Untersuchung untersuchung){ this.untersuchung = untersuchung; if(untersuchung==null){ @@ -89,18 +87,47 @@ public class UntersuchungenController { copyUntersuchungDataIntoFields(); } - }*/ -/* + } + private void copyUntersuchungDataIntoFields(){ - untsList.setText(Integer.toString(patient.getPatID())); - untsOpsCode.setText(patient.getGeburtsname()); - untsArzt.setText(patient.getNachname()); - - untsCreator.setText(Integer.toString(patient.getErsteller())); - untsCreateTime.setText(patient.getErstellDatumZeit().toString()); - untsChanger.setText(Integer.toString(patient.getBearbeiter())); - untsChangeTime.setText(patient.getBearbeitetDatumZeit().toString()); - }*/ + // 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(){ + + //untersCreateTime.setText(""); + //untersCreator.setText(""); + //untersEditTime.setText(""); + // untersEditor.setText(""); + + untsOpsCode.setValue(null); + untsArzt.setValue(null); + dtTmUntersuchungszeitpunkt.setDateTime(null); + + } + + } From 2329ae73b2205fb42b222bab6763a552dbb18b6f Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Sun, 15 Nov 2015 18:04:47 +0100 Subject: [PATCH 03/44] Patient Enums angepasst --- .../de/uniluebeck/mi/projmi6/db/DBHandler.java | 41 ++++++++++++++++++---- .../de/uniluebeck/mi/projmi6/model/Patient.java | 8 +++++ 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java index c13199c..5e3fc05 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java @@ -8,6 +8,7 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import java.util.StringJoiner; /** * Created by nils on 15.11.2015. @@ -29,6 +30,7 @@ public class DBHandler { private static final String SELECT_ALL_MITARBEITER = "SELECT * FROM `mitarbeiter`"; private static final String SELECT_UNTERS_BY_FALLID = "SELECT * FROM `untersuchung` WHERE `fallid` = ?"; private static final String SELECT_MITARBEITER_BY_ID = "SELECT * FROM `mitarbeiter` WHERE `mitarbid` = ?"; + private static final String SELECT_DIAGNOSE_BY_FALLID = "SELECT * FROM `diagnose` WHERE `fallid` = ?"; public static List getAllPatients() throws SQLException { Statement statement = MySqlConnFactory.getConnection().createStatement(); @@ -71,11 +73,25 @@ public class DBHandler { return patient; } - public static void updatePatient(Patient patient) throws SQLException { + public static void updatePatient(Patient patient, int mitarbid) throws SQLException { PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(UPDATE_PATIENT); - statement.setString(1, patient.getCave()); - statement.setString(2, patient.getFamilienstand().toString()); - // TODO + statement.setString(1, patient.getCave()); // CAVE + statement.setString(2, patient.getFamilienstand().toString()); // Familienstand + statement.setString(3, ""); // Geburtsdatum + statement.setString(4, patient.getGeburtsname()); // Geburtsname + statement.setString(5, String.valueOf(patient.getGeschlecht().id())); // Geschlecht + statement.setInt(6, patient.getKassenID()); // KasseId + statement.setInt(7, mitarbid); // Letzterbearbeiter + statement.setString(8, patient.getNachname()); // Nachname + statement.setString(9, patient.getOrt()); // Ort + statement.setString(10, patient.getPlz()); // PLZ + statement.setString(11, patient.getStrasse()); // Strasse + statement.setString(12, patient.getTelefon()); // telefon + statement.setString(13, patient.getVersichertennummer()); // versichertennummer + statement.setString(14, patient.getVorname()); // vorname + + statement.executeUpdate(); + } public static List getAllStationen() throws SQLException { @@ -127,8 +143,8 @@ public class DBHandler { return fall; } - private static Diagnose getDiagnose(int hauptdiagnose, Fall fall) throws SQLException { - Diagnose diagnose = getDiagnose(hauptdiagnose); + private static Diagnose getDiagnose(int diagid, Fall fall) throws SQLException { + Diagnose diagnose = getDiagnose(diagid); diagnose.setFall(fall); return diagnose; @@ -274,4 +290,17 @@ public class DBHandler { setVersionInformation(untersuchung, rs); return untersuchung; } + + public static List getDiagnosenByFall(Fall fall) throws SQLException { + PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_DIAGNOSE_BY_FALLID); + statement.setInt(1, fall.getFallID()); + ResultSet rs = statement.executeQuery(); + + List diagnosen = new ArrayList<>(); + while (rs.next()) { + diagnosen.add(getDiagnose(rs.getInt("diagid"), fall)); + } + + return diagnosen; + } } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/Patient.java b/src/main/java/de/uniluebeck/mi/projmi6/model/Patient.java index 8dee655..b81b938 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/model/Patient.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/Patient.java @@ -238,6 +238,10 @@ public class Patient extends Version { public String toString() { return geschlecht; } + + public char id() { + return id; + } } public enum Familienstand { @@ -270,6 +274,10 @@ public class Patient extends Version { } } + public char id() { + return id; + } + @Override public String toString() { return familienstand; From f1527f1e8f8c0a56952493deaca451b865c4d084 Mon Sep 17 00:00:00 2001 From: Johannes Oehm Date: Sun, 15 Nov 2015 18:16:58 +0100 Subject: [PATCH 04/44] =?UTF-8?q?GUI=20f=C3=BCr=20Untersuchungen=20angepas?= =?UTF-8?q?st?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/de/uniluebeck/mi/projmi6/Main.java | 13 ++++-- .../mi/projmi6/controller/FallController.java | 33 ++++++++++------ .../mi/projmi6/controller/MainController.java | 46 ++++++++++++++++++++-- .../controller/UntersuchungenController.java | 18 ++++++++- .../uniluebeck/mi/projmi6/view/DateTimePicker.java | 12 ++++-- 5 files changed, 99 insertions(+), 23 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/Main.java b/src/main/java/de/uniluebeck/mi/projmi6/Main.java index 18cd949..87acf74 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/Main.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/Main.java @@ -45,8 +45,11 @@ public class Main extends Application { fxmlLoader.setControllerFactory(mainController.getControllerFactory()); mainController.setOpsCodes(FXCollections.observableArrayList( - new OpsCode("1234", "Hallo OPS", 20), - new OpsCode("876-3", "Darmspiegelung", 20) + DBHandler.getAllOpsCodes() + )); + + mainController.setIcd10Codes(FXCollections.observableArrayList( + DBHandler.getAllIcd10Codes() )); mainController.setKassen(FXCollections.observableArrayList( @@ -54,9 +57,11 @@ public class Main extends Application { )); mainController.setMitarbeiter(FXCollections.observableArrayList( - //TODO + DBHandler.getAllMitarbeiter() )); - mainController.setStationen(FXCollections.observableArrayList(DBHandler.getAllStationen())); + mainController.setStationen(FXCollections.observableArrayList( + DBHandler.getAllStationen()) + ); Parent root = fxmlLoader.load(); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java index 23137e3..e7befd9 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java @@ -108,7 +108,7 @@ public class FallController { state.isNotEqualTo(State.VIEW) ); btnFallSave.visibleProperty().bind( - state.isEqualTo(State.VIEW) + state.isNotEqualTo(State.VIEW) ); btnFallCancel.visibleProperty().bind( @@ -145,7 +145,8 @@ public class FallController { @FXML void clickedFallAbort(ActionEvent event) { - + this.state.set(State.VIEW); + copyFallDataIntoField(fallProperty.get()); } @FXML @@ -162,10 +163,15 @@ public class FallController { private void clearFields(){ - dtTmAufnahme.setToCurrentDateTime(); - dtTmEntlassung.setToCurrentDateTime(); + if(state.get() == State.CREATE) { + dtTmAufnahme.setToCurrentDateTime(); + dtTmEntlassung.setToCurrentDateTime(); + }else{ + dtTmAufnahme.setDateTime(null); + dtTmEntlassung.setDateTime(null); + } - fallPatID.setText(""); //TODO + fallPatID.setText(""); //TODO fallCreateTime.setText(""); fallCreator.setText(""); @@ -186,10 +192,7 @@ public class FallController { private void copyFieldDataIntoFall(Fall fall){ - if(fall==null){ - clearFields(); - return; - } + fall.setAufnahmeDatum(dtTmAufnahme.getDateTime()); fall.setEntlassungsDatum(dtTmEntlassung.getDateTime()); @@ -209,14 +212,20 @@ public class FallController { private void copyFallDataIntoField(Fall fall){ + if(fall==null){ + System.out.println("copyFallDataIntoFiled - Fall ist null"); + clearFields(); + return; + } + dtTmAufnahme.setDateTime(fall.getAufnahmeDatum()); dtTmEntlassung.setDateTime(fall.getEntlassungsDatum()); - //fallPatID.setText(fall.getPatient().getVorname()+" "+fall.getPatient().getNachname()); //TODO + fallPatID.setText(fallProperty.get().getPatient()+""); //(fall.getPatient().getVorname()+" "+fall.getPatient().getNachname()); //TODO - fallCreateTime.setText(fall.getErstellDatumZeit().toString()); + fallCreateTime.setText(fall.getErstellDatumZeit() !=null ? fall.getErstellDatumZeit().toString():""); fallCreator.setText(Integer.toString(fall.getErsteller())); - fallEditTime.setText(fall.getBearbeitetDatumZeit().toString()); + fallEditTime.setText(fall.getBearbeitetDatumZeit()!=null? fall.getBearbeitetDatumZeit().toString():""); fallEditor.setText(Integer.toString(fall.getBearbeiter())); // fallEinweisenderArzt.setText(fall.getEinweisenderArzt()); diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java index 4dd8b43..aefd34d 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java @@ -2,6 +2,7 @@ package de.uniluebeck.mi.projmi6.controller; import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.model.*; +import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -80,7 +81,7 @@ public class MainController { private SplitPane fallOverview; @FXML - private ListView lvFall; + private ListView lvFall; @FXML private TabPane tabPaneFall; @@ -200,19 +201,51 @@ public class MainController { patientTablesController.selectedPatientProperty().addListener((observableValue,oldValue,newValue)-> { - System.out.println("Neuer Patient gewaehlt"); - try { + if(newValue==null){ + lvFall.setItems(FXCollections.emptyObservableList()); + return; + } + + try { List faelle = DBHandler.getFaelleByPatID(newValue.getPatID()); System.out.println(faelle); System.out.println("Liste der Faelle hat "+ faelle.size()+ " Eintrage "); lvFall.setItems(FXCollections.observableArrayList(faelle)); + + + }catch (Exception e){ e.printStackTrace(); } }); + fallController.fallPropertyProperty().bind(lvFall.getSelectionModel().selectedItemProperty()); + + lvFall.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); + + /* untersuchungenController.untersuchungenProperty().bind( + Bindings.createObjectBinding(() ->{ + Fall selectedFall = lvFall.getSelectionModel().getSelectedItem(); + System.out.println("Liste der Untersuchungen ...y"); + if(selectedFall==null) return null; + List untersuchungList = DBHandler.getUntersuchungByFall(selectedFall); + System.out.println("Es sind "+untersuchungList.size()+" Untersuchungen vorhanden."); + return FXCollections.observableArrayList(untersuchungList); + }, lvFall.getSelectionModel().selectedIndexProperty()));*/ + lvFall.getSelectionModel().selectedItemProperty().addListener(((observable, oldValue, newValue) -> { + System.out.println("Changed choosen Fall"); + + if(newValue==null) return; + try { + List untersuchungList = DBHandler.getUntersuchungByFall(newValue); + System.out.println("untersuchungenList"+untersuchungList); + untersuchungenController.untersuchungenProperty().set(FXCollections.observableArrayList(untersuchungList)); + }catch(Exception e){ + e.printStackTrace(); + } + })); } @@ -226,4 +259,11 @@ public class MainController { fallController.createNewFall(); } + @FXML + private void creationComplete(){ + tabFallDiagnose.setDisable(false); + tabFallUntersuchungen.setDisable(false); + tabFallStationsHistorie.setDisable(false); + } + } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java index 5c0626d..967a99a 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java @@ -7,6 +7,8 @@ package de.uniluebeck.mi.projmi6.controller; import de.uniluebeck.mi.projmi6.Main; import de.uniluebeck.mi.projmi6.model.*; import de.uniluebeck.mi.projmi6.view.DateTimePicker; +import javafx.beans.property.SimpleObjectProperty; +import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.*; @@ -47,7 +49,7 @@ public class UntersuchungenController { private Label untsCreateTime; @FXML - private ListView untsList; + private ListView untsList; @FXML private ComboBox untsOpsCode; @@ -55,6 +57,20 @@ public class UntersuchungenController { @FXML private ComboBox untsArzt; + public ObservableList getUntersuchungen() { + return untersuchungen.get(); + } + + public SimpleObjectProperty> untersuchungenProperty() { + return untersuchungen; + } + + public void setUntersuchungen(ObservableList untersuchungen) { + this.untersuchungen.set(untersuchungen); + } + + private SimpleObjectProperty> untersuchungen = new SimpleObjectProperty<>(); + public UntersuchungenController (MainController mainController){ this.mainController = mainController; } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/view/DateTimePicker.java b/src/main/java/de/uniluebeck/mi/projmi6/view/DateTimePicker.java index d8d7988..f92255a 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/view/DateTimePicker.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/view/DateTimePicker.java @@ -108,9 +108,15 @@ public class DateTimePicker extends HBox { * @param localDateTime The date to be set in the view. */ public void setDateTime(LocalDateTime localDateTime){ - hourText.setText(Integer.toString(localDateTime.getHour())); - minuteText.setText(Integer.toString(localDateTime.getMinute())); - datePicker.setValue(LocalDate.from(localDateTime)); + if(localDateTime==null){ + hourText.setText(""); + minuteText.setText(""); + datePicker.setValue(null); + }else{ + hourText.setText(Integer.toString(localDateTime.getHour())); + minuteText.setText(Integer.toString(localDateTime.getMinute())); + datePicker.setValue(LocalDate.from(localDateTime)); + } } /** From dd1486ad5cf2618292dd09307d4f369f0a3bb74b Mon Sep 17 00:00:00 2001 From: Ileana Krontsi Date: Sun, 15 Nov 2015 18:19:25 +0100 Subject: [PATCH 05/44] StationsHistorieController bearbeitet. --- .../controller/StationsHistorieController.java | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java index b3cd9b0..86c3c10 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/StationsHistorieController.java @@ -1,5 +1,8 @@ package de.uniluebeck.mi.projmi6.controller; +import de.uniluebeck.mi.projmi6.model.Fall; +import de.uniluebeck.mi.projmi6.model.StationsHistorie; +import de.uniluebeck.mi.projmi6.model.Untersuchung; import de.uniluebeck.mi.projmi6.view.DateTimePicker; import javafx.fxml.FXML; import javafx.scene.control.Button; @@ -11,6 +14,12 @@ import javafx.scene.control.TableView; * Created by 631806 on 12.11.15. */ public class StationsHistorieController { + + /** + * The station history that is shown in the edit window, or null if a new station history should be created. + */ + private StationsHistorie stationsHistorie = null; + private MainController mainController; @FXML @@ -47,5 +56,57 @@ public class StationsHistorieController { } + public void setStationsHistorie(StationsHistorie stationsHistorie){ + this.stationsHistorie = stationsHistorie; + if(stationsHistorie==null){ + clearFields(); + }else { + copyStationsHistorieDataIntoFields(); + } + + } + + private void copyStationsHistorieDataIntoFields(){ + // colStatHistAbteilung.setText(stationsHistorie.get()); + // colStatHistStation.setText(stationsHistorie.getStation()); + // colStatHistAufnahmeDatum.setDateTime(stationsHistorie.getAufnahmeDatum()); + // colStatHistEntlassungsDatum.setDateTime(stationsHistorie.getEntlassungsDatum()); + // dtTmAufnahme=setDateTime(stationsHistorie.getAufnahmeDatum()); + // dtTmEntlassung=setDateTime(stationsHistorie.getEntlassungsDatum()); + + statHistCreator.setText(Integer.toString(stationsHistorie.getErsteller())); + statHistCreatTime.setText(stationsHistorie.getErstellDatumZeit().toString()); + statHistEditor.setText(Integer.toString(stationsHistorie.getBearbeiter())); + statHistEditTime.setText(stationsHistorie.getBearbeitetDatumZeit().toString()); + } + + private void copyFieldDataIntoStationsHistorie(StationsHistorie stationsHistorie){ + if(stationsHistorie==null){ + clearFields(); + return; + } + // stationsHistorie.set(colStatHistAbteilung.getText()); + // stationsHistorie.setStation(colStatHistStation.getText()); + // stationsHistorie.setAufnahmeDatum(colStatHistAufnahmeDatum.getDateTime()); + // stationsHistorie.getEntlassungsDatum(colStatHistEntlassungsDatum.getDateTime()); + stationsHistorie.setAufnahmeDatum(dtTmAufnahme.getDateTime()); + // stationsHistorie.getEntlassungsDatum(dtTmEntlassung.getDateTime()); + + } + + private void clearFields(){ + + //statHistCreateTime.setText(""); + //statHistCreator.setText(""); + //statHistEditTime.setText(""); + // statHistEditor.setText(""); + + colStatHistAbteilung.setText(""); + colStatHistStation.setText(""); + // colStatHistAufnahmeDatum.setDateTime(null); + // colStatHistEntlassungsDatum.setDateTime(null); + dtTmAufnahme.setDateTime(null); + dtTmEntlassung.setDateTime(null); + } } From 7ecdf21be825a7c95f27a32d1ec0d2348c1c2312 Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Sun, 15 Nov 2015 18:22:35 +0100 Subject: [PATCH 06/44] Fehler mit ResultSet.next() behoben. --- .../de/uniluebeck/mi/projmi6/db/DBHandler.java | 44 ++++++++++++++-------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java index 5e3fc05..89cb492 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java @@ -26,7 +26,7 @@ public class DBHandler { private static final String SELECT_ALL_ICD10CODES = "SELECT * FROM `stammicd10`"; private static final String SELECT_ALL_OPSCODES = "SELECT * FROM `stammops`"; private static final String SELECT_ICD10CODE_BY_ID = "SELECT * FROM `stammicd10` WHERE `icd10code` = '?' AND `version` = ?"; - private static final String SELECT_OPSCODE_BY_ID = "SELECT * FROM `stammops` WHERE `opscode` = '?' AND `version` = ?"; + private static final String SELECT_OPSCODE_BY_ID = "SELECT * FROM `stammops` WHERE `opscode` = ? AND `version` = ?"; private static final String SELECT_ALL_MITARBEITER = "SELECT * FROM `mitarbeiter`"; private static final String SELECT_UNTERS_BY_FALLID = "SELECT * FROM `untersuchung` WHERE `fallid` = ?"; private static final String SELECT_MITARBEITER_BY_ID = "SELECT * FROM `mitarbeiter` WHERE `mitarbid` = ?"; @@ -75,20 +75,30 @@ public class DBHandler { public static void updatePatient(Patient patient, int mitarbid) throws SQLException { PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(UPDATE_PATIENT); - statement.setString(1, patient.getCave()); // CAVE - statement.setString(2, patient.getFamilienstand().toString()); // Familienstand - statement.setString(3, ""); // Geburtsdatum - statement.setString(4, patient.getGeburtsname()); // Geburtsname - statement.setString(5, String.valueOf(patient.getGeschlecht().id())); // Geschlecht - statement.setInt(6, patient.getKassenID()); // KasseId - statement.setInt(7, mitarbid); // Letzterbearbeiter - statement.setString(8, patient.getNachname()); // Nachname - statement.setString(9, patient.getOrt()); // Ort - statement.setString(10, patient.getPlz()); // PLZ - statement.setString(11, patient.getStrasse()); // Strasse - statement.setString(12, patient.getTelefon()); // telefon - statement.setString(13, patient.getVersichertennummer()); // versichertennummer - statement.setString(14, patient.getVorname()); // vorname + statement.setString(1, patient.getCave()); // CAVE + if (patient.getFamilienstand() != null) + statement.setString(2, patient.getFamilienstand().toString()); // Familienstand + else + statement.setString(2, "l"); + statement.setString(3, ""); // Geburtsdatum + statement.setString(4, patient.getGeburtsname()); // Geburtsname + if (patient.getGeschlecht() != null) + statement.setString(5, String.valueOf(patient.getGeschlecht().id())); // Geschlecht + else + statement.setString(5, "o"); + statement.setInt(6, patient.getKassenID()); // KasseId + statement.setInt(7, mitarbid); // Letzterbearbeiter + statement.setString(8, patient.getNachname()); // Nachname + statement.setString(9, patient.getOrt()); // Ort + statement.setString(10, patient.getPlz()); // PLZ + statement.setString(11, patient.getStrasse()); // Strasse + statement.setString(12, patient.getTelefon()); // telefon + statement.setString(13, patient.getVersichertennummer()); // versichertennummer + statement.setString(14, patient.getVorname()); // vorname + statement.setInt(15, patient.getPatID()); // patid + + System.out.println(statement.toString()); + System.exit(0); statement.executeUpdate(); @@ -154,6 +164,7 @@ public class DBHandler { PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_DIAGNOSE_BY_ID); ResultSet rs = statement.executeQuery(); + rs.next(); // TODO return getDiagnose(rs); } @@ -196,6 +207,7 @@ public class DBHandler { statement.setInt(2, version); rs = statement.executeQuery(); + rs.next(); // TODO return getIcd10Code(rs); } @@ -226,6 +238,7 @@ public class DBHandler { statement.setInt(2, version); rs = statement.executeQuery(); + rs.next(); // TODO return getOpsCode(rs); } @@ -255,6 +268,7 @@ public class DBHandler { statement.setInt(1, id); rs = statement.executeQuery(); + rs.next(); // TODO return getMitarbeiter(rs); } From 80fb9a9cd7ef1b8a1a8e9a2175534a52ab0a9dd3 Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Sun, 15 Nov 2015 18:32:55 +0100 Subject: [PATCH 07/44] Update Patient --- .../mi/projmi6/controller/PatientEditorController.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java index 40e5a8b..61b2aae 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/PatientEditorController.java @@ -3,6 +3,8 @@ package de.uniluebeck.mi.projmi6.controller; /** * Created by 631806 on 12.11.15. */ + +import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.model.Kasse; import de.uniluebeck.mi.projmi6.model.Patient; import javafx.collections.FXCollections; @@ -11,6 +13,8 @@ import javafx.scene.control.*; import javafx.event.ActionEvent; import javafx.stage.Stage; +import java.sql.SQLException; + public class PatientEditorController { /** @@ -191,6 +195,11 @@ public class PatientEditorController { }else{ copyFieldDataIntoPatient(patient); //Update db entry... TODO + try { + DBHandler.updatePatient(patient, 1005); // TODO: MitarbeiterID uebergeben! + } catch (SQLException e) { + e.printStackTrace(); + } } ((Stage)patNachname.getScene().getWindow()).close(); } From 5fbbe7e759cb3a4d573a3ef0d9d8be1daefe3e5f Mon Sep 17 00:00:00 2001 From: Johannes Oehm Date: Sun, 15 Nov 2015 18:37:06 +0100 Subject: [PATCH 08/44] Diagnose Liste tut nicht --- .../mi/projmi6/controller/DiagnoseController.java | 29 +++++++++++++++++++--- .../mi/projmi6/controller/MainController.java | 9 ++++++- .../controller/UntersuchungenController.java | 2 ++ .../uniluebeck/mi/projmi6/model/Untersuchung.java | 5 ++++ src/main/resources/diagnose.fxml | 2 +- 5 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java index 16d1808..d7282c4 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java @@ -5,14 +5,13 @@ package de.uniluebeck.mi.projmi6.controller; */ import de.uniluebeck.mi.projmi6.model.*; +import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; -import javafx.scene.control.Button; +import javafx.scene.control.*; import javafx.event.ActionEvent; -import javafx.scene.control.ComboBox; -import javafx.scene.control.Label; -import javafx.scene.control.TextArea; public class DiagnoseController { @@ -22,11 +21,33 @@ public class DiagnoseController { this.mainController = mainController; } + + public ObservableList getDiagnosen() { + return diagnosen.get(); + } + + public SimpleObjectProperty> diagnosenProperty() { + return diagnosen; + } + + public void setDiagnosen(ObservableList diagnosen) { + this.diagnosen.set(diagnosen); + } + + private SimpleObjectProperty> diagnosen = new SimpleObjectProperty<>(); + + + + @FXML + private ListView diagnoseList; + @FXML public void initialize(){ diagDiagnose.itemsProperty().bind(mainController.icd10CodesProperty()); diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values())); diagDiagnoseArzt.itemsProperty().bind(mainController.mitarbeiterProperty()); + diagnoseList.itemsProperty().bind(diagnosen); + } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java index aefd34d..627df98 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java @@ -237,11 +237,18 @@ public class MainController { lvFall.getSelectionModel().selectedItemProperty().addListener(((observable, oldValue, newValue) -> { System.out.println("Changed choosen Fall"); - if(newValue==null) return; + if(newValue==null) { + System.out.println("TODO: Clear tables cuz fall = null!"); + return; + } try { List untersuchungList = DBHandler.getUntersuchungByFall(newValue); System.out.println("untersuchungenList"+untersuchungList); untersuchungenController.untersuchungenProperty().set(FXCollections.observableArrayList(untersuchungList)); + + List diagnoseList = DBHandler.getDiagnosenByFall(newValue); + System.out.println("diagnoseList ="+diagnoseList); + diagnoseController.diagnosenProperty().set(FXCollections.observableArrayList(diagnoseList)); }catch(Exception e){ e.printStackTrace(); } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java index 967a99a..aafc5f4 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java @@ -78,6 +78,8 @@ public class UntersuchungenController { @FXML public void initialize(){ untsOpsCode.itemsProperty().bind(mainController.opsCodesProperty()); + untsList.itemsProperty().bind(untersuchungen); + } @FXML diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java b/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java index e68f45f..3238150 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java @@ -62,6 +62,11 @@ public class Untersuchung extends Version { return untersuchungsdatum; } + @Override + public String toString() { + return getUntersuchungsdatum()+": "+getOpscode().getText(); + } + public void setUntersuchungsdatum(LocalDateTime untersuchungsdatum) { this.untersuchungsdatum.set(untersuchungsdatum); } diff --git a/src/main/resources/diagnose.fxml b/src/main/resources/diagnose.fxml index 136e49a..75aba84 100644 --- a/src/main/resources/diagnose.fxml +++ b/src/main/resources/diagnose.fxml @@ -17,7 +17,7 @@