Advertisement
Guest User

Vuelos.java

a guest
Nov 14th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 16.13 KB | None | 0 0
  1. package com.aerolinea.control;
  2.  
  3. import com.aerolinea.conexion.Conexion;
  4. import com.aerolinea.conexion.ConexionPool;
  5. import com.aerolinea.entidad.Vuelo;
  6. import com.aerolinea.operaciones.Operaciones;
  7. import com.aerolinea.utilerias.Tabla;
  8. import java.io.IOException;
  9. import java.sql.SQLException;
  10. import java.sql.Timestamp;
  11. import java.text.SimpleDateFormat;
  12. import java.util.ArrayList;
  13. import java.util.Date;
  14. import java.util.List;
  15. import java.util.logging.Level;
  16. import java.util.logging.Logger;
  17. import javax.servlet.ServletException;
  18. import javax.servlet.annotation.WebServlet;
  19. import javax.servlet.http.HttpServlet;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22.  
  23. @WebServlet(name = "Vuelos", urlPatterns = {"/Vuelos"})
  24. public class Vuelos extends HttpServlet {
  25.  
  26.     @Override
  27.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  28.             throws ServletException, IOException {
  29.         String accion = request.getParameter("accion");
  30.         if (accion == null) {
  31.             if (request.getSession().getAttribute("resultado") != null) {
  32.                 request.setAttribute("resultado", request.getSession().getAttribute("resultado"));
  33.                 request.getSession().removeAttribute("resultado");
  34.             }
  35.             try {
  36.                 Conexion conn = new ConexionPool();
  37.                 conn.conectar();
  38.                 Operaciones.abrirConexion(conn);
  39.                 Operaciones.iniciarTransaccion();
  40.                 String sql = "select idvuelo, FORMAT(fecha, 'dd/MM/yyyy HH:mm', 'en-US') as date, \n"
  41.                         + "ori.aeropuerto as origen,\n"
  42.                         + "dest.aeropuerto as destino,\n"
  43.                         + "av.descripcion as avion,\n"
  44.                         + "av.capacidad as capacidad,\n"
  45.                         + "vuelo.estado as estado\n"
  46.                         + "from vuelo\n"
  47.                         + "inner join aeropuerto as ori on ori.idaeropuerto = vuelo.idorigen\n"
  48.                         + "inner join aeropuerto as dest on dest.idaeropuerto = vuelo.iddestino\n"
  49.                         + "inner join avion as av on av.idavion = vuelo.idavion";
  50.                 String[][] vuelos = null;
  51.                 List<Object> param = new ArrayList();
  52.                 if (request.getParameter("idorigen") != null) {
  53.                     param = new ArrayList();
  54.                     param.add(request.getParameter("idorigen"));
  55.                     request.setAttribute("idorigen", request.getParameter("idorigen"));
  56.                     request.setAttribute("origen", request.getParameter("origen"));
  57.                     sql += " where vuelo.idorigen = ?";
  58.                     vuelos = Operaciones.consultar(sql, param);
  59.                 } else {
  60.                     vuelos = Operaciones.consultar(sql, null);
  61.                 }
  62. //declaracion de cabeceras a usar en la tabla HTML
  63.                 String[] cabeceras = new String[]{
  64.                     "Id Vuelo",
  65.                     "Fecha y Hora",
  66.                     "Origen",
  67.                     "Destino",
  68.                     "Avión",
  69.                     "Capacidad",
  70.                     "Estado"
  71.                 };
  72. //variable de tipo Tabla para generar la Tabla HTML
  73.                 Tabla tab = new Tabla(vuelos, //array que contiene los datos
  74.                         "100%", //ancho de la tabla px | %
  75.                         Tabla.STYLE.TABLE01, //estilo de la tabla
  76.                         Tabla.ALIGN.CENTER, // alineacion de la tabla
  77.                         cabeceras); //array con las cabeceras de la tabla
  78. //boton eliminar
  79.                 tab.setEliminable(true);
  80. //url del proyecto
  81.                 tab.setPageContext(request.getContextPath());
  82.                 tab.setSeleccionable(false);
  83. //pagina encargada de eliminar
  84.                 tab.setPaginaEliminable("/Vuelos?accion=eliminar");
  85. //pagina encargada de seleccion para operaciones
  86. //tab.setPaginaSeleccionable("/Paises");
  87. //icono para modificar y eliminar
  88. //tab.setIconoModificable("/iconos/edit.png");
  89.                 tab.setIconoEliminable("/iconos/delete.png");
  90. //columnas seleccionables
  91. //tab.setColumnasSeleccionables(new int[]{1});
  92. //pie de tabla
  93.                 tab.setPie("Resultado Vuelos");
  94. //imprime la tabla en pantalla
  95.                 String tabla01 = "No hay datos";
  96.                 if (vuelos != null) {
  97.                     tabla01 = tab.getTabla();
  98.                 }
  99.                 request.setAttribute("tabla", tabla01);
  100.                 request.getRequestDispatcher("vuelos/vuelos_consulta.jsp").forward(request, response);
  101.             } catch (Exception ex) {
  102.                 System.out.println(ex.getMessage());
  103.                 try {
  104.                     Operaciones.rollback();
  105.                 } catch (SQLException ex1) {
  106.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  107.                 }
  108.             } finally {
  109.                 try {
  110.                     Operaciones.cerrarConexion();
  111.                 } catch (SQLException ex) {
  112.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  113.                 }
  114.             }
  115.         } else if (accion.equals("listado_origen")) {
  116.             try {
  117.                 Conexion conn = new ConexionPool();
  118.                 conn.conectar();
  119.                 Operaciones.abrirConexion(conn);
  120.                 Operaciones.iniciarTransaccion();
  121.                 String sql = "select aero.idaeropuerto, aero.aeropuerto,\n"
  122.                         + "pa.pais, aero.ciudad\n"
  123.                         + "from aeropuerto as aero\n"
  124.                         + "inner join pais as pa on pa.idpais = aero.idpais";
  125.                 String[][] origenes = Operaciones.consultar(sql, null);
  126. //declaracion de cabeceras a usar en la tabla HTML
  127.                 String[] cabeceras = new String[]{
  128.                     "Id Aeropuerto",
  129.                     "Aeropuerto",
  130.                     "Pais",
  131.                     "Ciudad"
  132.                 };
  133. //variable de tipo Tabla para generar la Tabla HTML
  134.                 Tabla tab = new Tabla(origenes, //array que contiene los datos
  135.                         "100%", //ancho de la tabla px | %
  136.                         Tabla.STYLE.TABLE01, //estilo de la tabla
  137.                         Tabla.ALIGN.LEFT, // alineacion de la tabla
  138.                         cabeceras); //array con las cabeceras de la tabla
  139.                 tab.setMetodoFilaSeleccionable("_Seleccionar_");
  140. //url del proyecto
  141.                 tab.setPageContext(request.getContextPath());
  142.                 tab.setFilaSeleccionable(true);
  143. //icono para modificar y eliminar
  144. // tab.setIconoModificable("/iconos/edit.png");
  145. // tab.setIconoEliminable("/iconos/delete.png");
  146. //columnas seleccionables
  147.                 tab.setColumnasSeleccionables(new int[]{1});
  148. //pie de tabla
  149.                 tab.setPie("Resultado Aeropuertos");
  150. //imprime la tabla en pantalla
  151.                 String tabla01 = "No hay datos";
  152.                 if (origenes != null) {
  153.                     tabla01 = tab.getTabla();
  154.                 }
  155.                 request.setAttribute("tabla", tabla01);
  156.                 request.getRequestDispatcher("vuelos/aeropuertos_origen.jsp").forward(request,
  157.                         response);
  158.             } catch (Exception ex) {
  159.                 try {
  160.                     Operaciones.rollback();
  161.                 } catch (SQLException ex1) {
  162.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  163.                 }
  164.             } finally {
  165.                 try {
  166.                     Operaciones.cerrarConexion();
  167.                 } catch (SQLException ex) {
  168.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  169.                 }
  170.             }
  171.         } else if (accion.equals("listado_destino")) {
  172.             try {
  173.                 Conexion conn = new ConexionPool();
  174.                 conn.conectar();
  175.                 Operaciones.abrirConexion(conn);
  176.                 Operaciones.iniciarTransaccion();
  177.                 String sql = "select aero.idaeropuerto, aero.aeropuerto,\n"
  178.                         + "pa.pais, aero.ciudad\n"
  179.                         + "from aeropuerto as aero\n"
  180.                         + "inner join pais as pa on pa.idpais = aero.idpais";
  181.                 String[][] destinos = Operaciones.consultar(sql, null);
  182. //declaracion de cabeceras a usar en la tabla HTML
  183.                 String[] cabeceras = new String[]{
  184.                     "Id Aeropuerto",
  185.                     "Aeropuerto",
  186.                     "Pais",
  187.                     "Ciudad"
  188.                 };
  189. //variable de tipo Tabla para generar la Tabla HTML
  190.                 Tabla tab = new Tabla(destinos, //array que contiene los datos
  191.                         "100%", //ancho de la tabla px | %
  192.                         Tabla.STYLE.TABLE01, //estilo de la tabla
  193.                         Tabla.ALIGN.LEFT, // alineacion de la tabla
  194.                         cabeceras); //array con las cabeceras de la tabla
  195. //url del proyecto
  196.                 tab.setPageContext(request.getContextPath());
  197.                 tab.setFilaSeleccionable(true);
  198.                 tab.setMetodoFilaSeleccionable("_Seleccionar_");
  199. //icono para modificar y eliminar
  200.                 tab.setIconoModificable("/iconos/edit.png");
  201.                 tab.setIconoEliminable("/iconos/delete.png");
  202. //columnas seleccionables
  203.                 tab.setColumnasSeleccionables(new int[]{1});
  204. //pie de tabla
  205.                 tab.setPie("Resultado Aeropuertos");
  206. //imprime la tabla en pantalla
  207.                 String tabla01 = "No hay datos";
  208.                 if (destinos != null) {
  209.                     tabla01 = tab.getTabla();
  210.                 }
  211.                 request.setAttribute("tabla", tabla01);
  212.                 request.setAttribute("tabla", tabla01);
  213.                 request.getRequestDispatcher("vuelos/aeropuertos_destino.jsp").forward(request,
  214.                         response);
  215.             } catch (Exception ex) {
  216.                 try {
  217.                     Operaciones.rollback();
  218.                 } catch (SQLException ex1) {
  219.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  220.                 }
  221.             } finally {
  222.                 try {
  223.                     Operaciones.cerrarConexion();
  224.                 } catch (SQLException ex) {
  225.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  226.                 }
  227.             }
  228.         } else if (accion.equals("listado_avion")) {
  229.             try {
  230.                 Conexion conn = new ConexionPool();
  231.                 conn.conectar();
  232.                 Operaciones.abrirConexion(conn);
  233.                 Operaciones.iniciarTransaccion();
  234.                 String sql = "select idavion, descripcion, capacidad from avion";
  235.                 String[][] aviones = Operaciones.consultar(sql, null);
  236. //declaracion de cabeceras a usar en la tabla HTML
  237.                 String[] cabeceras = new String[]{
  238.                     "Id Avion",
  239.                     "Avion",
  240.                     "Capacidad"
  241.                 };
  242. //variable de tipo Tabla para generar la Tabla HTML
  243.                 Tabla tab = new Tabla(aviones, //array que contiene los datos
  244.                         "100%", //ancho de la tabla px | %
  245.                         Tabla.STYLE.TABLE01, //estilo de la tabla
  246.                         Tabla.ALIGN.LEFT, // alineacion de la tabla
  247.                         cabeceras); //array con las cabeceras de la tabla
  248. //url del proyecto
  249.                 tab.setPageContext(request.getContextPath());
  250.                 tab.setFilaSeleccionable(true);
  251.                 tab.setMetodoFilaSeleccionable("_Seleccionar_");
  252. //icono para modificar y eliminar
  253.                 tab.setIconoModificable("/iconos/edit.png");
  254.                 tab.setIconoEliminable("/iconos/delete.png");
  255. //columnas seleccionables
  256.                 tab.setColumnasSeleccionables(new int[]{1});
  257. //pie de tabla
  258.                 tab.setPie("Resultado Aeropuertos");
  259. //imprime la tabla en pantalla
  260.                 String tabla01 = "No hay datos";
  261.                 if (aviones != null) {
  262.                     tabla01 = tab.getTabla();
  263.                 }
  264.                 request.setAttribute("tabla", tabla01);
  265.                 request.getRequestDispatcher("vuelos/listado_aviones.jsp").forward(request, response);
  266.             } catch (Exception ex) {
  267.                 try {
  268.                     Operaciones.rollback();
  269.                 } catch (SQLException ex1) {
  270.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  271.                 }
  272.             } finally {
  273.                 try {
  274.                     Operaciones.cerrarConexion();
  275.                 } catch (SQLException ex) {
  276.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  277.                 }
  278.             }
  279.         } else if (accion.equals("eliminar")) {
  280.             try {
  281.                 Conexion conn = new ConexionPool();
  282.                 conn.conectar();
  283.                 Operaciones.abrirConexion(conn);
  284.                 Operaciones.iniciarTransaccion();
  285.                 Vuelo p = Operaciones.eliminar(Integer.parseInt(request.getParameter("id")), new Vuelo());
  286.                 if (p.getIdvuelo() != 0) {
  287.                     request.getSession().setAttribute("resultado", 1);
  288.                 } else {
  289.                     request.getSession().setAttribute("resultado", 0);
  290.                 }
  291.                 Operaciones.commit();
  292.             } catch (Exception ex) {
  293.                 try {
  294.                     Operaciones.rollback();
  295.                 } catch (SQLException ex1) {
  296.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  297.                 }
  298.                 request.getSession().setAttribute("resultado", 0);
  299.             } finally {
  300.                 try {
  301.                     Operaciones.cerrarConexion();
  302.                 } catch (SQLException ex) {
  303.                     Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  304.                 }
  305.             }
  306.             response.sendRedirect(request.getContextPath() + "/Vuelos");
  307.         }
  308.     }
  309.  
  310.     @Override
  311.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  312.             throws ServletException, IOException {
  313.         String idorigen = request.getParameter("txtIdorigen");
  314.         String origen = request.getParameter("txtOrigen");
  315.         String fecha = request.getParameter("txtFecha");
  316.         String idavion = request.getParameter("txtIdavion");
  317.         String iddestino = request.getParameter("txtIddestino");
  318.         try {
  319.             Conexion conn = new ConexionPool();
  320.             conn.conectar();
  321.             Operaciones.abrirConexion(conn);
  322.             Operaciones.iniciarTransaccion();
  323.             Vuelo vuelo = new Vuelo();
  324.             vuelo.setIdavion(Integer.parseInt(idavion));
  325.             vuelo.setIdorigen(Integer.parseInt(idorigen));
  326.             vuelo.setIddestino(Integer.parseInt(iddestino));
  327.             vuelo.setEstado("Disponible");
  328.             Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm").parse(fecha);
  329.             vuelo.setFecha(new Timestamp(date.getTime()));
  330.             vuelo = Operaciones.insertar(vuelo);
  331.             if (vuelo.getIdvuelo() != 0) {
  332.                 request.getSession().setAttribute("resultado", 1);
  333.             } else {
  334.                 request.getSession().setAttribute("resultado", 0);
  335.             }
  336.             Operaciones.commit();
  337.             response.sendRedirect(request.getContextPath() + "/Vuelos?idorigen=" + idorigen + "&origen=" + origen);
  338.         } catch (Exception ex) {
  339.             try {
  340.                 Operaciones.rollback();
  341.             } catch (SQLException ex1) {
  342.                 Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex1);
  343.             }
  344.             request.getSession().setAttribute("resultado", 2);
  345.             ex.printStackTrace();
  346.         } finally {
  347.             try {
  348.                 Operaciones.cerrarConexion();
  349.             } catch (SQLException ex) {
  350.                 Logger.getLogger(Paises.class.getName()).log(Level.SEVERE, null, ex);
  351.             }
  352.         }
  353.     }
  354. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement