PageRenderTime 53ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/java_backend/src/Database/DbConnect.java

https://github.com/HSR01/KBS_JAVA
Java | 1762 lines | 1294 code | 206 blank | 262 comment | 120 complexity | b6c33d61098988b0b093fe6d509ca9e7 MD5 | raw file
  1. package Database;
  2. import Geolocatie.MultipleAdressesFoundException;
  3. import Geolocatie.Coordinaten;
  4. import Financien.Financien;
  5. import Geolocatie.Geocoding;
  6. import java.sql.*;
  7. import java.text.DateFormat;
  8. import java.text.ParseException;
  9. import java.text.SimpleDateFormat;
  10. import java.util.ArrayList;
  11. import java.util.Calendar;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14. import java_backend.Feedback;
  15. import java_backend.Koerier;
  16. import java_backend.Locatie;
  17. import java_backend.Persoon;
  18. import java_backend.Traject;
  19. import javax.swing.JOptionPane;
  20. /**
  21. * @author Daniel
  22. */
  23. public class DbConnect {
  24. //Initializeer connection, statement en result.
  25. private Connection con;
  26. private Statement st;
  27. private ResultSet rs;
  28. private String persoontabel = "LocatieID, Voornaam, Tussenvoegsel, Achternaam, Emailadres, Wachtwoord, Geboortedatum, Mobielnummer, Profielfoto, IBAN";
  29. private String locatie = "Latitude, Longitude, Plaatsnaam, Straatnaam, Huisnummer, Toevoeging, Postcode, Telefoonnummer, TZTPoint";
  30. private String tabel;
  31. //Server url
  32. String url = "jdbc:mysql://server48.firstfind.nl/vanderbe-2?allowMultiQuery=true";
  33. //Server login naam
  34. String user = "vanderbe";
  35. //Server wachtwoord
  36. String pasw = "Daniel26061990";
  37. //Query holder
  38. String query = "";
  39. public DbConnect() {
  40. //Probeer mysql driver te laden
  41. try {
  42. Class.forName("com.mysql.jdbc.Driver");
  43. con = DriverManager.getConnection(url, user, pasw);
  44. st = con.createStatement();
  45. //Afvangen fouten voor database connectie
  46. } catch (SQLException ex) {
  47. System.out.println("Problemen met verbinding.");
  48. } catch (Exception ex) {
  49. System.out.println("Onbekende error");
  50. }
  51. }
  52. /**
  53. * Controleerd of verbinding goed is of niet adhv dbconnect.
  54. *
  55. * @return Boolean
  56. * @author Jelle
  57. */
  58. public boolean checkConnection() {
  59. //als st niet null is is connection actief.
  60. if (st != null) {
  61. return true;
  62. } else {
  63. //bij null stuur false, omdat connectie niet actief is.
  64. return false;
  65. }
  66. }
  67. public void getData() {
  68. //Query voor uitlezen!!!!----->
  69. try {
  70. //Select query
  71. query = "SELECT * FROM test";
  72. //Select kolom
  73. String kolom = "YOLO";
  74. //Query uitvoeren
  75. rs = st.executeQuery(query);
  76. //Loop door de query data heen
  77. while (rs.next()) {
  78. String content = rs.getString(kolom);
  79. System.out.println(content);
  80. }
  81. //Afvangen fouten voor getdata
  82. } catch (Exception ea) {
  83. System.out.println("Query lees ERROR: " + ea);
  84. }
  85. }
  86. public Object[][] getUsers() {
  87. try {
  88. //get aantal personen.
  89. rs = st.executeQuery("Select Count(*) from Persoon");
  90. int aantal = 0;
  91. while (rs.next()) {
  92. aantal = rs.getInt("Count(*)");
  93. }
  94. //haal alles op.
  95. Object[][] returnval = new Object[aantal][11];
  96. query = "SELECT * from Persoon";
  97. rs = st.executeQuery(query);
  98. int i = 0;
  99. while (rs.next()) {
  100. returnval[i][0] = rs.getString("PersoonID");
  101. returnval[i][1] = rs.getString("Voornaam");
  102. returnval[i][2] = rs.getString("Tussenvoegsel");
  103. returnval[i][3] = rs.getString("Achternaam");
  104. returnval[i][4] = rs.getString("Emailadres");
  105. returnval[i][5] = rs.getString("Wachtwoord");
  106. returnval[i][6] = rs.getString("Geboortedatum");
  107. returnval[i][7] = rs.getString("Mobielnummer");
  108. returnval[i][8] = rs.getString("Profielfoto");
  109. returnval[i][9] = rs.getString("IBAN");
  110. returnval[i][10] = rs.getString("Rechten");
  111. i++;
  112. }
  113. return returnval;
  114. } catch (Exception e) {
  115. System.out.println("error : " + e.getClass());
  116. }
  117. return null;
  118. }
  119. /**
  120. * Haal de personen op die een locatie hebben met coordinaten
  121. *
  122. * @param Achternaam Filter op achternaam
  123. * @return Object met personen <UL> <LI>PersoonID</LI> <LI>Voornaam</LI>
  124. * <LI>Tussenvoegel</LI> <LI>Achternaam</LI> <LI>Postcode</LI>
  125. * <LI>Huisnummer</LI> <LI>IBAN</LI> </UL>
  126. */
  127. public Object[][] getPersonenWithCoordinates(String Achternaam) {
  128. try {
  129. //get aantal personen.
  130. String query = "SELECT COUNT(*) from Persoon p "
  131. + "JOIN Locatie l ON p.LocatieID = l.LocatieID "
  132. + "WHERE l.Latitude IS NOT NULL "
  133. + "AND l.Longitude IS NOT NULL ";
  134. if (!Achternaam.equals("")) {
  135. query += "AND p.Achternaam = '" + Achternaam + "'";
  136. }
  137. rs = st.executeQuery(query);
  138. int aantal = 0;
  139. while (rs.next()) {
  140. aantal = rs.getInt("COUNT(*)");
  141. }
  142. //haal alles op.
  143. Object[][] returnval = new Object[aantal][8];
  144. query = "SELECT p.PersoonID, p.Voornaam, p.Tussenvoegsel, p.Achternaam, l.Postcode, l.Huisnummer, l.Toevoeging, p.IBAN "
  145. + "FROM Persoon p "
  146. + "JOIN Locatie l ON p.LocatieID = l.LocatieID "
  147. + "WHERE l.Latitude IS NOT NULL "
  148. + "AND l.Longitude IS NOT NULL ";
  149. if (!Achternaam.equals("")) {
  150. query += "AND p.Achternaam = '" + Achternaam + "'";
  151. }
  152. rs = st.executeQuery(query);
  153. int i = 0;
  154. while (rs.next()) {
  155. returnval[i][0] = rs.getString("PersoonID");
  156. returnval[i][1] = rs.getString("Voornaam");
  157. returnval[i][2] = rs.getString("Tussenvoegsel");
  158. returnval[i][3] = rs.getString("Achternaam");
  159. returnval[i][4] = rs.getString("Postcode");
  160. returnval[i][5] = rs.getString("Huisnummer");
  161. returnval[i][6] = rs.getString("Toevoeging");
  162. returnval[i][7] = rs.getString("IBAN");
  163. i++;
  164. }
  165. return returnval;
  166. } catch (Exception e) {
  167. System.out.println("error : " + e.getClass());
  168. }
  169. return null;
  170. }
  171. public Object[][] getPakketPersoon(int ID) {
  172. try {
  173. //get aantal personen.
  174. rs = st.executeQuery("Select count(*) from Persoon");
  175. int aantal = 0;
  176. while (rs.next()) {
  177. aantal = rs.getInt("Count(*)");
  178. }
  179. //haal alles op.
  180. Object[][] returnval = new Object[aantal][7];
  181. query = "SELECT P.PersoonID, P.Voornaam, P.Tussenvoegsel, P.Achternaam, Tr.TrajectID, Tr.Begin, Tr.Eind FROM Persoon P JOIN Traject_BPS T ON P.PersoonID = T.PersoonID JOIN Traject Tr ON T.TrajectID = Tr.TrajectID WHERE P.PersoonID = \"" + ID + "\"";
  182. rs = st.executeQuery(query);
  183. int i = 0;
  184. while (rs.next()) {
  185. returnval[i][0] = rs.getString("PersoonID");
  186. returnval[i][1] = rs.getString("Voornaam");
  187. returnval[i][2] = rs.getString("Tussenvoegsel");
  188. returnval[i][3] = rs.getString("Achternaam");
  189. returnval[i][4] = rs.getString("TrajectID");
  190. returnval[i][5] = rs.getString("Begin");
  191. returnval[i][6] = rs.getString("Eind");
  192. i++;
  193. }
  194. return returnval;
  195. } catch (Exception e) {
  196. System.out.println("error : " + e.getClass());
  197. }
  198. return null;
  199. }
  200. public Object[][] getPersonen(int ID) {
  201. try {
  202. //get aantal personen.
  203. rs = st.executeQuery("SELECT Count(*) FROM Persoon P JOIN Traject_BPS T ON P.PersoonID = T.PersoonID JOIN Traject Tr ON T.TrajectID = Tr.TrajectID WHERE P.PersoonID = " + ID);
  204. int aantal = 0;
  205. while (rs.next()) {
  206. aantal = rs.getInt("Count(*)");
  207. }
  208. //haal alles op.
  209. Object[][] returnval = new Object[aantal][3];
  210. query = "SELECT Tr.TrajectID, Tr.Begin, Tr.Eind FROM Persoon P JOIN Traject_BPS T ON P.PersoonID = T.PersoonID JOIN Traject Tr ON T.TrajectID = Tr.TrajectID WHERE P.PersoonID = " + ID;
  211. rs = st.executeQuery(query);
  212. int i = 0;
  213. while (rs.next()) {
  214. returnval[i][0] = rs.getString("TrajectID");
  215. returnval[i][1] = rs.getString("Begin");
  216. returnval[i][2] = rs.getString("Eind");
  217. i++;
  218. }
  219. return returnval;
  220. } catch (Exception e) {
  221. System.out.println("error : " + e.getClass());
  222. }
  223. return null;
  224. }
  225. public String[] getSpecifiekeGebruikerGegevens(Object ID) {
  226. // Auteur Dominique
  227. try {
  228. String[] returnval = new String[11];
  229. query = "SELECT * from Persoon Where PersoonID = " + ID;
  230. rs = st.executeQuery(query);
  231. int i = 0;
  232. while (rs.next()) {
  233. returnval[0] = rs.getString("PersoonID");
  234. returnval[1] = rs.getString("Voornaam");
  235. returnval[2] = rs.getString("Tussenvoegsel");
  236. returnval[3] = rs.getString("Achternaam");
  237. returnval[4] = rs.getString("Emailadres");
  238. returnval[5] = rs.getString("Wachtwoord");
  239. returnval[6] = rs.getString("Geboortedatum");
  240. returnval[7] = rs.getString("Mobielnummer");
  241. returnval[8] = rs.getString("Profielfoto");
  242. returnval[9] = rs.getString("IBAN");
  243. returnval[10] = rs.getString("Rechten");
  244. i++;
  245. }
  246. return returnval;
  247. } catch (Exception e) {
  248. System.out.println("error : " + e.getClass());
  249. }
  250. return null;
  251. }
  252. public String[] getSpecifiekeGebruikerLocatie(Object ID) {
  253. // Auteur Dominique
  254. try {
  255. String[] returnval = new String[6];
  256. // Haalt het bijbehorende LocatieID object op.
  257. query = "SELECT LocatieID from Persoon_Locatie Where PersoonID = " + ID;
  258. rs = st.executeQuery(query);
  259. while (rs.next()) {
  260. returnval[0] = rs.getString("LocatieID");
  261. }
  262. // Gebruikt locatieID en haalt de records daarvan uit database
  263. query = "SELECT * from Locatie Where LocatieID = " + returnval[0];
  264. rs = st.executeQuery(query);
  265. while (rs.next()) {
  266. returnval[0] = rs.getString("Plaatsnaam");
  267. returnval[1] = rs.getString("Straatnaam");
  268. returnval[2] = rs.getString("Huisnummer");
  269. returnval[3] = rs.getString("Toevoeging");
  270. returnval[4] = rs.getString("Postcode");
  271. returnval[5] = rs.getString("TZTPoint");
  272. }
  273. return returnval;
  274. } catch (Exception e) {
  275. System.out.println("error : " + e.getClass());
  276. }
  277. return null;
  278. }
  279. public void updateGebruikerAccount(String[] data) {
  280. try {
  281. query = "UPDATE Persoon "
  282. + "SET Voornaam = '" + data[1] + "', "
  283. + "Tussenvoegsel = '" + data[2] + "',"
  284. + "Achternaam = '" + data[3] + "',"
  285. + "Wachtwoord = '" + data[4] + "',"
  286. + "Emailadres = '" + data[5] + "',"
  287. + "Geboortedatum = '" + data[6] + "',"
  288. + "Rechten = '" + data[7] + "',"
  289. + "Mobielnummer = '" + data[8] + "',"
  290. + "IBAN = '" + data[9] + "' "
  291. + "WHERE PersoonID = '" + data[0] + "'";
  292. System.out.println(query);
  293. st.executeUpdate(query);
  294. DbConnect dbc = new DbConnect();
  295. int LocatieID = dbc.getLocatieID("SELECT LocatieID From Persoon where PersoonID = " + data[0]);
  296. query = "UPDATE Locatie "
  297. + "SET Huisnummer = '" + data[10] + "', "
  298. + "Plaatsnaam= '" + data[11] + "', "
  299. + "Straatnaam = '" + data[12] + "', "
  300. + "Toevoeging = '" + data[13] + "', "
  301. + "TZTPoint = '" + data[14] + "', "
  302. + "Postcode = '" + data[15] + "', "
  303. + "Latitude = '" + data[16] + "', "
  304. + "Longitude = '" + data[17] + "' "
  305. + "WHERE LocatieID = '" + LocatieID + "'";
  306. st.executeUpdate(query);
  307. } catch (Exception e) {
  308. System.out.println("error : " + e.getMessage());
  309. }
  310. }
  311. public void updateGebruikerAccount2(String[] data) {
  312. try {
  313. query = "UPDATE Persoon "
  314. + "SET Voornaam = '" + data[1] + "', "
  315. + "Tussenvoegsel = '" + data[2] + "',"
  316. + "Achternaam = '" + data[3] + "',"
  317. + "Emailadres = '" + data[5] + "',"
  318. + "Geboortedatum = '" + data[6] + "',"
  319. + "Rechten = '" + data[7] + "',"
  320. + "Mobielnummer = '" + data[8] + "',"
  321. + "IBAN = '" + data[9] + "' "
  322. + "WHERE PersoonID = '" + data[0] + "'";
  323. st.executeUpdate(query);
  324. DbConnect dbc = new DbConnect();
  325. int LocatieID = dbc.getLocatieID("SELECT LocatieID From Persoon where PersoonID = " + data[0]);
  326. query = "UPDATE Locatie "
  327. + "SET Huisnummer = '" + data[10] + "', "
  328. + "Plaatsnaam= '" + data[11] + "', "
  329. + "Straatnaam = '" + data[12] + "', "
  330. + "Toevoeging = '" + data[13] + "', "
  331. + "TZTPoint = '" + data[14] + "', "
  332. + "Postcode = '" + data[15] + "', "
  333. + "Latitude = '" + data[16] + "', "
  334. + "Longitude = '" + data[17] + "' "
  335. + "WHERE LocatieID = '" + LocatieID + "'";
  336. st.executeUpdate(query);
  337. } catch (Exception e) {
  338. System.out.println("error : " + e.getMessage());
  339. }
  340. }
  341. /**
  342. * Nieuwe verzending opslaan.
  343. *
  344. * @param afzender locatie van de verzender
  345. * @param pakket meegeven data (11 values) is volgorde: <OL start="0">
  346. * <LI>gewicht</LI>
  347. * <LI>omschrijving</LI> </OL>
  348. * @return
  349. */
  350. public Boolean newVerzending(Persoon afzender, Persoon ontvanger, Locatie afzenderlocatie, Locatie ontvangerlocatie, String[] pakket) throws MultipleAdressesFoundException {
  351. String gewicht = pakket[0], omschrijving = pakket[1], afzenderplaats = afzenderlocatie.getPlaatsnaam(),
  352. ontvangerplaats = ontvangerlocatie.getPlaatsnaam(), afzenderstraatnaam = afzenderlocatie.getStraatnaam();
  353. if (afzenderplaats != null && afzenderplaats.substring(0, 3).matches("'s ")) {
  354. afzenderplaats = "Hertogenbosch";
  355. }
  356. if (ontvangerplaats != null && ontvangerplaats.substring(0, 3).matches("'s ")) {
  357. ontvangerplaats = "Hertogenbosch";
  358. }
  359. Geocoding geo = new Geocoding();
  360. int locatieId = -1, persoonId = -1, pakketId = -1, verzendingId = -1;
  361. try {
  362. // INSERT Pakket, get PakketID
  363. String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
  364. query = "INSERT INTO Pakket "
  365. + "(PakketID, Gewicht, Prijs, Omschrijving, Datum) "
  366. + "VALUES (0, "
  367. + "'" + gewicht + "',"
  368. + "'0', " // TODO prijsberekening
  369. + "'" + omschrijving + "', "
  370. + "'" + timeStamp + "')";
  371. st.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
  372. rs = st.getGeneratedKeys();
  373. if (rs.next()) {
  374. pakketId = rs.getInt(1);
  375. } else {
  376. }
  377. rs.close();
  378. rs = null;
  379. // INSERT Verzending, get VerzendingID
  380. query = "INSERT INTO Verzending "
  381. + "(VerzendingID, PakketID, Aankomsttijd, Aflevertijd, Status, KostPrijs) "
  382. + "VALUES (0, "
  383. + pakketId + ", "
  384. + "'" + timeStamp + "', "
  385. + "null, "
  386. + "'0', "
  387. + "0)"; //todo, kostprijs
  388. st.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
  389. rs = st.getGeneratedKeys();
  390. if (rs.next()) {
  391. verzendingId = rs.getInt(1);
  392. } else {
  393. }
  394. rs.close();
  395. rs = null;
  396. Coordinaten from = afzenderlocatie.getCoordinaten(), to = ontvangerlocatie.getCoordinaten();
  397. Traject compleetTraject;
  398. compleetTraject = geo.GetRouteFrom(from, to);
  399. Koerier k = new Koerier();
  400. Financien financien = new Financien();
  401. // Coordinaten van TZTPoint (station)
  402. Coordinaten fromToTZT, TZTToTo;
  403. fromToTZT = geo.GetNearestTZTPoint(from).getCoordinaten();
  404. TZTToTo = geo.GetNearestTZTPoint(to).getCoordinaten();
  405. Traject Traject1, Traject3;
  406. int stop1, stop2;
  407. Traject1 = geo.GetRouteFrom(from, fromToTZT);
  408. Traject3 = geo.GetRouteFrom(TZTToTo, to);
  409. if (compleetTraject.Meters < 20000
  410. || (financien.BerekenGoedkoopsteKoerier(Traject1.Meters).RitPrijs + financien.BerekenGoedkoopsteKoerier(Traject3.Meters).RitPrijs + 2)
  411. < financien.BerekenGoedkoopsteKoerier(compleetTraject.Meters).RitPrijs) {
  412. k = financien.BerekenGoedkoopsteKoerier(compleetTraject.Meters);
  413. insertTraject(verzendingId, afzenderlocatie.getId(), ontvangerlocatie.getId(), "0:30", compleetTraject.Meters, 0, k.KoerierID);
  414. } else if (compleetTraject.Meters > 20000) {
  415. // 1e gedeelte
  416. k = financien.BerekenGoedkoopsteKoerier(Traject1.Meters);
  417. stop1 = getLocatieId(fromToTZT, true);
  418. insertTraject(verzendingId, afzenderlocatie.getId(), stop1, "2:00", Traject1.Meters, 0, k.KoerierID);
  419. // 2e gedeelte
  420. stop2 = getLocatieId(TZTToTo, true);
  421. insertTraject(verzendingId, stop1, stop2, "0:00", 0, 0, 0);
  422. // 3e gedeelte
  423. k = financien.BerekenGoedkoopsteKoerier(Traject3.Meters);
  424. insertTraject(verzendingId, stop2, locatieId, "2:00", Traject3.Meters, 0, k.KoerierID);
  425. }
  426. int kostprijs = financien.getKostprijs(verzendingId);
  427. query = "UPDATE Verzending set KostPrijs = '" + kostprijs + "' where VerzendingID = '" + verzendingId + "'";
  428. st.executeUpdate(query);
  429. return true;
  430. } catch (Exception e) {
  431. System.out.println("(DbConnect.java) @ newVerzending - Error : " + e.getMessage());
  432. }
  433. return false;
  434. }
  435. public int getLocatieId(Coordinaten coordinaten, boolean isTZT) {
  436. try {
  437. query = "SELECT LocatieID "
  438. + "FROM Locatie "
  439. + "WHERE Latitude = '" + coordinaten.Latitude.toString() + "' "
  440. + "AND Longitude = '" + coordinaten.Longitude.toString() + "' "
  441. + "AND TZTPoint ";
  442. if (isTZT) {
  443. query += "= 1";
  444. } else {
  445. query += "!= 0";
  446. }
  447. rs = st.executeQuery(query);
  448. while (rs.next()) {
  449. return rs.getInt("LocatieID");
  450. }
  451. } catch (Exception e) {
  452. System.out.println("(DbConnect.java) @ getLocatieId - Error: " + e.getMessage());
  453. }
  454. return 0;
  455. }
  456. /**
  457. * INSERT Traject in database
  458. *
  459. * @return TrajectID
  460. */
  461. public int insertTraject(int verzendingID, int begin, int eind, String reistijd, int kilometers, int bps, int koerierId) {
  462. try {
  463. query = "INSERT INTO Traject "
  464. + "(TrajectID, VerzendingID, Begin, Eind, Reistijd, Kilometers, BPS, KoerierID) "
  465. + "VALUES (0, "
  466. + verzendingID + ","
  467. + "'" + begin + "',"
  468. + "'" + eind + "', "
  469. + "'" + reistijd + "', "
  470. + "'" + kilometers + "', "
  471. + "'" + bps + "', "
  472. + "'" + koerierId + "')";
  473. st.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
  474. rs = st.getGeneratedKeys();
  475. if (rs.next()) {
  476. return rs.getInt(1);
  477. } else {
  478. }
  479. rs.close();
  480. rs = null;
  481. } catch (Exception e) {
  482. System.out.println("(DbConnect.java) @ insertTraject - Error: " + e.getMessage());
  483. }
  484. return 0;
  485. }
  486. /**
  487. * @author Laurens
  488. * @autorv2 Jelle
  489. * @param emailadres
  490. * @param wachtwoord
  491. * @param succes
  492. * @return Object of Persoon or NULL
  493. * @throws SQLException
  494. */
  495. public Persoon getLoginData(String emailadres, String wachtwoord, boolean succes) throws SQLException {
  496. //Query voor uitlezen login gegevens!!!!----->
  497. PreparedStatement stmt = null;
  498. try {
  499. //Select query
  500. //rechten >0 houd in dat iedereen met rechten BOVEN BPS'er in mogen loggen.
  501. stmt = con.prepareStatement("SELECT * FROM Persoon WHERE Emailadres = ? AND Wachtwoord = ? AND rechten > 0");
  502. stmt.setString(1, emailadres);
  503. stmt.setString(2, wachtwoord);
  504. //Select kolom
  505. String password = "Wachtwoord";
  506. String email = "Emailadres";
  507. //Query uitvoeren
  508. rs = stmt.executeQuery();
  509. //Loop door de query data heen
  510. while (rs.next()) {
  511. String content = rs.getString(password);
  512. String content1 = rs.getString(email);
  513. if (content1.equals(emailadres) && content.equals(wachtwoord)) {
  514. //inloggen is gelukt, vul persoon object.
  515. Persoon p = new Persoon();
  516. p.setVoornaam(rs.getString("Voornaam"));
  517. p.setTussenvoegsel(rs.getString("Tussenvoegsel"));
  518. p.setAchternaam(rs.getString("Achternaam"));
  519. p.setEmailadres(rs.getString("Emailadres"));
  520. //zet geboortedatum om van String uit DB naar Date in Java
  521. DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
  522. try {
  523. p.setGeboortedatum(df.parse(rs.getString("Geboortedatum")));
  524. System.out.println(p.getGeboortedatum());
  525. } catch (ParseException ex) {
  526. Logger.getLogger(DbConnect.class.getName()).log(Level.SEVERE, null, ex);
  527. }
  528. p.setMobielnummer(rs.getString("Mobielnummer"));
  529. p.setPersoonID(rs.getInt("PersoonID"));
  530. p.setRechten(rs.getInt("Rechten"));
  531. //object is gevuld geef het object terug.
  532. return p;
  533. } else {
  534. //geen match gevonden in het systeem, inloggen is niet succesvol.
  535. return null;
  536. }
  537. }
  538. } finally {
  539. //sluiten van databaseconnectie
  540. try {
  541. if (stmt != null) {
  542. stmt.close();
  543. }
  544. } catch (Exception e) {
  545. // log this error
  546. }
  547. try {
  548. if (con != null) {
  549. con.close();
  550. }
  551. } catch (Exception e) {
  552. // log this error
  553. }
  554. }
  555. return null;
  556. }
  557. public void insertData(String content, String aa) {
  558. //Query voor inserten!!!!----->
  559. try {
  560. //Insert query
  561. query = "INSERT INTO test VALUES('" + content + "')";
  562. //Query uitvoeren
  563. st.executeUpdate(query);
  564. } catch (Exception ea) {
  565. System.out.println("Query schrijf ERROR: " + ea);
  566. }
  567. }
  568. public void insertData() {
  569. //Query voor inserten!!!!----->
  570. try {
  571. //Insert query
  572. query = "INSERT INTO test VALUES('')";
  573. //Query uitvoeren
  574. st.executeUpdate(query);
  575. } catch (Exception ea) {
  576. System.out.println("Query schrijf ERROR: " + ea);
  577. }
  578. }
  579. public void insertData(String tabelnaam, String... value) {
  580. //Query voor inserten!!!!----->
  581. String waardes = "";
  582. if (tabelnaam.equals("Persoon")) {
  583. this.tabel = this.persoontabel;
  584. } else if (tabelnaam.equals("Locatie")) {
  585. this.tabel = this.locatie;
  586. }
  587. for (int i = 0; i < value.length; i++) {
  588. waardes += i <= value.length - 2
  589. ? value[i] + "','"
  590. : value[i] + "";
  591. }
  592. try {
  593. //Insert query
  594. query = "INSERT INTO " + tabelnaam + " ( " + tabel + ")"
  595. + " VALUES('" + waardes + "')";
  596. //Query uitvoeren
  597. st.executeUpdate(query);
  598. } catch (Exception e) {
  599. System.out.println(e);
  600. }
  601. }
  602. public void updateData(String field, String content) {
  603. //Query voor updaten!!!!----->
  604. try {
  605. //Select kolom
  606. String kolom = "YOLO";
  607. //Update query
  608. query = "UPDATE test SET " + kolom + "='" + content + "' WHERE " + kolom + "'" + field + "'";
  609. //Query uitvoeren
  610. st.executeUpdate(query);
  611. } catch (Exception ea) {
  612. System.out.println("Query update ERROR: " + ea);
  613. }
  614. }
  615. public Object[][] getPakket() {
  616. try {
  617. //LAURENS
  618. //pakt alle pakketen.
  619. query = "SELECT Count(*) AS aantalPakketten "
  620. + "FROM Pakket A "
  621. + "JOIN Verzending B ON A.PakketID = B.PakketID "
  622. + "JOIN Traject C ON B.VerzendingID = C.VerzendingID "
  623. + "JOIN Locatie D ON C.Eind = D.LocatieID "
  624. + "JOIN Locatie E ON C.Begin = E.LocatieID";
  625. rs = st.executeQuery(query);
  626. int aantal = 0;
  627. while (rs.next()) {
  628. aantal = rs.getInt("aantalPakketten");
  629. }
  630. Object[][] returnval = new Object[aantal][16];
  631. query = "SELECT A.PakketID, B.VerzendingID, C.TrajectID, A.Omschrijving, D.Plaatsnaam AS Beginplaats, D.Straatnaam AS BeginStraatnaam, D.Huisnummer AS BeginHuisnummer, D.Toevoeging AS BeginToevoeging, D.Postcode AS BeginPostcode, D.TZTPoint AS TZTpointBegin, E.Plaatsnaam AS Eindplaats, E.Straatnaam AS EindStraatnaam, E.Huisnummer AS EindHuisnummer, E.Toevoeging AS EindToevoeging, E.Postcode AS EindPostcode, E.TZTPoint AS TZTpointEind "
  632. + "FROM Pakket A"
  633. + " JOIN Verzending B ON A.PakketID = B.PakketID"
  634. + " JOIN Traject C ON B.VerzendingID = C.VerzendingID"
  635. + " JOIN Locatie D ON C.Eind = D.LocatieID"
  636. + " JOIN Locatie E ON C.Begin = E.LocatieID";
  637. rs = st.executeQuery(query);
  638. int i = 0;
  639. while (rs.next()) {
  640. returnval[i][0] = rs.getString("PakketID");
  641. returnval[i][1] = rs.getString("VerzendingID");
  642. returnval[i][2] = rs.getString("TrajectID");
  643. returnval[i][3] = rs.getString("Omschrijving");
  644. returnval[i][4] = rs.getString("Beginplaats");
  645. returnval[i][5] = rs.getString("BeginStraatnaam");
  646. returnval[i][6] = rs.getString("BeginHuisnummer");
  647. returnval[i][7] = rs.getString("BeginToevoeging");
  648. returnval[i][8] = rs.getString("BeginPostcode");
  649. returnval[i][9] = rs.getString("TZTpointBegin");
  650. returnval[i][10] = rs.getString("Eindplaats");
  651. returnval[i][11] = rs.getString("EindStraatnaam");
  652. returnval[i][12] = rs.getString("EindHuisnummer");
  653. returnval[i][13] = rs.getString("EindToevoeging");
  654. returnval[i][14] = rs.getString("EindPostcode");
  655. returnval[i][15] = rs.getString("TZTpointEind");
  656. i++;
  657. }
  658. return returnval;
  659. } catch (Exception e) {
  660. System.out.println("error : " + e.getClass());
  661. }
  662. return null;
  663. }
  664. public Object[] getLocatie() {
  665. try {
  666. //LAURENS
  667. String[] returnval = new String[26];
  668. //haal alles op.
  669. query = "SELECT Plaatsnaam "
  670. + "FROM Locatie "
  671. + "WHERE TZTPoint = '1'"
  672. + "ORDER BY Plaatsnaam ASC";
  673. rs = st.executeQuery(query);
  674. int i = 0;
  675. while (rs.next()) {
  676. returnval[i] = rs.getString("Plaatsnaam");
  677. i++;
  678. }
  679. return returnval;
  680. } catch (Exception e) {
  681. System.out.println("error : " + e.getClass());
  682. }
  683. return null;
  684. }
  685. public Boolean bpsTrajectUpdate(String[] data) {
  686. /*
  687. * Auteur: Dominique
  688. */
  689. try {
  690. query = "UPDATE Traject "
  691. + "SET Begin = \"" + data[0] + "\", "
  692. + "Eind = \"" + data[1] + "\""
  693. + "WHERE TrajectID = \"" + data[2] + "\"";
  694. System.out.println(query);
  695. st.executeUpdate(query);
  696. } catch (Exception e) {
  697. System.out.println("error : " + e.getMessage());
  698. }
  699. return null;
  700. }
  701. public Boolean verwijderPersoon(String query) {
  702. // Auteur Dominique
  703. try {
  704. st.executeUpdate(query);
  705. } catch (Exception e) {
  706. System.out.println("error : " + e.getMessage());
  707. }
  708. return null;
  709. }
  710. public Object[][] getSpecifiekPakket(String begin, String eind) {
  711. try {
  712. //LAURENS
  713. //get specifiekpakket.
  714. query = "SELECT COUNT(*) FROM Pakket A JOIN Verzending B ON A.PakketID = B.PakketID JOIN Traject C ON B.VerzendingID = C.VerzendingID JOIN Locatie D ON C.Eind = D.LocatieID JOIN Locatie E ON C.Begin = E.LocatieID ";
  715. if (begin.equals("'s Hertogenbosch")) {
  716. query += "WHERE D.Plaatsnaam = '\\" + begin + "' ";
  717. } else {
  718. query += "WHERE D.Plaatsnaam = '" + begin + "' ";
  719. }
  720. if (eind.equals("'s Hertogenbosch")) {
  721. query += "AND E.Plaatsnaam = '\\" + eind + "' ";
  722. } else {
  723. query += "AND E.Plaatsnaam = '" + eind + "'";
  724. }
  725. rs = st.executeQuery(query);
  726. int aantal = 0;
  727. while (rs.next()) {
  728. aantal = rs.getInt("COUNT(*)");
  729. }
  730. //haal alles op.
  731. if(aantal == 0){
  732. JOptionPane.showMessageDialog(null, "Er zijn geen records gevonden. Probeer het opnieuw.", "", JOptionPane.ERROR_MESSAGE);
  733. }
  734. Object[][] returnval = new Object[aantal][16];
  735. query = "SELECT A.PakketID, B.VerzendingID, C.TrajectID, A.Omschrijving, D.Plaatsnaam AS Beginplaats, D.Straatnaam AS BeginStraatnaam, D.Huisnummer AS BeginHuisnummer, D.Toevoeging AS BeginToevoeging, D.Postcode AS BeginPostcode, D.TZTPoint AS TZTpointBegin, E.Plaatsnaam AS Eindplaats, E.Straatnaam AS EindStraatnaam, E.Huisnummer AS EindHuisnummer, E.Toevoeging AS EindToevoeging, E.Postcode AS EindPostcode, E.TZTPoint AS TZTpointEind FROM Pakket A JOIN Verzending B ON A.PakketID = B.PakketID JOIN Traject C ON B.VerzendingID = C.VerzendingID JOIN Locatie D ON C.Eind = D.LocatieID JOIN Locatie E ON C.Begin = E.LocatieID ";
  736. if (begin.equals("'s Hertogenbosch")) {
  737. query += "WHERE D.Plaatsnaam = '\\" + begin + "' ";
  738. } else {
  739. query += "WHERE D.Plaatsnaam = '" + begin + "' ";
  740. }
  741. if (eind.equals("'s Hertogenbosch")) {
  742. query += "AND E.Plaatsnaam = '\\" + eind + "' ";
  743. } else {
  744. query += "AND E.Plaatsnaam = '" + eind + "'";
  745. }
  746. rs = st.executeQuery(query);
  747. int i = 0;
  748. while (rs.next()) {
  749. returnval[i][0] = rs.getString("PakketID");
  750. returnval[i][1] = rs.getString("VerzendingID");
  751. returnval[i][2] = rs.getString("TrajectID");
  752. returnval[i][3] = rs.getString("Omschrijving");
  753. returnval[i][4] = rs.getString("Beginplaats");
  754. returnval[i][5] = rs.getString("BeginStraatnaam");
  755. returnval[i][6] = rs.getString("BeginHuisnummer");
  756. returnval[i][7] = rs.getString("BeginToevoeging");
  757. returnval[i][8] = rs.getString("BeginPostcode");
  758. returnval[i][9] = rs.getString("TZTpointBegin");
  759. returnval[i][10] = rs.getString("Eindplaats");
  760. returnval[i][11] = rs.getString("EindStraatnaam");
  761. returnval[i][12] = rs.getString("EindHuisnummer");
  762. returnval[i][13] = rs.getString("EindToevoeging");
  763. returnval[i][14] = rs.getString("EindPostcode");
  764. returnval[i][15] = rs.getString("TZTpointEind");
  765. i++;
  766. }
  767. return returnval;
  768. } catch (Exception e) {
  769. System.out.println("error : " + e.getMessage() + e.toString());
  770. }
  771. return null;
  772. }
  773. public Object[][] getGebruikStatistiek() {
  774. try {
  775. //get aantal personen.
  776. rs = st.executeQuery("SELECT COUNT(*) "
  777. + "FROM Persoon P "
  778. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  779. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  780. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID "
  781. + "JOIN Locatie LocE on T.Eind = LocE.LocatieID");
  782. int aantal = 0;
  783. while (rs.next()) {
  784. aantal = rs.getInt("COUNT(*)");
  785. }
  786. //haal alles op.
  787. Object[][] returnval = new Object[aantal][7];
  788. query = "SELECT P.PersoonID, P.Voornaam, P.Tussenvoegsel, P.Achternaam, T.TrajectID, LocB.Plaatsnaam AS Beginplaats, LocE.Plaatsnaam AS Eindplaats "
  789. + "FROM Persoon P "
  790. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  791. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  792. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID JOIN "
  793. + "Locatie LocE on T.Eind = LocE.LocatieID";
  794. rs = st.executeQuery(query);
  795. int i = 0;
  796. while (rs.next()) {
  797. returnval[i][0] = rs.getString("PersoonID");
  798. returnval[i][1] = rs.getString("Voornaam");
  799. returnval[i][2] = rs.getString("Tussenvoegsel");
  800. returnval[i][3] = rs.getString("Achternaam");
  801. returnval[i][4] = rs.getString("TrajectID");
  802. returnval[i][5] = rs.getString("Beginplaats");
  803. returnval[i][6] = rs.getString("Eindplaats");
  804. i++;
  805. }
  806. return returnval;
  807. } catch (Exception e) {
  808. System.out.println("error : " + e.getClass());
  809. }
  810. return null;
  811. }
  812. public Object[][] getSpecifiekGebruikStatistiek(String begin, String eind) {
  813. try {
  814. query = "SELECT COUNT(*) "
  815. + "FROM Persoon P "
  816. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  817. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  818. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID "
  819. + "JOIN Locatie LocE on T.Eind = LocE.LocatieID ";
  820. if (begin.equals("'s Hertogenbosch")) {
  821. query += "WHERE LocB.Plaatsnaam = '\\" + begin + "' ";
  822. } else {
  823. query += "WHERE LocB.Plaatsnaam = '" + begin + "' ";
  824. }
  825. if (eind.equals("'s Hertogenbosch")) {
  826. query += "AND LocE.Plaatsnaam = '\\" + eind + "' ";
  827. } else {
  828. query += "AND LocE.Plaatsnaam = '" + eind + "'";
  829. }
  830. rs = st.executeQuery(query);
  831. int aantal = 0;
  832. while (rs.next()) {
  833. aantal = rs.getInt("COUNT(*)");
  834. }
  835. Object[][] returnval = new Object[aantal][7];
  836. query = "SELECT P.PersoonID, P.Voornaam, P.Tussenvoegsel, P.Achternaam, T.TrajectID, LocB.Plaatsnaam AS Beginplaats, LocE.Plaatsnaam AS Eindplaats "
  837. + "FROM Persoon P "
  838. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  839. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  840. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID JOIN "
  841. + "Locatie LocE on T.Eind = LocE.LocatieID ";
  842. if (begin.equals("'s Hertogenbosch")) {
  843. query += "WHERE LocB.Plaatsnaam = '\\" + begin + "' ";
  844. } else {
  845. query += "WHERE LocB.Plaatsnaam = '" + begin + "' ";
  846. }
  847. if (eind.equals("'s Hertogenbosch")) {
  848. query += "AND LocE.Plaatsnaam = '\\" + eind + "' ";
  849. } else {
  850. query += "AND LocE.Plaatsnaam = '" + eind + "' ";
  851. }
  852. int i = 0;
  853. rs = st.executeQuery(query);
  854. while (rs.next()) {
  855. returnval[i][0] = rs.getString("PersoonID");
  856. returnval[i][1] = rs.getString("Voornaam");
  857. returnval[i][2] = rs.getString("Tussenvoegsel");
  858. returnval[i][3] = rs.getString("Achternaam");
  859. returnval[i][4] = rs.getString("TrajectID");
  860. returnval[i][5] = rs.getString("Beginplaats");
  861. returnval[i][6] = rs.getString("Eindplaats");
  862. i++;
  863. }
  864. return returnval;
  865. } catch (Exception e) {
  866. System.out.println("error : " + e.getClass());
  867. }
  868. return null;
  869. }
  870. public Object[][] getZoekSpecifiekGebruikStatistiek(String zoekoptie) {
  871. try {
  872. query = "SELECT COUNT(*) "
  873. + "FROM Persoon P "
  874. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  875. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  876. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID "
  877. + "JOIN Locatie LocE on T.Eind = LocE.LocatieID "
  878. + "WHERE P.PersoonID = '" + zoekoptie + "' "
  879. + "OR P.Voornaam = '" + zoekoptie + "' "
  880. + "OR P.Tussenvoegsel = '" + zoekoptie + "' "
  881. + "OR P.Achternaam = '" + zoekoptie + "' "
  882. + "OR T.TrajectID = '" + zoekoptie + "' "
  883. + "OR LocB.Plaatsnaam = '" + zoekoptie + "' "
  884. + "OR LocE.Plaatsnaam = '" + zoekoptie + "' ";
  885. rs = st.executeQuery(query);
  886. int aantal = 0;
  887. while (rs.next()) {
  888. aantal = rs.getInt("COUNT(*)");
  889. }
  890. Object[][] returnval = new Object[aantal][7];
  891. query = "SELECT P.PersoonID, P.Voornaam, P.Tussenvoegsel, P.Achternaam, T.TrajectID, LocB.Plaatsnaam AS Beginplaats, LocE.Plaatsnaam AS Eindplaats "
  892. + "FROM Persoon P "
  893. + "JOIN Traject_BPS TBPS on P.PersoonID = TBPS.PersoonID "
  894. + "JOIN Traject T on TBPS.TrajectID = T.TrajectID "
  895. + "JOIN Locatie LocB on T.Begin = LocB.LocatieID JOIN "
  896. + "Locatie LocE on T.Eind = LocE.LocatieID "
  897. + "WHERE P.PersoonID = '" + zoekoptie + "' "
  898. + "OR P.Voornaam = '" + zoekoptie + "' "
  899. + "OR P.Tussenvoegsel = '" + zoekoptie + "' "
  900. + "OR P.Achternaam = '" + zoekoptie + "' "
  901. + "OR T.TrajectID = '" + zoekoptie + "' "
  902. + "OR LocB.Plaatsnaam = '" + zoekoptie + "' "
  903. + "OR LocE.Plaatsnaam = '" + zoekoptie + "' ";
  904. int i = 0;
  905. rs = st.executeQuery(query);
  906. while (rs.next()) {
  907. returnval[i][0] = rs.getString("PersoonID");
  908. returnval[i][1] = rs.getString("Voornaam");
  909. returnval[i][2] = rs.getString("Tussenvoegsel");
  910. returnval[i][3] = rs.getString("Achternaam");
  911. returnval[i][4] = rs.getString("TrajectID");
  912. returnval[i][5] = rs.getString("Beginplaats");
  913. returnval[i][6] = rs.getString("Eindplaats");
  914. i++;
  915. }
  916. return returnval;
  917. } catch (Exception e) {
  918. System.out.println("error : " + e.getClass());
  919. e.printStackTrace();
  920. }
  921. return null;
  922. }
  923. /**
  924. * Methode om aantal pakketten per jaar op te halen.
  925. * @author Jelle Smeets
  926. * @param year
  927. * @return int - aantal pakketten per jaar
  928. */
  929. public int getAantalPakketten(int year){
  930. //set aantal op 0;
  931. int aantal = 0;
  932. try{
  933. //haal aantal ritten op in jaar van year.
  934. String query = "select count(*) as 'aantal ritten' from Verzending where `Aankomsttijd` >= '1-1-"+year+" 00:00:00' && `Aankomsttijd` <= '31-12-"+year+" 23:59:59'";
  935. //voer query uit.
  936. rs = st.executeQuery(query);
  937. while(rs.next()){
  938. //zet aantal ritten in aantal
  939. aantal = rs.getInt("aantal ritten");
  940. }
  941. }catch(Exception e){
  942. //toon foutmelding in output.
  943. System.out.println(e.getMessage());
  944. }
  945. //return aantal
  946. return aantal;
  947. }
  948. /**
  949. * Methode om kostprijs per jaar op te halen.
  950. * @author Jelle Smeets
  951. * @param year
  952. * @return int - kostprijs per jaar
  953. */
  954. public double getKostprijs(int year){
  955. //set aantal op 0;
  956. double aantal = 0;
  957. try{
  958. //haal aantal ritten op in jaar van year.
  959. String query = "select sum(KostPrijs) as 'kostprijs' from Verzending where `Aankomsttijd` >= '1-1-"+year+" 00:00:00' && `Aankomsttijd` <= '31-12-"+year+" 23:59:59'";
  960. //voer query uit.
  961. rs = st.executeQuery(query);
  962. while(rs.next()){
  963. //zet aantal ritten in aantal
  964. aantal = rs.getDouble("kostprijs");
  965. }
  966. }catch(Exception e){
  967. //toon foutmelding in output.
  968. System.out.println(e.getMessage());
  969. }
  970. //return aantal
  971. return aantal;
  972. }
  973. /**
  974. * Bereken winst aan de hand van het jaar.
  975. * @param year
  976. * @return
  977. */
  978. public double getWinst(int year){
  979. //prijs per pakket staat vast.
  980. int prijspakket = 25;
  981. //bereken de omzet
  982. double omzet = (this.getAantalPakketten(year) * prijspakket);
  983. //bereken de winst
  984. double winst = omzet - getKostprijs(year);
  985. //return de winst.
  986. return winst;
  987. }
  988. /**
  989. * Haal aantal bps ritten op per jaar.
  990. * @author Jelle
  991. * @param year
  992. * @return int - aantal bps ritten
  993. */
  994. public int getAantalBps(int year){
  995. //set aantal op 0;
  996. int aantal = 0;
  997. try{
  998. //haal aantal ritten op in jaar van year.
  999. String query = "select count(*) as 'aantal bps' from Traject where BPS != 0 AND VerzendingID IN (select VerzendingID from Verzending where `Aankomsttijd` >= '1-1-"+year+" 00:00:00' AND `Aankomsttijd` <= '31-12-"+year+" 23:59:59')";
  1000. //voer query uit.
  1001. rs = st.executeQuery(query);
  1002. while(rs.next()){
  1003. //zet aantal ritten in aantal
  1004. aantal = rs.getInt("aantal bps");
  1005. }
  1006. }catch(Exception e){
  1007. //toon foutmelding in output.
  1008. System.out.println(e.getMessage());
  1009. }
  1010. //return aantal
  1011. return aantal;
  1012. }
  1013. /**
  1014. * Haal aantal koerier ritten op per jaar.
  1015. * @author Jelle
  1016. * @param year
  1017. * @return int - aantal koerier ritten
  1018. */
  1019. public int getAantalKoerier(int year){
  1020. //set aantal op 0;
  1021. int aantal = 0;
  1022. try{
  1023. //haal aantal ritten op in jaar van year.
  1024. String query = "select count(*) as 'aantal koerier' from Traject where KoerierID != 0 AND VerzendingID IN (select VerzendingID from Verzending where `Aankomsttijd` >= '1-1-"+year+" 00:00:00' AND `Aankomsttijd` <= '31-12-"+year+" 23:59:59')";
  1025. //voer query uit.
  1026. rs = st.executeQuery(query);
  1027. while(rs.next()){
  1028. //zet aantal ritten in aantal
  1029. aantal = rs.getInt("aantal koerier");
  1030. }
  1031. }catch(Exception e){
  1032. //toon foutmelding in output.
  1033. System.out.println(e.getMessage());
  1034. }
  1035. //return aantal
  1036. return aantal;
  1037. }
  1038. /**
  1039. * Haal financiele gegevens op in een array voor een JTable.
  1040. * @param year
  1041. * @return Multidimensionale array voor JTable.
  1042. */
  1043. public Object[][] getFinance(int year) {
  1044. //instancieer returnval
  1045. Object[][] returnval = new Object[1][5];
  1046. if (year == 0) {
  1047. //als jaar 0 is toon dan alle waarden op 0 voor eeste invul van jtable. // lelijke fix
  1048. returnval[0][0] = 0;
  1049. returnval[0][1] = 0;
  1050. returnval[0][2] = 0;
  1051. returnval[0][3] = 0;
  1052. returnval[0][4] = 0;
  1053. } else {
  1054. //haal variabelen op.
  1055. int aantalpakketten = this.getAantalPakketten(year);
  1056. double kostprijs = this.getKostprijs(year);
  1057. double winst = this.getWinst(year);
  1058. int bps = this.getAantalBps(year);
  1059. int koerier = this.getAantalKoerier(year);
  1060. //maak query en vul returnval;
  1061. //aantal pakketten
  1062. returnval[0][0] = aantalpakketten;
  1063. //aantal keer bps
  1064. returnval[0][1] = bps;
  1065. //aantal keer koerier
  1066. returnval[0][2] = koerier;
  1067. //kostprijs
  1068. returnval[0][3] = kostprijs;
  1069. //winst
  1070. returnval[0][4] = winst;
  1071. }
  1072. //return de array
  1073. return returnval;
  1074. }
  1075. public Object[][] getPakketWijzigen(int pakketID) {
  1076. try {
  1077. //get aantal personen.
  1078. rs = st.executeQuery("SELECT COUNT(*)"
  1079. + "FROM Pakket A "
  1080. + "JOIN Verzending B "
  1081. + "ON A.PakketID = B.PakketID "
  1082. + "JOIN Traject C "
  1083. + "ON B.VerzendingID = C.VerzendingID "
  1084. + "JOIN Locatie D "
  1085. + "ON C.Begin = D.LocatieID "
  1086. + "JOIN Locatie E "
  1087. + "On C.Eind = E.LocatieID "
  1088. + "WHERE A.PakketID = " + pakketID + ";");
  1089. int aantal = 0;
  1090. while (rs.next()) {
  1091. aantal = rs.getInt("Count(*)");
  1092. }
  1093. Object[][] returnval = new Object[aantal][6];
  1094. //Select query
  1095. query = "SELECT C.TrajectID AS tr, C.BPS AS bp, C.KoerierID AS k, D.Plaatsnaam AS begin, E.Plaatsnaam AS eind, C.Status AS s "
  1096. + "FROM Pakket A "
  1097. + "JOIN Verzending B "
  1098. + "ON A.PakketID = B.PakketID "
  1099. + "JOIN Traject C "
  1100. + "ON B.VerzendingID = C.VerzendingID "
  1101. + "JOIN Locatie D "
  1102. + "ON C.Begin = D.LocatieID "
  1103. + "JOIN Locatie E "
  1104. + "On C.Eind = E.LocatieID "
  1105. + "WHERE A.PakketID = " + pakketID + ";";
  1106. //Query uitvoeren
  1107. rs = st.executeQuery(query);
  1108. //Loop door de query data heen
  1109. int i = 0;
  1110. while (rs.next()) {
  1111. returnval[i][0] = rs.getString("tr");
  1112. if (Integer.parseInt(rs.getString("bp")) == 0) {
  1113. returnval[i][1] = "Koerier";
  1114. } else if ((Integer.parseInt(rs.getString("bp")) == 1)) {
  1115. returnval[i][1] = "BPS'er";
  1116. } else {
  1117. returnval[i][1] = "onbekend";
  1118. }
  1119. returnval[i][2] = rs.getString("k");
  1120. returnval[i][3] = rs.getString("begin");
  1121. returnval[i][4] = rs.getString("eind");
  1122. if (Integer.parseInt(rs.getString("s")) == 0) {
  1123. returnval[i][5] = "Aangemeld";
  1124. } else if ((Integer.parseInt(rs.getString("s")) == 1)) {
  1125. returnval[i][5] = "Onderweg";
  1126. } else if ((Integer.parseInt(rs.getString("s")) == 2)) {
  1127. returnval[i][5] = "Verwacht";
  1128. } else if ((Integer.parseInt(rs.getString("s")) == 3)) {
  1129. returnval[i][5] = "Afgeleverd";
  1130. } else {
  1131. returnval[i][5] = "Onbekend";
  1132. }
  1133. i++;
  1134. }
  1135. //Afvangen fouten voor getdata
  1136. return returnval;
  1137. } catch (Exception ea) {
  1138. System.out.println("Query lees ERROR: " + ea);
  1139. }
  1140. return null;
  1141. }
  1142. public int getLocatieID(String query) {
  1143. // Dominque
  1144. int locatieID = 0;
  1145. try {
  1146. rs = st.executeQuery(query);
  1147. while (rs.next()) {
  1148. locatieID = Integer.parseInt(rs.getString("LocatieID"));
  1149. }
  1150. return locatieID;
  1151. } catch (Exception e) {
  1152. System.out.println("error : " + e.getClass());
  1153. }
  1154. return locatieID;
  1155. }
  1156. public int getPersoonID(String query) {
  1157. // Dominque
  1158. int persoonID = 0;
  1159. try {
  1160. rs = st.executeQuery(query);
  1161. while (rs.next()) {
  1162. persoonID = Integer.parseInt(rs.getString("PersoonID"));
  1163. }
  1164. return persoonID;
  1165. } catch (Exception e) {
  1166. System.out.println("error : " + e.getClass());
  1167. }
  1168. return persoonID;
  1169. }
  1170. public void nieuweGebruiker(String query) {
  1171. // Dominique
  1172. try {
  1173. //Query uitvoeren
  1174. st.executeUpdate(query);
  1175. } catch (Exception ea) {
  1176. System.out.println("Query schrijf ERROR: " + ea);
  1177. }
  1178. }
  1179. public Object[][] getPakketStatus() {
  1180. try {
  1181. //LAURENS
  1182. //get status.
  1183. rs = st.executeQuery("SELECT COUNT(*) FROM Traject t JOIN Verzending v ON t.VerzendingID = v.VerzendingID JOIN Pakket p ON p.PakketID = v.VerzendingID JOIN Koerier k ON k.KoerierID = t.KoerierID JOIN Locatie D ON t.Eind = D.LocatieID JOIN Locatie E ON t.Begin = E.LocatieID");
  1184. int aantal = 0;
  1185. while (rs.next()) {
  1186. aantal = rs.getInt("COUNT(*)");
  1187. }
  1188. //haal alles op.
  1189. Object[][] returnval = new Object[aantal][12];
  1190. query = "SELECT t.TrajectID as TrajectID, t.VerzendingID as VerzendingID, v.PakketID as PakketID, t.KoerierID as KoerierID, k.Bedrijfsnaam as Bedrijfsnaam, t.Begin as Begin, t.Eind as Eind, D.Plaatsnaam as Beginplaats, E.Plaatsnaam as Eindplaats, v.Aankomsttijd as Aankomsttijd, v.Aflevertijd as Aflevertijd, v.Status as Status FROM Traject t JOIN Verzending v ON t.VerzendingID = v.VerzendingID JOIN Pakket p ON p.PakketID = v.VerzendingID JOIN Koerier k ON k.KoerierID = t.KoerierID JOIN Locatie D ON t.Eind = D.LocatieID JOIN Locatie E ON t.Begin = E.LocatieID";
  1191. int i = 0;
  1192. rs = st.executeQuery(query);
  1193. while (rs.next()) {
  1194. returnval[i][0] = rs.getString("TrajectID");
  1195. returnval[i][1] = rs.getString("VerzendingID");
  1196. returnval[i][2] = rs.getString("PakketID");
  1197. returnval[i][3] = rs.getString("KoerierID");
  1198. returnval[i][4] = rs.getString("Bedrijfsnaam");
  1199. returnval[i][5] = rs.getString("Begin");
  1200. returnval[i][6] = rs.getString("Eind");
  1201. returnval[i][7] = rs.getString("Beginplaats");
  1202. returnval[i][8] = rs.getString("Eindplaats");
  1203. returnval[i][9] = rs.getString("Aankomsttijd");
  1204. returnval[i][10] = rs.getString("Aflevertijd");
  1205. returnval[i][11] = rs.getString("Status");
  1206. i++;
  1207. }
  1208. return returnval;
  1209. } catch (Exception e) {
  1210. System.out.println("error : " + e.getClass());
  1211. }
  1212. return null;
  1213. }
  1214. /**
  1215. * @author Leon Huzen Haal een Locatie op met een PersoonID als invoer
  1216. * @param persoonID String PersoonID
  1217. * @return Locatie (ID, Coordinaten)
  1218. */
  1219. public Locatie getLocatieFromPersoonId(String persoonID) {
  1220. Locatie result = null;
  1221. try {
  1222. query = "SELECT l.LocatieID, l.Latitude, l.Longitude "
  1223. + "FROM Locatie l "
  1224. + "JOIN Persoon_Locatie pl ON l.LocatieID = pl.LocatieID "
  1225. + "WHERE pl.PersoonID = " + persoonID;
  1226. rs = st.executeQuery(query);
  1227. while (rs.next()) {
  1228. Coordinaten coordinaten = new Coordinaten(Double.parseDouble(rs.getString("Latitude")), Double.parseDouble(rs.getString("Longitude")));
  1229. result = new Locatie(Integer.parseInt(rs.getString("LocatieID")), coordinaten);
  1230. }
  1231. return result;
  1232. } catch (Exception e) {
  1233. System.out.println("error : " + e.getMessage());
  1234. }
  1235. return result;
  1236. }
  1237. /**
  1238. * @author Jelle(v2.)) en Daniel(v1.0)
  1239. * @param PakketID
  1240. * @description v1.0 return array of strings.
  1241. * @description v2.0 return array of feedback objects.
  1242. * @return array of feedback objects
  1243. */
  1244. public Feedback[] getFeedback(int PakketID) {
  1245. try {
  1246. //Daniel
  1247. //tel hoeveel feedback er is.
  1248. rs = st.executeQuery("SELECT COUNT(*) FROM Feedback WHERE PakketID = " + PakketID + ";");
  1249. int aantal = 0;
  1250. while (rs.next()) {
  1251. aantal = rs.getInt("COUNT(*)");
  1252. }
  1253. //haal alles op.
  1254. Feedback[] returnval = new Feedback[aantal];
  1255. query = "SELECT FeedbackID, PakketID, Waardering, Omschrijving, Ontvangstatus FROM Feedback WHERE PakketID = " + PakketID + ";";
  1256. int i = 0;
  1257. rs = st.executeQuery(query);
  1258. while (rs.next()) {
  1259. //vull feedback objecten.
  1260. returnval[i] = new Feedback();
  1261. returnval[i].setFeedbackID(Integer.parseInt(rs.getString("FeedbackID")));
  1262. returnval[i].setOmschrijving(rs.getString("Omschrijving"));
  1263. returnval[i].setPakketID(Integer.parseInt(rs.getString("PakketID")));
  1264. returnval[i].setWaardering(Integer.parseInt(rs.getString("Waardering")));
  1265. returnval[i].setOntvangststatus(Integer.parseInt(rs.getString("Ontvangstatus")));
  1266. i++;
  1267. }
  1268. return returnval;
  1269. } catch (Exception e) {
  1270. System.out.println("error : " + e.getClass());
  1271. }
  1272. return null;
  1273. }
  1274. public void updateStatus(Object trajectID, int status) {
  1275. try {
  1276. query = "UPDATE Traject "
  1277. + "SET Status = " + status + " WHERE TrajectID = '" + trajectID + "'";
  1278. System.out.println(query);
  1279. st.executeUpdate(query);
  1280. } catch (Exception e) {
  1281. System.out.println("error : " + e.getMessage());
  1282. }
  1283. }
  1284. /**
  1285. * Get persoon aan de hand van id uit de database.
  1286. * @author Jelle
  1287. * @param id
  1288. * @return Persoon object/null
  1289. */
  1290. public Persoon getPersoonById(int id){
  1291. try{
  1292. Persoon p = new Persoon();
  1293. query = "SELECT * from Persoon where PersoonID = '"+id+"'";
  1294. rs = st.executeQuery(query);
  1295. while(rs.next()){
  1296. p.setVoornaam(rs.getString("Voornaam"));
  1297. p.setTussenvoegsel(rs.getString("Tussenvoegsel"));
  1298. p.setAchternaam(rs.getString("Achternaam"));
  1299. p.setEmailadres(rs.getString("Emailadres"));
  1300. //geboortedatumfix
  1301. // p.setGeboortedatum(rs.getString("Geboortedatum"));
  1302. p.setMobielnummer(rs.getString("Mobielnummer"));
  1303. p.setPersoonID(rs.getInt("PersoonID"));
  1304. p.setRechten(rs.getInt("Rechten"));
  1305. }
  1306. if (p != null)
  1307. return p;
  1308. }catch(Exception e){
  1309. }
  1310. return null;
  1311. }
  1312. public ArrayList<Koerier> GetAllActiveKoeriers() {
  1313. ArrayList<Koerier> result = new ArrayList<Koerier>();
  1314. try {
  1315. //Daniel
  1316. //Haal de koeries (transport bedrijven op uit de database.
  1317. rs = st.executeQuery("SELECT COUNT(*) FROM Koerier ;");
  1318. int aantal = 0;
  1319. while (rs.next()) {
  1320. aantal = rs.getInt("COUNT(*)");
  1321. }
  1322. //haal alles op.
  1323. query = "SELECT KoerierID, Bedrijfsnaam, Prijsperkm, Starttarief, Startmeters, Actief "
  1324. + "FROM Koerier "
  1325. + "WHERE Actief = 1;";
  1326. int i = 0;
  1327. rs = st.executeQuery(query);
  1328. Koerier k = new Koerier();
  1329. while (rs.next()) {
  1330. //vull feedback objecten.
  1331. k.KoerierID = rs.getInt("KoerierID");
  1332. k.setBedrijfsnaam(rs.getString("Bedrijfsnaam"));
  1333. k.PrijsPerKm = rs.getDouble("PrijsperKm");
  1334. k.StartTarief = rs.getDouble("Starttarief");
  1335. k.StartMeters = rs.getInt("StartMeters");
  1336. k.Actief = rs.getInt("Actief");
  1337. i++;
  1338. //koerier toevoegen aan resultaat!
  1339. result.add(k);
  1340. }
  1341. return result;
  1342. } catch (Exception e) {
  1343. System.out.println("error : " + e.getClass());
  1344. }
  1345. return result;
  1346. }
  1347. public Object[][] getKoerierKostprijs() {
  1348. try {
  1349. //LAURENS
  1350. //get specifiekpakket.
  1351. rs = st.executeQuery("SELECT COUNT(*) FROM Verzending v JOIN Traject t ON v.VerzendingID = t.VerzendingID JOIN Traject_BPS bps ON t.TrajectID = bps.TrajectID JOIN Persoon p ON bps.PersoonID = p.PersoonID JOIN Koerier k ON t.KoerierID = k.KoerierID WHERE v.status = '3'");
  1352. int aantal = 0;
  1353. while (rs.next()) {
  1354. aantal = rs.getInt("COUNT(*)");
  1355. }
  1356. //haal alles op.
  1357. Object[][] returnval = new Object[aantal][8];
  1358. query = "SELECT p.achternaam AS Achternaam, k.bedrijfsnaam AS Bedrijfsnaam, p.emailadres AS Emailadres, v.status AS Status , v.Aankomsttijd AS Aankomsttijd, v.Aflevertijd AS Aflevertijd, v.KostPrijs AS Kostprijs, p.IBAN AS IBAN FROM Verzending v JOIN Traject t ON v.VerzendingID = t.VerzendingID JOIN Traject_BPS bps ON t.TrajectID = bps.TrajectID JOIN Persoon p ON bps.PersoonID = p.PersoonID JOIN Koerier k ON t.KoerierID = k.KoerierID WHERE v.status = '3'";
  1359. int i = 0;
  1360. rs = st.executeQuery(query);
  1361. while (rs.next()) {
  1362. returnval[i][0] = rs.getString("Achternaam");
  1363. returnval[i][1] = rs.getString("Bedrijfsnaam");
  1364. returnval[i][2] = rs.getString("Emailadres");
  1365. returnval[i][3] = rs.getString("Status");
  1366. returnval[i][4] = rs.getString("Aankomsttijd");
  1367. returnval[i][5] = rs.getString("Aflevertijd");
  1368. returnval[i][6] = rs.getString("Kostprijs");
  1369. returnval[i][7] = rs.getString("IBAN");
  1370. i++;
  1371. }
  1372. return returnval;
  1373. } catch (Exception e) {
  1374. System.out.println("error : " + e.getClass());
  1375. }
  1376. return null;
  1377. }
  1378. /**
  1379. * Haal de kilometers en trajectID's op van de trajecten die nog geen BPS'er hebbem
  1380. * @param uurGeleden Het aantal uur dat een traject nog geen BPS'er mag hebben
  1381. * @author Leon Huzen
  1382. * @since 28-05-2013
  1383. */
  1384. public void setKoeriersAlsErGeenBPSerIs (int uurGeleden) {
  1385. try {
  1386. /**
  1387. * Haal de kilometers en trajectID's op van de
  1388. * trajecten die al een aantal @uurgeleden gemaakt zijn
  1389. */
  1390. String query = "SELECT t.Kilometers, t.TrajectID "
  1391. + "FROM Verzending v "
  1392. + "JOIN Traject t ON t.VerzendingID = v.VerzendingID "
  1393. + "WHERE YEAR(v.Aankomsttijd) = YEAR(CURDATE()) "
  1394. + "AND MONTH(v.Aankomsttijd) = MONTH(CURDATE()) "
  1395. + "AND DAY(v.Aankomsttijd) = DAY(CURDATE()) "
  1396. + "AND HOUR( v.Aankomsttijd ) < HOUR( SUBTIME( CURTIME( ) , '" + uurGeleden + ":00:00.000000' ) ) "
  1397. + "AND t.KoerierID = 0 "
  1398. + "AND t.BPS = 0";
  1399. rs = st.executeQuery(query);
  1400. // Maak een Statement
  1401. st = con.createStatement();
  1402. query = "";
  1403. // Voor elk traject de beste koerier
  1404. while (rs.next()) {
  1405. int TrajectID = rs.getInt("TrajectID");
  1406. Double doubleMeters = rs.getDouble("Kilometers") * 1000;
  1407. int meters = doubleMeters.intValue();
  1408. Financien fin = new Financien();
  1409. query = "UPDATE Traject t "
  1410. + "SET t.KoerierID = " + fin.BerekenGoedkoopsteKoerier(meters).KoerierID + " " // Goedkoopste koerier
  1411. + "WHERE TrajectID = " + TrajectID + ";"; // Van een bepaald traject
  1412. st.addBatch(query); // Toevoegen aan batch
  1413. }
  1414. try {
  1415. st.executeBatch(); // Batch in de database updaten
  1416. } catch (Exception e) {
  1417. System.out.println(e.getMessage());
  1418. }
  1419. } catch (Exception e) {
  1420. System.out.println("Error in setKoeriersAlsErGeenBPSerIs: " + e.getMessage());
  1421. }
  1422. }
  1423. public Object[][] getSpecifiekKoerierKostprijs(String m, String j) {
  1424. try {
  1425. //LAURENS
  1426. //get specifiekpakket.
  1427. rs = st.executeQuery("SELECT COUNT(*) "
  1428. + "FROM Verzending v "
  1429. + "JOIN Traject t ON v.VerzendingID = t.VerzendingID "
  1430. + "JOIN Traject_BPS bps ON t.TrajectID = bps.TrajectID "
  1431. + "JOIN Persoon p ON bps.PersoonID = p.PersoonID "
  1432. + "JOIN Koerier k ON t.KoerierID = k.KoerierID "
  1433. + "WHERE v.status = '3' "
  1434. + "AND MONTH( Aankomsttijd ) = '" + m + "' "
  1435. + "AND YEAR( Aankomsttijd ) ='" + j + "'");
  1436. int aantal = 0;
  1437. while (rs.next()) {
  1438. aantal = rs.getInt("COUNT(*)");
  1439. }
  1440. //haal alles op.
  1441. if(aantal == 0){
  1442. JOptionPane.showMessageDialog(null, "Er zijn geen records gevonden. Probeer het opnieuw.", "", JOptionPane.ERROR_MESSAGE);
  1443. }
  1444. Object[][] returnval = new Object[aantal][8];
  1445. query = "SELECT p.achternaam AS Achternaam, k.bedrijfsnaam AS Bedrijfsnaam, p.emailadres AS Emailadres, v.status AS Status , v.Aankomsttijd AS Aankomsttijd, v.Aflevertijd AS Aflevertijd, v.KostPrijs AS Kostprijs, p.IBAN AS IBAN FROM Verzending v JOIN Traject t ON v.VerzendingID = t.VerzendingID JOIN Traject_BPS bps ON t.TrajectID = bps.TrajectID JOIN Persoon p ON bps.PersoonID = p.PersoonID JOIN Koerier k ON t.KoerierID = k.KoerierID WHERE v.status = '3' AND MONTH( Aankomsttijd ) = '" + m + "' AND YEAR( Aankomsttijd ) ='" + j + "'";
  1446. int i = 0;
  1447. rs = st.executeQuery(query);
  1448. while (rs.next()) {
  1449. returnval[i][0] = rs.getString("Achternaam");
  1450. returnval[i][1] = rs.getString("Bedrijfsnaam");
  1451. returnval[i][2] = rs.getString("Emailadres");
  1452. returnval[i][3] = rs.getString("Status");
  1453. returnval[i][4] = rs.getString("Aankomsttijd");
  1454. returnval[i][5] = rs.getString("Aflevertijd");
  1455. returnval[i][6] = rs.getString("Kostprijs");
  1456. returnval[i][7] = rs.getString("IBAN");
  1457. i++;
  1458. }
  1459. return returnval;
  1460. } catch (Exception e) {
  1461. System.out.println("error : " + e.getClass());
  1462. }
  1463. return null;
  1464. }
  1465. /**
  1466. * Bepaal kostprijs aan de hand van verzendingID
  1467. * @param verzendingID
  1468. * @author Jelle Smeets
  1469. * @return int kostprijs
  1470. */
  1471. public int calculateKostprijsByVerzendingID(int verzendingID) {
  1472. try{
  1473. query = "select * from Traject where VerzendingID in('"+verzendingID+"')";
  1474. rs = st.executeQuery(query);
  1475. int kostprijs = 0;
  1476. while(rs.next()){
  1477. int meters = rs.getInt("Kilometers");
  1478. int bps = rs.getInt("BPS");
  1479. int koerier = rs.getInt("KoerierID");
  1480. if(bps == 0 && koerier == 0){
  1481. //geen koerier en bps.
  1482. //betekend dat er bps er gekozen is maar nog niet beschikbaar is op het traject.
  1483. kostprijs += 2;
  1484. }else if(bps != 0){
  1485. //bpser is op dit traject actief.
  1486. kostprijs += 2;
  1487. }else if(koerier != 0){
  1488. //koerier actief op dit traject
  1489. Financien f = new Financien();
  1490. kostprijs += f.getKoerierskosten(meters, koerier);
  1491. }
  1492. }
  1493. return kostprijs;
  1494. }catch(Exception ex){
  1495. System.out.println(ex.getMessage());
  1496. return 0;
  1497. }
  1498. }
  1499. /**
  1500. * Haal de kostprijs op aan de hand van het id.
  1501. * @author Jelle Smeets
  1502. * @param verzendingID
  1503. * @return int kostprijs
  1504. */
  1505. public int getKostPrijsById(int verzendingID) {
  1506. //haal query op.
  1507. try{
  1508. query = "select * from Verzending where VerzendingID = '"+verzendingID+"'";
  1509. rs = st.executeQuery(query);
  1510. int kostprijs = 0;
  1511. //als er een kostprijs is return deze.
  1512. while(rs.next()){
  1513. kostprijs = rs.getInt("KostPrijs");
  1514. }
  1515. //anders return de 0 waarde die al geset is.
  1516. return kostprijs;
  1517. }catch(Exception ex){
  1518. System.out.println(ex.getMessage());
  1519. return 0;
  1520. }
  1521. }
  1522. public double[] getKostenberekeningKoerier(int KoerierID) {
  1523. try{
  1524. query = "select * from Koerier where KoerierID = '"+KoerierID+"'";
  1525. rs = st.executeQuery(query);
  1526. double[] returnval = new double[3];
  1527. int i = 0;
  1528. while(rs.next()){
  1529. returnval[0] = rs.getDouble("Prijsperkm");
  1530. returnval[1] = rs.getDouble("Starttarief");
  1531. returnval[2] = rs.getDouble("Startmeters");
  1532. i++;
  1533. }
  1534. if(i == 0){
  1535. return null;
  1536. }else{
  1537. return returnval;
  1538. }
  1539. }catch(Exception ex){
  1540. System.out.println(ex.getMessage());
  1541. return null;
  1542. }
  1543. }
  1544. public String LocatieIdtoString(Object id) {
  1545. try{
  1546. query = "select * from Locatie where LocatieID = '"+id+"'";
  1547. rs = st.executeQuery(query);
  1548. while(rs.next()){
  1549. return rs.getString("Plaatsnaam");
  1550. }
  1551. return "Station niet bekent.";
  1552. }catch(Exception e){
  1553. return "Station niet bekent.";
  1554. }
  1555. }
  1556. }