Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.15 KB | None | 0 0
  1. package uver;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.util.ArrayList;
  7.  
  8.  
  9. public class Uver {
  10.  
  11. public static void main(String[] args) {
  12. String url = "jdbc:postgresql://bdd.inf.udec.cl:5432/isw1a";
  13. String usuario = "isw1a";
  14. String contraseña = "matiasmora18";
  15. try{
  16. Class.forName("org.postgresql.Driver");
  17. Connection conexion = DriverManager.getConnection(url,usuario,contraseña);
  18. java.sql.Statement st = conexion.createStatement();
  19.  
  20. /////Pruebas/////
  21. String sql;
  22. String driver="";
  23. //sql=addNewUser(12121212, "Robert", 1996, 3, 16, 98767698, "Callese Viejo Lesbiano", "arbochanpion@cc.ru", "1234567", true, false, false, false);
  24. //sql=addNewRoute("Temuco", "Valdivia", 16, 45, 0);
  25.  
  26.  
  27. //Saca id de viajes para ir de ciudad origen a destino o intermedios y los guarda en idtravels//
  28. sql=searchTravel("Concepción", "Iquique");
  29. ResultSet result=st.executeQuery(sql);
  30. ArrayList<String> idtravels = new ArrayList<>();
  31. ArrayList<String> nseatss = new ArrayList<>();
  32. while(result.next()){
  33. String idtravel = result.getString("idtravel");
  34. String nseats = result.getString("seats");
  35. idtravels.add(idtravel);
  36. nseatss.add(nseats);
  37. }
  38. result.close();
  39. if(idtravels.isEmpty())System.out.println("No hay viajes que satisfagan su consulta");
  40. //Da la info de los viajes obtenidos
  41. while(!idtravels.isEmpty()){
  42. String aux=searchTravel4(idtravels.get(0));
  43. result=st.executeQuery(aux);
  44. while(result.next())driver=result.getString("fullname");
  45. aux=searchTravel2(idtravels.get(0));
  46. result=st.executeQuery(aux);
  47. while(result.next()){
  48. String ocity=result.getString("ocity");
  49. String dcity=result.getString("dcity");
  50. System.out.println("El viaje con Conductor:"+driver+", Origen:"+ocity+" y Destino:"+dcity+ " dispone "+nseatss.get(0)+" asientos totales y tiene el siguiente itinerario:");
  51. }
  52. sql=DReservation(idtravels.get(0));
  53. result.close();
  54. result=st.executeQuery(sql);
  55. while(result.next()){
  56. String ocity=result.getString("ocity");
  57. String dcity=result.getString("dcity");
  58. String dseats=result.getString("dseats");
  59. String sum=result.getString("sum");
  60. int idseats=Integer.parseInt(dseats);
  61. int isum=Integer.parseInt(sum);
  62. if(isum>0)System.out.println(ocity+ "-" +dcity+ " Asientos Reservados: "+isum);
  63.  
  64. }
  65. nseatss.remove(0);
  66. result.close();
  67.  
  68. //Da la info de las rutas seguidas por los viajes obtenidos
  69. aux=searchTravel3(idtravels.get(0));
  70. result=st.executeQuery(aux);
  71. while(result.next()){
  72. String ocity=result.getString("ocity");
  73. String dcity=result.getString("dcity");
  74. String ohour=result.getString("ohour");
  75. System.out.println(ocity+ "-" +dcity+ " -> " +ohour);
  76. }
  77. idtravels.remove(0);
  78. }
  79.  
  80.  
  81.  
  82. ////Fin////
  83.  
  84. /* String sql = "SELECT * FROM uver.login WHERE username = 'dantzig' and pass = 1234";
  85. ResultSet result = st.executeQuery(sql);
  86. while(result.next()){
  87. String id = result.getString("username");
  88. String pas= result.getString("pass");
  89. System.out.println("id: " + id + " pass: " + pas);
  90. }
  91. result.close();*/
  92.  
  93. st.close();
  94. conexion.close();
  95. } catch(Exception e){
  96. System.out.println("ERROR DE CONEXION" + e.getMessage());
  97. }
  98.  
  99.  
  100. }
  101.  
  102.  
  103.  
  104. ////Métodos////
  105.  
  106.  
  107. public static String addNewUser(int rut, String name, int bornyear, int bornmonth, int bornday, int phone, String description, String mail, String password, boolean smoke, boolean pet, boolean talk, boolean music){
  108. String addNewUser = "INSERT INTO uver.person (rut, fullname, born, phone, description, mail, password, smoke, pet, talk, music) VALUES (" +rut+ ", '" +name+ "', '" +bornyear+ "-" +bornmonth+ "-" +bornday+ "', " +phone+ ", '" +description+ "', '" +mail+ "', '" +password+ "', " +smoke+ ", " +pet+ ", " +talk+ ", " +music+ ")";
  109. return addNewUser;
  110. }
  111.  
  112. public static String addNewRoute(String src, String dst, int hour, int minute, int second){
  113. String addNewRoute = "INSERT INTO uver.route (idroute, ocity, dcity, ohour) VALUES ( " +Math.random()*100+ ", '" +src+ "', '" +dst+ "', '" +hour+ ":" +minute+ ":" +second+ "')";
  114. return addNewRoute;
  115. }
  116.  
  117. public static String searchTravel(String src, String dst){
  118. String searchTravel="SELECT DISTINCT uver.travel_route.idtravel, uver.travel.seats\n" +
  119. "FROM uver.travel_route\n" +
  120. "INNER JOIN uver.route \n" +
  121. "ON uver.travel_route.idroute = uver.route.idroute\n" +
  122. "INNER JOIN uver.travel \n" +
  123. "ON uver.travel.idtravel = uver.travel_route.idtravel \n" +
  124. "WHERE uver.travel.ocity='"+src+"' AND uver.travel.dcity='"+dst+"' OR uver.route.ocity='"+src+"' AND uver.route.dcity='"+dst+"'";
  125. return searchTravel;
  126. }
  127.  
  128. public static String searchTravel2(String idtravel){
  129. String searchTravel2="SELECT uver.travel.ocity, uver.travel.dcity\n" +
  130. "FROM uver.travel\n" +
  131. "WHERE uver.travel.idtravel="+idtravel+";";
  132. return searchTravel2;
  133. }
  134.  
  135. public static String searchTravel3(String idtravel){
  136. String searchTravel3="SELECT uver.route.ocity, uver.route.dcity, uver.route.ohour\n" +
  137. "FROM uver.travel_route\n" +
  138. "INNER JOIN uver.route\n" +
  139. "ON uver.travel_route.idroute=uver.route.idroute\n" +
  140. "WHERE uver.travel_route.idtravel="+idtravel+";";
  141. return searchTravel3;
  142. }
  143.  
  144. public static String searchTravel4(String idtravel){
  145. String searchTravel4="SELECT uver.person.fullname\n" +
  146. "FROM uver.person_driver\n" +
  147. "INNER JOIN uver.driver_travel \n" +
  148. "ON uver.person_driver.rut=uver.driver_travel.rut AND uver.driver_travel.idtravel="+idtravel+"\n" +
  149. "INNER JOIN uver.person\n" +
  150. "ON uver.person.rut=uver.person_driver.rut";
  151. return searchTravel4;
  152. }
  153.  
  154. public static String DReservation(String idtravel){
  155. String DReservation="SELECT uver.route.dseats, SUM(uver.reservation.nseats), uver.route.idroute, uver.travel.idtravel, uver.route.ocity, uver.route.dcity\n" +
  156. "FROM uver.travel\n" +
  157. "INNER JOIN uver.travel_route\n" +
  158. "ON uver.travel.idtravel=uver.travel_route.idtravel\n" +
  159. "INNER JOIN uver.route\n" +
  160. "ON uver.route.idroute=uver.travel_route.idroute\n" +
  161. "INNER JOIN uver.reservation\n" +
  162. "ON uver.reservation.idroute=uver.route.idroute\n" +
  163. "WHERE uver.travel.idtravel="+idtravel+"\n" +
  164. "GROUP BY uver.route.idroute, uver.travel.idtravel";
  165. return DReservation;
  166. }
  167.  
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement