diff --git a/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java b/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java index bfc63e9..9ecf6e9 100644 --- a/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java +++ b/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java @@ -3,7 +3,6 @@ package com.roshka.DTO; import java.util.List; import com.roshka.modelo.ConvocatoriaCargo; -import com.roshka.modelo.Disponibilidad; import com.roshka.modelo.EstadoPostulante; import com.roshka.modelo.PostulanteTecnologia; @@ -11,19 +10,17 @@ public class PostulanteListaDTO { private Long id; private String nombre; private String apellido; - private Disponibilidad disponibilidad; private Long nivelIngles; private Long experienciaMeses; private List tecnologias; private EstadoPostulante estado; private List convocatoria; - public PostulanteListaDTO(Long id, String nombre, String apellido, Disponibilidad disponibilidad, + public PostulanteListaDTO(Long id, String nombre, String apellido, Long nivelIngles, Long experienciaMeses, List tecnologias,EstadoPostulante estado,List convocatoria) { this.id = id; this.nombre = nombre; this.apellido = apellido; - this.disponibilidad = disponibilidad; this.nivelIngles = nivelIngles; this.experienciaMeses = experienciaMeses; this.tecnologias = tecnologias; @@ -48,12 +45,6 @@ public class PostulanteListaDTO { public void setApellido(String apellido) { this.apellido = apellido; } - public Disponibilidad getDisponibilidad() { - return disponibilidad; - } - public void setDisponibilidad(Disponibilidad disponibilidad) { - this.disponibilidad = disponibilidad; - } public Long getNivelIngles() { return nivelIngles; } diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java index c9bf2bb..8108fe4 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java @@ -10,7 +10,6 @@ import javax.validation.ConstraintViolationException; import com.roshka.modelo.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.roshka.modelo.Disponibilidad; import com.roshka.modelo.EstadoCivil; import com.roshka.modelo.Nacionalidad; import com.roshka.modelo.Postulante; @@ -79,7 +78,6 @@ public class PostulanteController { @RequestMapping(value = "/work-with-us",method = RequestMethod.GET) public String getFormPostulante(Model model){ model.addAttribute("tecnologias", tecRepo.findAll()); - model.addAttribute("disponibilidades", Disponibilidad.values()); model.addAttribute("tiposDeEstudio", TipoDeEstudio.values()); model.addAttribute("estadosEstudio", EstadoEstudio.values()); model.addAttribute("estadosCiviles", EstadoCivil.values()); diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java index 0a01a98..2f526d6 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteRRHHController.java @@ -15,7 +15,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.roshka.DTO.PostulanteListaDTO; import com.roshka.modelo.*; -import com.roshka.modelo.Disponibilidad; import com.roshka.modelo.EstadoPostulante; import com.roshka.modelo.Postulante; import com.roshka.repositorio.*; @@ -91,7 +90,6 @@ public class PostulanteRRHHController { @RequestParam(required = false)Long tecId, @RequestParam(required = false)String nombre, @RequestParam(required = false)EstadoPostulante estado, - @RequestParam(required = false)Disponibilidad dispo, @RequestParam(required = false)Long lvlEng, @RequestParam(required = false)Long lvlTec, @RequestParam(required = false)Long instId, @@ -103,7 +101,6 @@ public class PostulanteRRHHController { final Integer CANTIDAD_POR_PAGINA = 10; Pageable page = PageRequest.of(nroPagina,CANTIDAD_POR_PAGINA,Sort.by("id")); model.addAttribute("tecnologias", tecRepo.findAll()); - model.addAttribute("disponibilidades", Disponibilidad.values()); model.addAttribute("institucionesEducativas", institucionRepository.findAll()); model.addAttribute("estadoP", EstadoPostulante.values()); @@ -120,7 +117,7 @@ public class PostulanteRRHHController { nombre == null || nombre.trim().isEmpty() ? new TypedParameterValue(StringType.INSTANCE,null) : new TypedParameterValue(StringType.INSTANCE,"%"+nombre+"%"), - dispo, lvlEng, lvlTec, tecId, instId,cargoId,page,estado,convId); + lvlEng, lvlTec, tecId, instId,cargoId,page,estado,convId); model.addAttribute("numeroOcurrencias", postulantesPag.getTotalElements()); List postulantes = postulantesPag.getContent(); List postulantesDTO = new ArrayList<>(); @@ -133,7 +130,7 @@ public class PostulanteRRHHController { expTotal += Helper.getMonthsDifference(experiencia.getFechaDesde(), experiencia.getFechaHasta()); } if(expInMonths != null && expInMonths > expTotal) continue; - postulantesDTO.add(new PostulanteListaDTO(postulante.getId(), postulante.getNombre(), postulante.getApellido(), postulante.getDisponibilidad(), postulante.getNivelIngles(), expTotal, postulante.getTecnologias(),postulante.getEstadoPostulante(),postulante.getPostulaciones())); + postulantesDTO.add(new PostulanteListaDTO(postulante.getId(), postulante.getNombre(), postulante.getApellido(), postulante.getNivelIngles(), expTotal, postulante.getTecnologias(),postulante.getEstadoPostulante(),postulante.getPostulaciones())); } model.addAttribute("pages", postulantesPag.getTotalPages()); @@ -151,7 +148,6 @@ public class PostulanteRRHHController { @RequestParam(required = false)Long tecId, @RequestParam(required = false)String nombre, @RequestParam(required = false)EstadoPostulante estado, - @RequestParam(required = false)Disponibilidad dispo, @RequestParam(required = false)Long lvlEng, @RequestParam(required = false)Long lvlTec, @RequestParam(required = false)Long instId, @@ -165,7 +161,7 @@ public class PostulanteRRHHController { nombre == null || nombre.trim().isEmpty() ? new TypedParameterValue(StringType.INSTANCE,null) : new TypedParameterValue(StringType.INSTANCE,"%"+nombre+"%"), - dispo, lvlEng, lvlTec, tecId, instId,cargoId,page,estado,convId); + lvlEng, lvlTec, tecId, instId,cargoId,page,estado,convId); List postulantes = postulantesPag.getContent(); List postulantesDTO = new ArrayList<>(); @@ -177,7 +173,7 @@ public class PostulanteRRHHController { expTotal += Helper.getMonthsDifference(experiencia.getFechaDesde(), experiencia.getFechaHasta()); } if(expInMonths != null && expInMonths > expTotal) continue; - postulantesDTO.add(new PostulanteListaDTO(postulante.getId(), postulante.getNombre(), postulante.getApellido(), postulante.getDisponibilidad(), postulante.getNivelIngles(), expTotal, postulante.getTecnologias(),postulante.getEstadoPostulante(),postulante.getPostulaciones())); + postulantesDTO.add(new PostulanteListaDTO(postulante.getId(), postulante.getNombre(), postulante.getApellido(), postulante.getNivelIngles(), expTotal, postulante.getTecnologias(),postulante.getEstadoPostulante(),postulante.getPostulaciones())); } response.setContentType("application/octet-stream"); diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Disponibilidad.java b/curriculumsearch/src/main/java/com/roshka/modelo/Disponibilidad.java deleted file mode 100644 index 96caf84..0000000 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Disponibilidad.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.roshka.modelo; - -import com.fasterxml.jackson.annotation.JsonValue; - -public enum Disponibilidad { - TIEMPO_COMPLETO("C","Tiempo Completo"), PARCIAL("P","Parcial"); - - private String code; - private String descripcion; - - private Disponibilidad(String code, String descripcion) { - this.code = code; - this.descripcion = descripcion; - } - - @JsonValue - public String getCode() { - return code; - } - - public String getDescripcion() { - return descripcion; - } -} diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/DisponibilidadConverter.java b/curriculumsearch/src/main/java/com/roshka/modelo/DisponibilidadConverter.java deleted file mode 100644 index 93b5f5f..0000000 --- a/curriculumsearch/src/main/java/com/roshka/modelo/DisponibilidadConverter.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.roshka.modelo; - -import java.util.Arrays; - -import javax.persistence.AttributeConverter; -import javax.persistence.Converter; - -@Converter(autoApply = true) -public class DisponibilidadConverter implements AttributeConverter, org.springframework.core.convert.converter.Converter { - - @Override - public String convertToDatabaseColumn(Disponibilidad modalidad) { - if (modalidad == null) { - return null; - } - return modalidad.getCode(); - } - - @Override - public Disponibilidad convertToEntityAttribute(String code) { - if (code == null) { - return null; - } - - return Arrays.stream(Disponibilidad.values()) - .filter(c -> c.getCode().equals(code)) - .findFirst() - .orElseThrow(IllegalArgumentException::new); - } - - @Override - public Disponibilidad convert(String arg0) { - return convertToEntityAttribute(arg0); - } -} diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java b/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java index 6d037a2..8e53fa6 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java @@ -93,8 +93,6 @@ public class Postulante { private TipoDocumento tipoDocumento; - @Column(name = "disponibilidad", length = 2) - private Disponibilidad disponibilidad; @Column(name = "tecnologia_otros") private String tecnologiaOtros; diff --git a/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java b/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java index 72d9b4d..430f968 100644 --- a/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java +++ b/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java @@ -12,7 +12,6 @@ import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import com.roshka.modelo.ConvocatoriaCargo; -import com.roshka.modelo.Disponibilidad; import com.roshka.modelo.EstadoPostulante; import com.roshka.modelo.Postulante; @@ -55,15 +54,15 @@ public interface PostulanteRepository extends JpaRepository { "left join p.tecnologias pt " + "left join p.postulaciones conv " + "where (?1 is null or lower(p.nombre) LIKE lower(?1) or lower(p.apellido) LIKE lower(?1) ) " + - "and (p.disponibilidad = ?2 or ?2 is null) " + - "and (p.nivelIngles >= ?3 or ?3 is null) "+ - "and (pt.nivel >= ?4 or ?4 is null) "+ - "and (pt.tecnologia.id = ?5 or ?5 is null) "+ - " and (e.institucion.id = ?6 or ?6 is null ) "+ - " and (conv.cargoId = ?7 or ?7 is null ) "+ - "and (p.estadoPostulante = ?8 or ?8 is null) "+ - " and (conv.id=?9 or ?9 is null ) ") - public Page postulantesMultiFiltro(TypedParameterValue nombre, Disponibilidad disponibilidad, Long nivelInges, Long nivel, Long tecnoId, Long instId,Long cargoId, Pageable pageable, EstadoPostulante estado, Long convo); + + "and (p.nivelIngles >= ?2 or ?2 is null) "+ + "and (pt.nivel >= ?3 or ?3 is null) "+ + "and (pt.tecnologia.id = ?4 or ?4 is null) "+ + " and (e.institucion.id = ?5 or ?5 is null ) "+ + " and (conv.cargoId = ?6 or ?6 is null ) "+ + "and (p.estadoPostulante = ?7 or ?7 is null) "+ + " and (conv.id=?8 or ?8 is null ) ") + public Page postulantesMultiFiltro(TypedParameterValue nombre, Long nivelInges, Long nivel, Long tecnoId, Long instId,Long cargoId, Pageable pageable, EstadoPostulante estado, Long convo); @Transactional @Modifying diff --git a/curriculumsearch/src/main/resources/json/postulante.json b/curriculumsearch/src/main/resources/json/postulante.json index bbbad5d..015ecfb 100644 --- a/curriculumsearch/src/main/resources/json/postulante.json +++ b/curriculumsearch/src/main/resources/json/postulante.json @@ -13,7 +13,7 @@ "telefono": "(950) 417-3681", "fechaNacimiento": "1986-08-16", "nivelIngles": 1, - "disponibilidad": "C", + "experiencias": [ { @@ -72,7 +72,7 @@ "telefono": "(866) 560-2541", "fechaNacimiento": "1980-09-04", "nivelIngles": 5, - "disponibilidad": "C", + "experiencias": [ { @@ -119,7 +119,7 @@ "telefono": "(876) 580-2411", "fechaNacimiento": "2000-01-28", "nivelIngles": 3, - "disponibilidad": "P", + "experiencias": [ { @@ -166,7 +166,7 @@ "telefono": "(931) 499-3122", "fechaNacimiento": "1972-06-05", "nivelIngles": 4, - "disponibilidad": "C", + "experiencias": [ { @@ -213,7 +213,7 @@ "telefono": "(972) 524-2610", "fechaNacimiento": "1989-09-09", "nivelIngles": 5, - "disponibilidad": "P", + "experiencias": [ { @@ -260,7 +260,7 @@ "telefono": "(933) 501-3525", "fechaNacimiento": "1994-03-24", "nivelIngles": 1, - "disponibilidad": "P", + "experiencias": [ { @@ -307,7 +307,7 @@ "telefono": "(817) 492-2493", "fechaNacimiento": "2002-07-30", "nivelIngles": 5, - "disponibilidad": "P", + "experiencias": [ { diff --git a/curriculumsearch/src/main/resources/static/main.js b/curriculumsearch/src/main/resources/static/main.js index dbbf158..d06f776 100644 --- a/curriculumsearch/src/main/resources/static/main.js +++ b/curriculumsearch/src/main/resources/static/main.js @@ -17,7 +17,6 @@ form = document.querySelector("form"); const depSelect = document.querySelector("#departamentos"); console.log("saddsa", bootstrap) -const modalCargo = bootstrap.Modal.getOrCreateInstance(document.getElementById('cargoForm')) const modalExperiencia = bootstrap.Modal.getOrCreateInstance(document.getElementById('experienciaForm')) const modalTecnologia = bootstrap.Modal.getOrCreateInstance(document.getElementById('tecnologiaForm')) const modalEstudio = bootstrap.Modal.getOrCreateInstance(document.getElementById('estudioForm')) @@ -415,84 +414,6 @@ function eliminarEstudio(index) { //eliminar en html document.getElementById("est-"+index).remove() } -/*------------Cargos----------------------------------------*/ -function agregarFieldCargo(){ - //recoger del form - const pairs = {}; - const formcar = document.querySelector("[name=cargo-form]"); - const formData = new FormData(formcar); - - //Validacion - let returnFlag = false; - - let requiredValues = ["nombre"] - - formData.forEach((value, key)=>{ - if(requiredValues.includes(key) - && value==="" && returnFlag == false){ - console.log(key, value) - returnFlag = true; - } - }); - - if(returnFlag===true){ - let message = "Rellene " - for(let i=0;i option[value="'+pairs["cargo-id"]+'"]').innerHTML} - console.log(postulaciones) - formcar.reset(); - //imprimir lista actualizada - const div = document.querySelector("#cargos") - const div1 = document.createElement('div'); - - let content1='' - for (let index = 0; index < postulaciones.length; index++) { - const car = postulaciones[index]; - if(car==null) continue; - content1 += ` -
- ${document.querySelector('[name=cargo-id] > option[value="'+car.id+'"]').innerHTML}   - -
- - ` - } - //content1 += "" - div.innerHTML = content1 - //div.innerHTML = ''; - //div.appendChild(div1); - cont_cargo++; - document.querySelector("#no-valid-cargo").style.display = "none"; - modalCargo.hide() -} -function eliminarCargoPostulante(event) { - //eliminar del array - postulaciones[event.target.parentElement.id.split("-")[1]]=null - //eliminar en html - event.target.parentElement.remove() -} /*--------------Referencias----------------------------- */ function agregarFieldReferencia(event){ diff --git a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp index 25a745b..53969d3 100644 --- a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp +++ b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp @@ -106,15 +106,6 @@
-
Disponbilidad
-
-
- ${postulante.disponibilidad.getDescripcion()} -
-
-
-
-
Estado
diff --git a/curriculumsearch/src/main/webapp/jsp/detallepostulante2.jsp b/curriculumsearch/src/main/webapp/jsp/detallepostulante2.jsp index 898022f..31ece60 100644 --- a/curriculumsearch/src/main/webapp/jsp/detallepostulante2.jsp +++ b/curriculumsearch/src/main/webapp/jsp/detallepostulante2.jsp @@ -104,15 +104,7 @@

-
-
-
Disponbilidad
-
-
- ${postulante.disponibilidad.getDescripcion()} -
-
-
+
Estado
diff --git a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp index 301ab86..8e67582 100644 --- a/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/postulante-form.jsp @@ -122,8 +122,8 @@
-
- @@ -132,18 +132,11 @@
-
- -
+ -
+
- @@ -155,7 +148,7 @@
-

Cargos

+

Cargos

@@ -283,36 +276,6 @@
- - diff --git a/curriculumsearch/src/main/webapp/jsp/postulantes.jsp b/curriculumsearch/src/main/webapp/jsp/postulantes.jsp index dd4dec2..cbdedb7 100644 --- a/curriculumsearch/src/main/webapp/jsp/postulantes.jsp +++ b/curriculumsearch/src/main/webapp/jsp/postulantes.jsp @@ -26,7 +26,7 @@ Estado - Disponbilidad + Nivel de ingles Institucion Educativa Tecnologias @@ -45,14 +45,6 @@ - - - - - - - - -
+
@@ -287,7 +272,6 @@ # Nombre - Disponibilidad Nivel de Ingles Experiencia Tecnologias @@ -299,7 +283,6 @@ ${staPost.index + 1} ${postulante.nombre} ${postulante.apellido} - ${postulante.disponibilidad.getDescripcion()} ${postulante.nivelIngles}