Commit 44ebf50e by willgonzz

filtro de busqueda por cargo y convocatoria

parent c5d9d805
...@@ -5,9 +5,8 @@ import java.util.ArrayList; ...@@ -5,9 +5,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.roshka.DTO.PostulanteListaDTO; import com.roshka.DTO.PostulanteListaDTO;
import com.roshka.modelo.*; import com.roshka.modelo.*;
import com.roshka.modelo.Disponibilidad; import com.roshka.modelo.Disponibilidad;
...@@ -97,7 +96,15 @@ public class PostulanteRRHHController { ...@@ -97,7 +96,15 @@ public class PostulanteRRHHController {
model.addAttribute("disponibilidades", Disponibilidad.values()); model.addAttribute("disponibilidades", Disponibilidad.values());
model.addAttribute("institucionesEducativas", institucionRepository.findAll()); model.addAttribute("institucionesEducativas", institucionRepository.findAll());
model.addAttribute("estadoP", EstadoPostulante.values()); model.addAttribute("estadoP", EstadoPostulante.values());
model.addAttribute("convocatoriaC", cargoRepo.findAll()); model.addAttribute("cargos", carRepo.findAll());
model.addAttribute("cargoRepo", cargoRepo);
//model.addAttribute("convocatoriaC", cargoRepo.findAll());
try {
model.addAttribute("convocatoriaC", new ObjectMapper().writeValueAsString(cargoRepo.findAll()));
} catch (JsonProcessingException er) {
// TODO Auto-generated catch block
er.printStackTrace();
}
Page<Postulante> 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); Page<Postulante> 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<Postulante> postulantes = postulantesPag.getContent(); List<Postulante> postulantes = postulantesPag.getContent();
List<PostulanteListaDTO> postulantesDTO = new ArrayList<>(); List<PostulanteListaDTO> postulantesDTO = new ArrayList<>();
......
...@@ -26,6 +26,22 @@ public class Cargo { ...@@ -26,6 +26,22 @@ public class Cargo {
@Column(name = "nombre") @Column(name = "nombre")
private String nombre; private String nombre;
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
@OneToMany(mappedBy = "cargo") @OneToMany(mappedBy = "cargo")
@JsonManagedReference @JsonManagedReference
private List<ConvocatoriaCargo> convocatorias; private List<ConvocatoriaCargo> convocatorias;
......
const cargoSelect = document.querySelector("#cargoId");
function listarConvocatorias(id){
const ConvocatoriaAmostrar = convocatorias.filter(c=>c.cargoId==id);
const convocatoria = document.querySelector("select[name=convId]");
const frag = document.createDocumentFragment();
for (const conv of ConvocatoriaAmostrar) {
const opt = document.createElement("option");
opt.value = conv.id;
if(conv.fechaFin!=null){
opt.innerHTML ="Desde :"+new Date(conv.fechaInicio)+"-"+" Hasta :"+new Date(conv.fechaFin);
}else{
opt.innerHTML ="Desde :"+new Date(conv.fechaInicio)
}
opt.setAttribute("data-CargoId",conv.cargoId);
frag.appendChild(opt)
}
convocatoria.replaceChildren(frag);
}
listarConvocatorias(cargoSelect.value);
cargoSelect.addEventListener("change",evt => listarConvocatorias(evt.target.value))
...@@ -151,20 +151,33 @@ ...@@ -151,20 +151,33 @@
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<div class="col-auto col-md-4"> <div class="col-auto col-md-4">
<label class="form-label" for="convId">Convocatoria</label> <label class="form-label" for="cargoId">Cargo</label>
</div> </div>
<div class="col-auto col-md-8"> <div class="col-auto col-md-8">
<select class="form-select form-select-sm " name="convId" id="convId"> <select class="form-select form-select-sm " name="cargoId" id="cargoId">
<option value="">Seleccione una opcion</option> <option value="">Seleccione una opcion</option>
<c:forEach items="${convocatoriaC}" var="convo"> <c:forEach items="${cargos}" var="cargo">
<option value="${convo.id}" ${param.convId == convo.id ? "selected" : ""}>${convo.getCargo().getNombre()}</option> <option value="${cargo.id}" ${param.cargoId == cargo.id ? "selected" : ""}>${cargo.getNombre()}</option>
</c:forEach> </c:forEach>
</select> </select>
</div> </div>
</div> </div>
</div> </div>
</div>
</form> <div class="col">
<div class="row">
<div class="col-auto col-md-4">
<label class="form-label" for="convId">Convocatoria</label>
</div>
<div class="col-auto col-md-8">
<select class="form-select form-select-sm " name="convId" id="convId">
<option value="">Seleccione una opcion</option>
</select>
</div>
</div>
</div>
</div>
</form>
</div> </div>
<div class="card text-dark bg-light mt-3"> <div class="card text-dark bg-light mt-3">
...@@ -219,10 +232,15 @@ ...@@ -219,10 +232,15 @@
</div> </div>
</div> </div>
</layout:put> </layout:put>
<layout:put block="scripts" type="APPEND"> <layout:put block="scripts" type="APPEND">
<script> <script>
var convocatorias = ${convocatoriaC};
</script>
<script src="./Convo.js"></script>
<script>
function habilitarLvlTec(){ function habilitarLvlTec(){
//si se selecciono una tecnologia entonces permitir seleccionar un nivel //si se selecciono una tecnologia entonces permitir seleccionar un nivel
lvlTec.disabled = tecId.value == false lvlTec.disabled = tecId.value == false
...@@ -231,6 +249,7 @@ ...@@ -231,6 +249,7 @@
} }
} }
function buscarPagina(nro){ function buscarPagina(nro){
nro-- nro--
const aBuscar = 'nroPagina='+nro const aBuscar = 'nroPagina='+nro
...@@ -245,6 +264,8 @@ ...@@ -245,6 +264,8 @@
const lvlTec = document.querySelector("#lvlTec"); const lvlTec = document.querySelector("#lvlTec");
tecId.addEventListener('change',habilitarLvlTec); tecId.addEventListener('change',habilitarLvlTec);
habilitarLvlTec() habilitarLvlTec()
</script> </script>
</layout:put> </layout:put>
</layout:extends> </layout:extends>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment