| @@ -1,7 +1,9 @@ | |||
| package de.uniluebeck.mi.projmi6.db; | |||
| import de.uniluebeck.mi.projmi6.model.Patient; | |||
| import de.uniluebeck.mi.projmi6.model.Station; | |||
| import java.sql.PreparedStatement; | |||
| import java.sql.ResultSet; | |||
| import java.sql.SQLException; | |||
| import java.sql.Statement; | |||
| @@ -13,38 +15,83 @@ import java.util.List; | |||
| */ | |||
| public class DBHandler { | |||
| public static final String SELECT_ALL_PATIENTS = "SELECT * FROM `patient`"; | |||
| private static final String SELECT_ALL_PATIENTS = "SELECT * FROM `patient`"; | |||
| private static final String SELECT_PATIENT_BY_ID = "SELECT * FROM `patient` WHERE `id` = ?"; | |||
| private static final String UPDATE_PATIENT = "UPDATE `patient` SET `CAVE`=?, `Familienstand`=?, " + | |||
| "`Geburtsdatum`=?, `Geburtsname`=?, `Geschlecht`=?, `KassenID`=?, `LetzterBearbeiter`=?, `Nachname`=?, " + | |||
| "`Ort`=?, `PLZ`=?, `Strasse`=?, `Telefon`=?, `Versichertennummer`=?, `Vorname`=? WHERE `ID`=?"; | |||
| private static final String SELECT_ALL_STATIONEN = "SELECT * FROM `stammstation`"; | |||
| public static List<Patient> getAllPatients() throws SQLException { | |||
| Statement statement = null; | |||
| ResultSet rs = null; | |||
| statement = MySqlConnFactory.getConnection().createStatement(); | |||
| rs = statement.executeQuery(SELECT_ALL_PATIENTS); | |||
| Statement statement = MySqlConnFactory.getConnection().createStatement(); | |||
| ResultSet rs = statement.executeQuery(SELECT_ALL_PATIENTS); | |||
| List<Patient> patients = new ArrayList<Patient>(); | |||
| List<Patient> patients = new ArrayList<>(); | |||
| while (rs.next()) { | |||
| Patient patient = new Patient(); | |||
| patient.setPatID(rs.getInt("id")); | |||
| patient.setGeburtsname(rs.getString("geburtsname")); | |||
| patient.setVorname(rs.getString("vorname")); | |||
| patient.setNachname(rs.getString("nachname")); | |||
| patient.setGeburtsdatum(rs.getDate("geburtsdatum").toLocalDate()); | |||
| patient.setStrasse(rs.getString("strasse")); | |||
| patient.setHausnummer(rs.getString("hausnummer")); | |||
| patient.setPlz(rs.getString("plz")); | |||
| patient.setTelefon(rs.getString("telefon")); | |||
| // patient.setFamilienstand(rs.getString("familienstand")); | |||
| // patient.setGeschlecht(Patient.Geschlecht.valueOf(rs.getString("geschlecht"))); | |||
| patient.setVersichertennummer(rs.getString("versichertennummer")); | |||
| patient.setKassenID(rs.getInt("kassenid")); | |||
| patient.setErsteller(rs.getInt("ersteller")); | |||
| patient.setErstellDatumZeit(rs.getTimestamp("erstelldatum").toLocalDateTime()); | |||
| patient.setBearbeiter(rs.getInt("letzterbearbeiter")); | |||
| patient.setBearbeitetDatumZeit(rs.getTimestamp("letztesbearbeitungsdatum").toLocalDateTime()); | |||
| // add patient to resutl list | |||
| patients.add(patient); | |||
| patients.add(getPatient(rs)); | |||
| } | |||
| return patients; | |||
| } | |||
| public static Patient getPatient(int id) throws SQLException { | |||
| PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(SELECT_PATIENT_BY_ID); | |||
| ResultSet rs; | |||
| statement.setInt(1, id); | |||
| rs = statement.executeQuery(); | |||
| return getPatient(rs); | |||
| } | |||
| public static Patient getPatient(ResultSet rs) throws SQLException { | |||
| Patient patient = new Patient(); | |||
| patient.setPatID(rs.getInt("id")); | |||
| patient.setGeburtsname(rs.getString("geburtsname")); | |||
| patient.setVorname(rs.getString("vorname")); | |||
| patient.setNachname(rs.getString("nachname")); | |||
| patient.setGeburtsdatum(rs.getDate("geburtsdatum").toLocalDate()); | |||
| patient.setStrasse(rs.getString("strasse")); | |||
| patient.setHausnummer(rs.getString("hausnummer")); | |||
| patient.setPlz(rs.getString("plz")); | |||
| patient.setTelefon(rs.getString("telefon")); | |||
| // patient.setFamilienstand(rs.getString("familienstand")); TODO | |||
| // patient.setGeschlecht(Patient.Geschlecht.valueOf(rs.getString("geschlecht"))); TODO | |||
| patient.setVersichertennummer(rs.getString("versichertennummer")); | |||
| patient.setKassenID(rs.getInt("kassenid")); | |||
| patient.setErsteller(rs.getInt("ersteller")); | |||
| patient.setErstellDatumZeit(rs.getTimestamp("erstelldatum").toLocalDateTime()); | |||
| patient.setBearbeiter(rs.getInt("letzterbearbeiter")); | |||
| patient.setBearbeitetDatumZeit(rs.getTimestamp("letztesbearbeitungsdatum").toLocalDateTime()); | |||
| return patient; | |||
| } | |||
| public static void updatePatient(Patient patient) throws SQLException { | |||
| PreparedStatement statement = MySqlConnFactory.getConnection().prepareStatement(UPDATE_PATIENT); | |||
| statement.setString(1, patient.getCave()); | |||
| statement.setString(2, patient.getFamilienstand().toString()); | |||
| } | |||
| public static List<Station> getAllStationen() throws SQLException { | |||
| Statement statement = MySqlConnFactory.getConnection().createStatement(); | |||
| ResultSet rs = statement.executeQuery(SELECT_ALL_STATIONEN); | |||
| List<Station> stationen = new ArrayList<>(); | |||
| while (rs.next()) { | |||
| stationen.add(getStation(rs)); | |||
| } | |||
| return stationen; | |||
| } | |||
| private static Station getStation(ResultSet rs) throws SQLException { | |||
| Station station = new Station(); | |||
| station.setStation(rs.getString("station")); | |||
| station.setBezeichnung(rs.getString("bezeichnung")); | |||
| station.setBezeichnungLang(rs.getString("bezeichnunglang")); | |||
| station.setStationstyp(rs.getInt("stationstyp")); | |||
| return station; | |||
| } | |||
| } | |||