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 04720e3..b71daaa 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,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.view.DateTimePicker; import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -14,6 +15,11 @@ import javafx.scene.control.*; 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; @@ -74,6 +80,27 @@ public class UntersuchungenController { void clickedUntsSave(ActionEvent event) { } +/* + public void setUntersuchung(Untersuchung untersuchung){ + this.untersuchung = untersuchung; + if(untersuchung==null){ + clearFields(); + }else { + 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()); + }*/ } 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 fbdd7ef..fa8fe65 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/db/DBHandler.java @@ -22,6 +22,10 @@ public class DBHandler { private static final String SELECT_ALL_STATIONEN = "SELECT * FROM `stammstation`"; private static final String SELECT_FAELLE_BY_PATID = "SELECT * FROM `fall` WHERE `patientid` = ?"; private static final String SELECT_DIAGNOSE_BY_ID = "SELECT * FROM `diagnose` WHERE `diagid` = ?"; + 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` = ?"; public static List getAllPatients() throws SQLException { Statement statement = MySqlConnFactory.getConnection().createStatement(); @@ -137,16 +141,75 @@ public class DBHandler { diagnose.setArzt(new Mitarbeiter(rs.getInt("arzt"))); diagnose.setDiagArt(DiagArt.parseInt(rs.getInt("diagart"))); setVersionInformation(diagnose, rs); - diagnose.setIcd10code(new Icd10Code(rs.getString("icd10code"), "", rs.getInt("icd10version"))); // TODO: das geht auch in huebsch + diagnose.setIcd10code(getIcd10Code(rs.getString("icd10code"), rs.getInt("icd10version"))); return diagnose; } - private static void setVersionInformation(Version t, ResultSet rs) throws SQLException { - t.setErsteller(rs.getInt("ersteller")); - t.setErstellDatumZeit(rs.getTimestamp("erstelldatum").toLocalDateTime()); - t.setBearbeiter(rs.getInt("letzterbearbeiter")); - t.setBearbeitetDatumZeit(rs.getTimestamp("letztesbearbeitungsdatum").toLocalDateTime()); + private static void setVersionInformation(Version version, ResultSet rs) throws SQLException { + version.setErsteller(rs.getInt("ersteller")); + version.setErstellDatumZeit(rs.getTimestamp("erstelldatum").toLocalDateTime()); + version.setBearbeiter(rs.getInt("letzterbearbeiter")); + version.setBearbeitetDatumZeit(rs.getTimestamp("letztesbearbeitungsdatum").toLocalDateTime()); } + public static List getAllIcd10Codes() throws SQLException { + Statement statement = MySqlConnFactory.getConnection().createStatement(); + ResultSet rs = statement.executeQuery(SELECT_ALL_ICD10CODES); + + List icd10codes = new ArrayList<>(); + while (rs.next()) { + icd10codes.add(getIcd10Code(rs)); + } + + return icd10codes; + } + + private static Icd10Code getIcd10Code(String code, int version) throws SQLException { + PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_ICD10CODE_BY_ID); + ResultSet rs; + statement.setString(1, code); + statement.setInt(2, version); + rs = statement.executeQuery(); + + return getIcd10Code(rs); + } + + private static Icd10Code getIcd10Code(ResultSet rs) throws SQLException { + String code = rs.getString("icd10code"); + String text = rs.getString("text"); + int version = rs.getInt("version"); + + return new Icd10Code(code, text, version); + } + + public static List getAllOpsCodes() throws SQLException { + Statement statement = MySqlConnFactory.getConnection().createStatement(); + ResultSet rs = statement.executeQuery(SELECT_ALL_OPSCODES); + + List opscodes = new ArrayList<>(); + while (rs.next()) { + opscodes.add(getOpsCode(rs)); + } + + return opscodes; + } + + public static OpsCode getOpsCode(String code, int version) throws SQLException { + PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_OPSCODE_BY_ID); + ResultSet rs; + statement.setString(1, code); + statement.setInt(2, version); + rs = statement.executeQuery(); + + return getOpsCode(rs); + } + + private static OpsCode getOpsCode(ResultSet rs) throws SQLException { + String code = rs.getString("opscode"); + String text = rs.getString("text"); + int version = rs.getInt("version"); + + return new OpsCode(code, text, version); + } } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/Diagnose.java b/src/main/java/de/uniluebeck/mi/projmi6/model/Diagnose.java index 4917f12..c554036 100644 --- a/src/main/java/de/uniluebeck/mi/projmi6/model/Diagnose.java +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/Diagnose.java @@ -57,4 +57,6 @@ public class Diagnose extends Version { public void setIcd10code(Icd10Code icd10code) { this.icd10code = icd10code; } + + } diff --git a/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java b/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java new file mode 100644 index 0000000..e68f45f --- /dev/null +++ b/src/main/java/de/uniluebeck/mi/projmi6/model/Untersuchung.java @@ -0,0 +1,80 @@ +package de.uniluebeck.mi.projmi6.model; + +import javafx.beans.property.SimpleBooleanProperty; +import javafx.beans.property.SimpleIntegerProperty; +import javafx.beans.property.SimpleObjectProperty; +import javafx.beans.property.SimpleStringProperty; + +import java.time.LocalDateTime; + +/** + * Created by 630030 on 15.11.2015. + */ +public class Untersuchung extends Version { + private Mitarbeiter durchfuehrenderArzt; + private Fall fall; + private OpsCode opscode; + private SimpleBooleanProperty storniert = new SimpleBooleanProperty(this, "storniert"); + private SimpleObjectProperty untersuchungsdatum = new SimpleObjectProperty<>(this, "untersuchungsdatum"); + private SimpleIntegerProperty untersID = new SimpleIntegerProperty(this, "untersid"); + + public Mitarbeiter getDurchfuehrenderArzt() { + return durchfuehrenderArzt; + } + + public void setDurchfuehrenderArzt(Mitarbeiter durchfuehrenderArzt) { + this.durchfuehrenderArzt = durchfuehrenderArzt; + } + + public Fall getFall() { + return fall; + } + + public void setFall(Fall fall) { + this.fall = fall; + } + + public OpsCode getOpscode() { + return opscode; + } + + public void setOpscode(OpsCode opscode) { + this.opscode = opscode; + } + + public boolean getStorniert() { + return storniert.get(); + } + + public SimpleBooleanProperty storniertProperty() { + return storniert; + } + + public void setStorniert(boolean storniert) { + this.storniert.set(storniert); + } + + public LocalDateTime getUntersuchungsdatum() { + return untersuchungsdatum.get(); + } + + public SimpleObjectProperty untersuchungsdatumProperty() { + return untersuchungsdatum; + } + + public void setUntersuchungsdatum(LocalDateTime untersuchungsdatum) { + this.untersuchungsdatum.set(untersuchungsdatum); + } + + public int getUntersID() { + return untersID.get(); + } + + public SimpleIntegerProperty untersIDProperty() { + return untersID; + } + + public void setUntersID(int untersID) { + this.untersID.set(untersID); + } +}