diff --git a/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java b/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java index fc42eb3..4532e4d 100644 --- a/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java +++ b/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java @@ -1,20 +1,35 @@ package com.roshka.proyectofinal.Postulante; +import com.roshka.proyectofinal.entity.Postulante; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; - import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import static com.roshka.proyectofinal.Postulante.PostulanteDao.*; @WebServlet("/filtros-postulante") public class Filtros extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + List postulantes = listarPostulante(); + String respuesta = req.getParameter("id"); + String nombre = req.getParameter("nombreBuscar"); + if(respuesta != null) { + update(Integer.parseInt(req.getParameter("id"))); + } else if(nombre != null){ + postulantes = buscarPorNombre(nombre); + } + + req.getServletContext().setAttribute("postulantes", postulantes); RequestDispatcher reqDisp= req.getRequestDispatcher("postulante-consulta.jsp"); reqDisp.forward(req,resp); } + } diff --git a/src/main/java/com/roshka/proyectofinal/Postulante/PostulanteDao.java b/src/main/java/com/roshka/proyectofinal/Postulante/PostulanteDao.java index f820d82..0181c33 100644 --- a/src/main/java/com/roshka/proyectofinal/Postulante/PostulanteDao.java +++ b/src/main/java/com/roshka/proyectofinal/Postulante/PostulanteDao.java @@ -4,8 +4,13 @@ import com.roshka.proyectofinal.entity.Postulante; import java.sql.Connection; import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; public class PostulanteDao { + List postulante = null; public static int save(Postulante postulante){ int status=0; @@ -30,4 +35,94 @@ public class PostulanteDao { return status; } + + public static List listarPostulante(){ + List postulante = new ArrayList<>(); + String sql = "select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, a.telefono, a.direccion, " + + "a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, c.nombre_lenguaje as bootcamp, \n" + + "a.aceptado from postulante a\n" + + " inner join bootcamp b on b.id= a.bootcamp_id\n" + + " inner join lenguaje c on c.id=b.id_lenguaje\n" + + " order by a.id;"; + try{ + Connection con= DataBase.getConnection(); + PreparedStatement ps=con.prepareStatement(sql); + ResultSet rs = ps.executeQuery(); + while(rs.next()){ + Postulante postulanteObject = new Postulante(); + postulanteObject.setId(rs.getInt("id")); + postulanteObject.setNombre(rs.getString("nombre")); + postulanteObject.setApellido(rs.getString("apellido")); + postulanteObject.setNroCedula(rs.getInt("nro_cedula")); + postulanteObject.setCorreo(rs.getString("correo")); + postulanteObject.setTelefono(rs.getString("telefono")); + postulanteObject.setDireccion(rs.getString("direccion")); + postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); + postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); + postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); + postulanteObject.setNotebook(rs.getBoolean("notebook")); + postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); + postulanteObject.setAceptado(rs.getBoolean("aceptado")); + postulante.add(postulanteObject); + } + + con.close(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + return postulante; + } + + public static void update(int id){ + try{ + Connection con= DataBase.getConnection(); + PreparedStatement ps=con.prepareStatement("update postulante set aceptado= true\n" + + "where id=?"); + ps.setInt(1,id); + ps.executeUpdate(); + con.close(); + }catch(Exception ex){ + ex.printStackTrace(); + } + } + + public static List buscarPorNombre(String nombre){ + List postulante = null; + Postulante postulanteObject = null; + try{ + Connection con= DataBase.getConnection(); + PreparedStatement ps=con.prepareStatement("select a.id, a.nombre, a.apellido, a.nro_cedula, a.correo, " + + "a.telefono, a.direccion, a.experiencia_laboral, a.estudio_universitario, a.bootcamp_id, a.notebook, " + + "c.nombre_lenguaje as bootcamp, \n" + "a.aceptado from postulante a\n" + + " inner join bootcamp b on b.id= a.bootcamp_id\n" + + " inner join lenguaje c on c.id=b.id_lenguaje\n" + + " where a.nombre ilike ? "); + ps.setString(1, "%" + nombre + "%"); + System.out.println(nombre); + ResultSet rs = ps.executeQuery(); + postulante = new ArrayList<>(); + postulanteObject= new Postulante(); + while(rs.next()){ + + postulanteObject.setId(rs.getInt("id")); + postulanteObject.setNombre(rs.getString("nombre")); + postulanteObject.setApellido(rs.getString("apellido")); + postulanteObject.setNroCedula(rs.getInt("nro_cedula")); + postulanteObject.setCorreo(rs.getString("correo")); + postulanteObject.setTelefono(rs.getString("telefono")); + postulanteObject.setDireccion(rs.getString("direccion")); + postulanteObject.setExpLaboral(rs.getBoolean("experiencia_laboral")); + postulanteObject.setEstudioUniversitario(rs.getBoolean("estudio_universitario")); + postulanteObject.setBootcampId(rs.getInt("bootcamp_id")); + postulanteObject.setNotebook(rs.getBoolean("notebook")); + postulanteObject.setNombreBootcamp(rs.getString("bootcamp")); + postulanteObject.setAceptado(rs.getBoolean("aceptado")); + postulante.add(postulanteObject); + } + con.close(); + }catch(Exception ex){ + ex.printStackTrace(); + } + return postulante; + } } diff --git a/src/main/java/com/roshka/proyectofinal/entity/Postulante.java b/src/main/java/com/roshka/proyectofinal/entity/Postulante.java index 459696f..dd21dc7 100644 --- a/src/main/java/com/roshka/proyectofinal/entity/Postulante.java +++ b/src/main/java/com/roshka/proyectofinal/entity/Postulante.java @@ -5,6 +5,7 @@ package com.roshka.proyectofinal.entity; public class Postulante { private int id,nroCedula,bootcampId; + private String nombreBootcamp; private String nombre,apellido,telefono,direccion,correo; private boolean expLaboral,estudioUniversitario,notebook,aceptado; @@ -27,6 +28,22 @@ public class Postulante { this.bootcampId = bootcampId; this.aceptado = aceptado; } + + public Postulante(int nroCedula, String nombreBootcam, String nombre, String apellido, String telefono, String direccion, String correo, boolean expLaboral, boolean estudioUniversitario, boolean notebook, int bootcampId, boolean aceptado) { + this.nroCedula = nroCedula; + this.nombreBootcamp = nombreBootcam; + this.nombre = nombre; + this.apellido = apellido; + this.telefono = telefono; + this.direccion = direccion; + this.correo = correo; + this.expLaboral = expLaboral; + this.estudioUniversitario = estudioUniversitario; + this.notebook = notebook; + this.bootcampId = bootcampId; + this.aceptado = aceptado; + } + public int getId() { return id; } @@ -97,4 +114,39 @@ public class Postulante { this.bootcampId = bootcampId; } + public void setId(int id) { + this.id = id; + } + + public int getNroCedula() { + return nroCedula; + } + + public void setNroCedula(int nroCedula) { + this.nroCedula = nroCedula; + } + + public String getNombreBootcamp() { + return nombreBootcamp; + } + + public void setNombreBootcamp(String nombreBootcamp) { + this.nombreBootcamp = nombreBootcamp; + } + + public boolean isExpLaboral() { + return expLaboral; + } + + public boolean isEstudioUniversitario() { + return estudioUniversitario; + } + + public boolean isNotebook() { + return notebook; + } + + public boolean isAceptado() { + return aceptado; + } } diff --git a/src/main/webapp/postulante-consulta.jsp b/src/main/webapp/postulante-consulta.jsp index 99c96cc..90da74f 100644 --- a/src/main/webapp/postulante-consulta.jsp +++ b/src/main/webapp/postulante-consulta.jsp @@ -1,14 +1,65 @@ <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %> - + + - -Postulantes Manage + + Postulantes Manage + -
-

${"HOLA JSTL"}

-
+
+

Lista Postulantes

+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#NombreApellidoCedulaCorreoTelefonoDireccionExperiencia laboralEstudio universitarioNotebookBootcampAceptado
${myIndex.index + 1}- ${postulante.nombre} ${postulante.apellido} ${postulante.nroCedula} ${postulante.correo} ${postulante.telefono} ${postulante.direccion} ${postulante.expLaboral} ${postulante.estudioUniversitario} ${postulante.notebook} ${postulante.nombreBootcamp} ${postulante.aceptado} + + + + + + +
+
- + + \ No newline at end of file