diff --git a/curriculumsearch/src/main/java/com/roshka/CurriculumsearchApplication.java b/curriculumsearch/src/main/java/com/roshka/CurriculumsearchApplication.java index d9c5103..173a835 100644 --- a/curriculumsearch/src/main/java/com/roshka/CurriculumsearchApplication.java +++ b/curriculumsearch/src/main/java/com/roshka/CurriculumsearchApplication.java @@ -5,8 +5,11 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; +import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.type.TypeFactory; import com.roshka.modelo.*; import com.roshka.repositorio.*; @@ -35,48 +38,12 @@ public class CurriculumsearchApplication { return args -> { try { // read json and write to db - ObjectMapper mapper = new ObjectMapper(); - TypeReference> typeReference1 = new TypeReference>(){}; - InputStream inputStream = TypeReference.class.getResourceAsStream("/json/Departamento.json"); - List departamento= mapper.readValue(inputStream,typeReference1); - depR.saveAll(departamento); - System.out.println("Departamentos Saved!"); - TypeReference> typeReference2 = new TypeReference>(){}; - inputStream = TypeReference.class.getResourceAsStream("/json/Ciudad.json"); - List ciudades= mapper.readValue(inputStream,typeReference2); - ciudR.saveAll(ciudades); - System.out.println("Cuidad Saved!"); - TypeReference> typeReference3 = new TypeReference>(){}; - inputStream = TypeReference.class.getResourceAsStream("/json/cargo.json"); - List cargos= mapper.readValue(inputStream,typeReference3); - cargoR.saveAll(cargos); - cargoR.flush(); - System.out.println("Cargos Saved!"); - /* TypeReference> typeReference5 = new TypeReference>(){}; - inputStream = TypeReference.class.getResourceAsStream("/json/tecnologia.json"); - List tecnologias= mapper.readValue(inputStream,typeReference5); - tecRepo.saveAll(tecnologias); - tecRepo.flush(); - System.out.println("Cargos Saved!"); */ - TypeReference> typeReference4 = new TypeReference>(){}; - inputStream = TypeReference.class.getResourceAsStream("/json/convocatoria.json"); - List convocatorias= mapper.readValue(inputStream,typeReference4); - convocatorias = convR.saveAll(convocatorias); - convR.flush(); - System.out.println("convocatorias Saved!"); - TypeReference> typeReference = new TypeReference>(){}; - inputStream = TypeReference.class.getResourceAsStream("/json/postulante.json"); - List postulantes = mapper.readValue(inputStream,typeReference); - /* for (Postulante postulante : postulantes) { - for (int i = 0; i < postulante.getPostulaciones().size(); i++) { - - postulante.getPostulaciones().set(i, convR.getById(postulante.getPostulaciones().get(i).getId())); - - - } - } */ - postRepo.saveAll(postulantes); - System.out.println("postulantes Saved!"); + guardarJson(cargoR,"/json/cargo.json",Cargo.class); + guardarJson(convR,"/json/convocatoria.json",ConvocatoriaCargo.class); + guardarJson(depR,"/json/Departamento.json",Departamento.class); + guardarJson(ciudR,"/json/Ciudad.json",Ciudad.class); + guardarJson(postRepo,"/json/postulante.json",Postulante.class); + String password = new BCryptPasswordEncoder().encode("test"); RRHHUser testuser = new RRHHUser(); testuser.setEmail("test@test.com"); @@ -106,20 +73,17 @@ public class CurriculumsearchApplication { }; } - public static > void guardarJson(T repo,String srcJson ) { + public static > void guardarJson(T repo,String srcJson, Class clazz ) throws JsonParseException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); - TypeReference> typeReference1 = new TypeReference>(){}; + TypeFactory t = TypeFactory.defaultInstance(); + //TypeReference> typeReference1 = new TypeReference>(){}; InputStream inputStream = TypeReference.class.getResourceAsStream(srcJson); List listaAguardar; - try { - listaAguardar = mapper.readValue(inputStream,typeReference1); - repo.saveAll(listaAguardar); - repo.flush(); - System.out.println(srcJson+" Saved!"); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + listaAguardar = mapper.readValue(inputStream,t.constructCollectionType(ArrayList.class,clazz)); + repo.saveAll(listaAguardar); + repo.flush(); + System.out.println(srcJson+" Saved!"); + } diff --git a/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java b/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java index 50f80c0..bfc63e9 100644 --- a/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java +++ b/curriculumsearch/src/main/java/com/roshka/DTO/PostulanteListaDTO.java @@ -2,7 +2,9 @@ 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; public class PostulanteListaDTO { @@ -13,8 +15,11 @@ public class PostulanteListaDTO { 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, - Long nivelIngles, Long experienciaMeses, List tecnologias) { + Long nivelIngles, Long experienciaMeses, List tecnologias,EstadoPostulante estado,List convocatoria) { this.id = id; this.nombre = nombre; this.apellido = apellido; @@ -22,6 +27,8 @@ public class PostulanteListaDTO { this.nivelIngles = nivelIngles; this.experienciaMeses = experienciaMeses; this.tecnologias = tecnologias; + this.estado=estado; + this.convocatoria=convocatoria; } public Long getId() { return id; @@ -65,6 +72,20 @@ public class PostulanteListaDTO { public void setTecnologias(List tecnologias) { this.tecnologias = tecnologias; } + public EstadoPostulante getEstado(){ + return estado; + } + public void setEstado(EstadoPostulante estado){ + this.estado=estado; + } + + public List getConvocatoria() { + return this.convocatoria; + } + + public void setConvocatoria(List convocatoria) { + this.convocatoria = convocatoria; + } diff --git a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java index 0398649..283ab2a 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java @@ -14,6 +14,7 @@ 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.EstadoPostulante; import com.roshka.modelo.EstadoCivil; import com.roshka.modelo.Nacionalidad; import com.roshka.modelo.Postulante; @@ -42,6 +43,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.*; @@ -90,12 +92,14 @@ public class PostulanteController { public String postulantes(Model model, @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, @RequestParam(required = false)Long expInMonths, @RequestParam(required = false)Long cargoId, + @RequestParam(required = false)Long convId, @RequestParam(defaultValue = "0")Integer nroPagina ) { final Integer CANTIDAD_POR_PAGINA = 5; @@ -103,7 +107,9 @@ public class PostulanteController { model.addAttribute("tecnologias", tecRepo.findAll()); model.addAttribute("disponibilidades", Disponibilidad.values()); model.addAttribute("institucionesEducativas", institucionRepository.findAll()); - Page postulantesPag = post.postulantesMultiFiltro(nombre == null || nombre.trim().isEmpty() ? new TypedParameterValue(StringType.INSTANCE,null) : new TypedParameterValue(StringType.INSTANCE,"%"+nombre+"%"), dispo, lvlEng, lvlTec, tecId, instId,cargoId,page); + model.addAttribute("estadoP", EstadoPostulante.values()); + model.addAttribute("convocatoriaC", cargoRepo.findAll()); + Page postulantesPag = post.postulantesMultiFiltro(nombre == null || nombre.trim().isEmpty() ? new TypedParameterValue(StringType.INSTANCE,null) : new TypedParameterValue(StringType.INSTANCE,"%"+nombre+"%"),dispo, lvlEng, lvlTec, tecId, instId,cargoId,page,estado,convId); List postulantes = postulantesPag.getContent(); List postulantesDTO = new ArrayList<>(); @@ -115,14 +121,14 @@ public class PostulanteController { 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())); + postulantesDTO.add(new PostulanteListaDTO(postulante.getId(), postulante.getNombre(), postulante.getApellido(), postulante.getDisponibilidad(), postulante.getNivelIngles(), expTotal, postulante.getTecnologias(),postulante.getEstadoPostulante(),postulante.getPostulaciones())); } model.addAttribute("pages", postulantesPag.getTotalPages()); model.addAttribute("postulantes", postulantesDTO); return "postulantes"; } - + @RequestMapping("/postulante") public String getFormPostulante(Model model){ model.addAttribute("tecnologias", tecRepo.findAll()); @@ -140,10 +146,10 @@ public class PostulanteController { er.printStackTrace(); } model.addAttribute("departamentos", depRepo.findAll()); - + return "postulante-form"; } - + @PostMapping(value = "/postulante",consumes = "application/json") public String guardarPostulante(@RequestBody Postulante postulante){ //Codigo encargado de modificar postulacion si se envia mismo CI @@ -155,31 +161,31 @@ public class PostulanteController { postulante.setId(postulantex.getId()); } postulante.getTecnologias().stream().filter( - tec -> tec.getTecnologia().getId() != 0 + tec -> tec.getTecnologia().getId() != 0 ).forEach( - tec -> tec.setTecnologia(tecRepo.getById(tec.getTecnologia().getId())) - ); - /* for (int i = 0; i < postulante.getPostulaciones().size(); i++) { - postulante.getPostulaciones().set(i, cargoRepo.getById(postulante.getPostulaciones().get(i).getId())); - } - */ - - for(Estudio estudio: postulante.getEstudios()){ - String nombreIns = ""; - nombreIns = estudio.getInstitucion().getNombre().toLowerCase(); - Institucion institucion = institucionRepository.findByNombre(nombreIns); - if(institucion==null){ - institucionRepository.save(estudio.getInstitucion()); - }else{ - estudio.setInstitucion(institucion); + tec -> tec.setTecnologia(tecRepo.getById(tec.getTecnologia().getId())) + ); + /* for (int i = 0; i < postulante.getPostulaciones().size(); i++) { + postulante.getPostulaciones().set(i, cargoRepo.getById(postulante.getPostulaciones().get(i).getId())); + } + */ + + for(Estudio estudio: postulante.getEstudios()){ + String nombreIns = ""; + nombreIns = estudio.getInstitucion().getNombre().toLowerCase(); + Institucion institucion = institucionRepository.findByNombre(nombreIns); + if(institucion==null){ + institucionRepository.save(estudio.getInstitucion()); + }else{ + estudio.setInstitucion(institucion); + } + } + post.save(postulante); + return "redirect:/postulacion-correcta"; } - } - post.save(postulante); - return "redirect:/postulacion-correcta"; - } - @GetMapping("/postulacion-correcta") - public String successPostulation(Model model){ + @GetMapping("/postulacion-correcta") + public String successPostulation(Model model){ model.addAttribute("mensaje1", "Tu informacion se ha recibido correctamente!"); model.addAttribute("mensaje2", " espera por que nos pongamos en contacto!"); return "exitoRegistro"; @@ -188,26 +194,38 @@ public class PostulanteController { @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler({MethodArgumentNotValidException.class}) public ResponseEntity handleValidationExceptions( - MethodArgumentNotValidException ex) { + MethodArgumentNotValidException ex) { return ResponseEntity.status(HttpStatus.BAD_REQUEST) .body(ex.getMessage()); - } - - @ResponseStatus(HttpStatus.BAD_REQUEST) - @ExceptionHandler({ConstraintViolationException.class}) - public ResponseEntity handleValidationExceptions2( - ConstraintViolationException ex) { - return ResponseEntity.status(HttpStatus.BAD_REQUEST) - .body(ex.getMessage()); - } - - - - @GetMapping({"/postulante/{postulanteId}"}) - public String getPostulanteDetalle(Model model, @PathVariable("postulanteId") Long postulanteId) { - Postulante p = post.findById(postulanteId).orElse(null); - model.addAttribute("postulante",p); - return "detallepostulante"; - - } - } + } + + @ResponseStatus(HttpStatus.BAD_REQUEST) + @ExceptionHandler({ConstraintViolationException.class}) + public ResponseEntity handleValidationExceptions2( + ConstraintViolationException ex) { + return ResponseEntity.status(HttpStatus.BAD_REQUEST) + .body(ex.getMessage()); + } + + + + @GetMapping({"/postulante/{postulanteId}"}) + public String getPostulanteDetalle(Model model, @PathVariable("postulanteId") Long postulanteId) { + Postulante p = post.findById(postulanteId).orElse(null); + model.addAttribute("postulante",p); + model.addAttribute("estadoP", EstadoPostulante.values()); + return "detallepostulante"; + + } + @PostMapping({"/postulante/{postulanteId}"}) + public String setPostulanteEstado(@ModelAttribute Postulante postulante, BindingResult result, @PathVariable("postulanteId") Long postulanteId) { + //post.setPostulanteEstadoAndComentario(postulante.getEstadoPostulante(),postulante.getComentarioRRHH(), postulante.getId()); + Postulante postulanteVd = post.getById(postulanteId); + postulanteVd.setEstadoPostulante(postulante.getEstadoPostulante()); + postulanteVd.setComentarioRRHH(postulante.getComentarioRRHH()); + post.setPostulanteEstadoAndComentario(postulante.getEstadoPostulante(), postulante.getComentarioRRHH(), postulanteId); + //post.save(postulanteVd); + return "redirect:/postulante/"+postulanteId; + } + } + \ No newline at end of file diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulante.java b/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulante.java new file mode 100644 index 0000000..04983e6 --- /dev/null +++ b/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulante.java @@ -0,0 +1,14 @@ +package com.roshka.modelo; + +public enum EstadoPostulante { + NUEVO("Nuevo"), CONTACTADO("Contactado"), RECHAZADO("Rechazado"), CONTRADADO("Contradado"), VOLVERLLAMAR ("Volver a llamar"); + private final String estado; + + EstadoPostulante(String estado){ + this.estado=estado; + } + + public String getEstado(){ + return this.estado; + } +} diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulanteConverter.java b/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulanteConverter.java new file mode 100644 index 0000000..b2b550d --- /dev/null +++ b/curriculumsearch/src/main/java/com/roshka/modelo/EstadoPostulanteConverter.java @@ -0,0 +1,35 @@ +package com.roshka.modelo; + +import java.util.Arrays; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; + +@Converter(autoApply = true) +public class EstadoPostulanteConverter implements AttributeConverter, org.springframework.core.convert.converter.Converter { + + @Override + public String convertToDatabaseColumn(EstadoPostulante modalidad) { + if (modalidad == null) { + return null; + } + return modalidad.getEstado(); + } + + @Override + public EstadoPostulante convertToEntityAttribute(String estado) { + if (estado == null) { + return null; + } + + return Arrays.stream(EstadoPostulante.values()) + .filter(c -> c.getEstado().equals(estado)) + .findFirst() + .orElseThrow(IllegalArgumentException::new); + } + + @Override + public EstadoPostulante 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 1d99bb5..92b61cd 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/Postulante.java @@ -72,6 +72,13 @@ public class Postulante { @Column(name="estado_civil") @NotNull private EstadoCivil estadoCivil; + + @Column(name="estado_postulante") + @NotNull + private EstadoPostulante estadoPostulante=EstadoPostulante.NUEVO; + @Column(name="comentario_rrhh") + private String comentarioRRHH; + @Column(name="nacionalidad", length = 2) @NotNull @@ -271,4 +278,17 @@ public class Postulante { public List getReferencias() { return referencias; } + public EstadoPostulante getEstadoPostulante() { + return this.estadoPostulante; + } + + public void setEstadoPostulante(EstadoPostulante estadoPostulante) { + this.estadoPostulante = estadoPostulante; + } + public String getComentarioRRHH(){ + return comentarioRRHH; + } + public void setComentarioRRHH(String comentarioRRHH){ + this.comentarioRRHH=comentarioRRHH; + } } diff --git a/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java b/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java index b10de4c..d7fb166 100644 --- a/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java +++ b/curriculumsearch/src/main/java/com/roshka/repositorio/PostulanteRepository.java @@ -2,13 +2,18 @@ package com.roshka.repositorio; import java.util.List; +import javax.transaction.Transactional; + import org.hibernate.jpa.TypedParameterValue; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +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,7 +60,24 @@ public interface PostulanteRepository extends JpaRepository { "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 ) ") - public Page postulantesMultiFiltro(TypedParameterValue nombre, Disponibilidad disponibilidad, Long nivelInges, Long nivel, Long tecnoId, Long instId,Long cargoId, Pageable pageable); + " 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); + + @Transactional + @Modifying + @Query("UPDATE Postulante p SET p.estadoPostulante = ?1 , p.comentarioRRHH = ?2 WHERE p.id = ?3") + void setPostulanteEstadoAndComentario(EstadoPostulante eP, String comentario, Long Id); + + /*@Transactional + @Modifying + @Query("UPDATE Postulante p SET p.estadoPostulante = ?1 WHERE p.id = ?2") + void setPostulanteEstadoPostulante(EstadoPostulante eP, Long Id); + + @Transactional + @Modifying + @Query("UPDATE Postulante p SET p.comentarioRRHH = ?1 WHERE p.id = ?2") + void setPostulanteEstadoComentario( String comentario, Long Id);*/ } diff --git a/curriculumsearch/src/main/webapp/jsp/cargo-form.jsp b/curriculumsearch/src/main/webapp/jsp/cargo-form.jsp index f838bc9..ca2da8d 100644 --- a/curriculumsearch/src/main/webapp/jsp/cargo-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/cargo-form.jsp @@ -1,28 +1,54 @@ -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib +prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page +contentType="text/html;charset=UTF-8" language="java" %> - - - - + + + + Cargo - - - - -
- -
- Nombre del cargo - + + + + + + +
+

Agregar Cargo

+
+ +
+ Nombre del cargo + + +
+
+ +
+
-
- -
- - -
- - \ No newline at end of file +
+ + diff --git a/curriculumsearch/src/main/webapp/jsp/cargos.jsp b/curriculumsearch/src/main/webapp/jsp/cargos.jsp index 5c6f2e9..acda338 100644 --- a/curriculumsearch/src/main/webapp/jsp/cargos.jsp +++ b/curriculumsearch/src/main/webapp/jsp/cargos.jsp @@ -1,49 +1,67 @@ -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib +prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page +contentType="text/html;charset=UTF-8" language="java" %> - - - - + + + + Cargo - - - - -
+ + + + + + +
+

Lista de cargos

+
- - - + + +
Agregar Nuevo Cargo -
-
+
+
- + + + + + + + + - - + + + + - - - - - - - - - - - - - - - -
#Cargo
#Cargo${sta.index+1}${cargo.getNombre()} + Ver Convocatorias + Editar cargo
${sta.index+1}${cargo.getNombre()}Ver ConvocatoriasEditar cargo
+ + + +
- - - \ No newline at end of file + + diff --git a/curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp b/curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp index c5062a8..6653ffd 100644 --- a/curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp @@ -7,36 +7,41 @@ - Cargo + Convocatoria -
- -
- Fecha inicial - - -
-
- Fecha Fin - -
-
- Cupos: - -
-
- Cargo - - - ${cargo.nombre} - - -
- -
+ + +
+

Agregar Convocatoria

+
+ +
+ Fecha inicial + + +
+
+ Fecha Fin + +
+
+ Cupos: + +
+
+ Cargo + + + ${cargo.nombre} + + +
+ +
+
\ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp b/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp index 47703ed..cdec6d8 100644 --- a/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp +++ b/curriculumsearch/src/main/webapp/jsp/convocatorias.jsp @@ -11,57 +11,62 @@ - -
-
- - - Estado: - -
- -
- -
- -
-
-
- Agregar Nueva Convocatoria - - - - - - - - - - - - - - - - - - - - - - - - - + + + +
+

Lista de convocatorias

+
+
+ + + Estado: + +
+ +
+ +
+ + +
+
#CargoFecha DesdeFecha HastaVacantes
${sta.index+1}${convocatoria.getCargo().getNombre()}${convocatoria.getFechaInicio().toString().split(" ")[0]}${convocatoria.getFechaFin().toString().split(" ")[0]}${convocatoria.getCupos()}Ver PostulantesEditar
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
#CargoFecha DesdeFecha HastaVacantes
${sta.index+1}${convocatoria.getCargo().getNombre()}${convocatoria.getFechaInicio().toString().split(" ")[0]}${convocatoria.getFechaFin().toString().split(" ")[0]}${convocatoria.getCupos()}Ver PostulantesEditar
- - - +
diff --git a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp index c6bead7..3eeaffc 100644 --- a/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp +++ b/curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp @@ -2,14 +2,22 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - + + - + + + + Tecnologia + + - -

DETALLE POSTULANTE

-
+ + +
+

DETALLE POSTULANTE

+



@@ -27,8 +35,9 @@


-
- +
+
+


@@ -74,8 +83,37 @@ -
+
+
+

Cambiar Estado del Postulante y Comentario de RRHH

+ + Estado +
+ + + + + + + ${estadoPostulante.getEstado()} + + + + +
+
+ ComentarioRRHH + +
+ +
+ + + +
+
+ \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/header.jsp b/curriculumsearch/src/main/webapp/jsp/header.jsp index b31d9d3..397a029 100644 --- a/curriculumsearch/src/main/webapp/jsp/header.jsp +++ b/curriculumsearch/src/main/webapp/jsp/header.jsp @@ -2,8 +2,54 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
- -
+ + +
\ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/index.jsp b/curriculumsearch/src/main/webapp/jsp/index.jsp index 49f9816..6112019 100644 --- a/curriculumsearch/src/main/webapp/jsp/index.jsp +++ b/curriculumsearch/src/main/webapp/jsp/index.jsp @@ -7,21 +7,16 @@ - - + Document -
- - - Form postulante - Lista de postulantes - Tecnologias - Lista de convocatorias - Lista de cargos + + +
+
+ \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/postulantes.jsp b/curriculumsearch/src/main/webapp/jsp/postulantes.jsp index 0af78b5..bbbedb1 100644 --- a/curriculumsearch/src/main/webapp/jsp/postulantes.jsp +++ b/curriculumsearch/src/main/webapp/jsp/postulantes.jsp @@ -11,13 +11,24 @@ Lista de postulantes - + + + +
+

Lista de Postulantes


+ + + +
@@ -74,6 +92,7 @@ Nivel de Ingles Experiencia Tecnologias + Estado @@ -83,51 +102,53 @@ ${postulante.nombre} ${postulante.apellido} ${postulante.disponibilidad.getDescripcion()} ${postulante.nivelIngles} - ${postulante.experienciaMeses} + ${postulante.experienciaMeses} ${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""} + ${postulante.estado.getEstado()} Ver -
- -
- +
+ +
+
+ \ No newline at end of file diff --git a/curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp b/curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp index caceeea..0470123 100644 --- a/curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp +++ b/curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp @@ -11,22 +11,28 @@ - Hello, world! - - - + + Agregar Tecnologia - - - name: - - + + +
+

Agregar Tecnologia

+
+ + +
+ Nombre: +
+
+ +
+
+
+
diff --git a/curriculumsearch/src/main/webapp/jsp/tecnologias.jsp b/curriculumsearch/src/main/webapp/jsp/tecnologias.jsp index 975ce1b..b0f6899 100644 --- a/curriculumsearch/src/main/webapp/jsp/tecnologias.jsp +++ b/curriculumsearch/src/main/webapp/jsp/tecnologias.jsp @@ -11,38 +11,44 @@ - -
-
- - - -
- Agregar Nueva Tecnologia -
-
- - - - - - - - - - - - - - - - - - - - - -
#Tecnologia
${sta.index+1}${tecnologia.getNombre()}Editar tecnologia
+ + + +
+

Lista de Tecnologias

+ +
+
+ + + +
+ Agregar Nueva Tecnologia +
+
+ + + + + + + + + + + + + + + + + + + + + +
#Tecnologia
${sta.index+1}${tecnologia.getNombre()}Editar tecnologia
+