From f3e7e578d66644b662b053b79fdd260c547aa00c Mon Sep 17 00:00:00 2001 From: Nils Dittberner Date: Sun, 15 Nov 2015 17:36:03 +0100 Subject: [PATCH] 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; + } }