From 86dda698140c52a30b9fb5c3b152600e753e6b70 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 8 Nov 2021 10:41:31 -0300 Subject: [PATCH] filtros en listado de convocatorias --- curriculumsearch/src/main/java/com/roshka/controller/CargoController.java | 14 ++++++++++++-- curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java | 4 ++-- curriculumsearch/src/main/java/com/roshka/repositorio/ConvocatoriaRepository.java | 6 ++++++ curriculumsearch/src/main/webapp/jsp/cargo.jsp | 34 ++++++++++++++++++++-------------- 4 files changed, 40 insertions(+), 18 deletions(-) diff --git a/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java b/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java index 6244e57..1555efd 100644 --- a/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java +++ b/curriculumsearch/src/main/java/com/roshka/controller/CargoController.java @@ -1,10 +1,15 @@ package com.roshka.controller; +import java.util.Date; + import com.roshka.modelo.Cargo; import com.roshka.modelo.ConvocatoriaCargo; import com.roshka.repositorio.CargoRepository; import com.roshka.repositorio.ConvocatoriaRepository; +import org.hibernate.jpa.TypedParameterValue; +import org.hibernate.type.IntegerType; +import org.hibernate.type.LongType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -27,10 +32,15 @@ public class CargoController { } @RequestMapping("/cargos") - public String menuCargos(Model model,@RequestParam(required = false) Long cargoId) { + public String menuCargos(Model model, + @RequestParam(required = false) Long cargoId, + @RequestParam(required = false) Integer isOpen//1: true, 0: false + ) { model.addAttribute("cargos", cargoRepo.findAll()); - model.addAttribute("convocatorias",cargoId==null? convoRepo.findAll() : convoRepo.findByCargoId(cargoId)); + + model.addAttribute("convocatorias", convoRepo.f1ndByCargoAndEstado(new TypedParameterValue(LongType.INSTANCE, cargoId), new Date(), new TypedParameterValue(IntegerType.INSTANCE, isOpen))); + //model.addAttribute("convocatorias",cargoId==null? convoRepo.findAll() : convoRepo.findByCargoId(cargoId)); return "cargo"; } diff --git a/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java b/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java index 7a424e3..c722df4 100644 --- a/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java +++ b/curriculumsearch/src/main/java/com/roshka/modelo/ConvocatoriaCargo.java @@ -41,11 +41,11 @@ public class ConvocatoriaCargo { @Column(name = "cupos") private int cupos; - //para serializar en el form como string + //para deserializar desde el form como string @Transient private String fechaFinS; - //para serializar en el form como string + //para deserializar desde el form como string @Transient private String fechaInicioS; diff --git a/curriculumsearch/src/main/java/com/roshka/repositorio/ConvocatoriaRepository.java b/curriculumsearch/src/main/java/com/roshka/repositorio/ConvocatoriaRepository.java index 3892883..e30b295 100644 --- a/curriculumsearch/src/main/java/com/roshka/repositorio/ConvocatoriaRepository.java +++ b/curriculumsearch/src/main/java/com/roshka/repositorio/ConvocatoriaRepository.java @@ -1,11 +1,17 @@ package com.roshka.repositorio; +import java.util.Date; import java.util.List; import com.roshka.modelo.ConvocatoriaCargo; +import org.hibernate.jpa.TypedParameterValue; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; public interface ConvocatoriaRepository extends JpaRepository { public List findByCargoId(Long cargoId); + + @Query("select c from ConvocatoriaCargo c where ( ?1 is null and ?3 is null) or ( ( ( (c.fechaFin > ?2 and ?3 = 1) or (c.fechaFin < ?2 and ?3 = 0)) or ?3 is null ) and (c.cargoId = ?1 or ?1 is null) )") + public List f1ndByCargoAndEstado(TypedParameterValue cargoId, Date fecha, TypedParameterValue isOpen); } diff --git a/curriculumsearch/src/main/webapp/jsp/cargo.jsp b/curriculumsearch/src/main/webapp/jsp/cargo.jsp index 50d293d..e5d7667 100644 --- a/curriculumsearch/src/main/webapp/jsp/cargo.jsp +++ b/curriculumsearch/src/main/webapp/jsp/cargo.jsp @@ -13,13 +13,23 @@
- Cargos: - +
+ + + Estado: + +
+ +
+ +
+ +
Agregar Nuevo Cargo
@@ -28,6 +38,7 @@ # + Cargo Fecha Desde Fecha Hasta Vacantes @@ -38,6 +49,7 @@ ${sta.index+1} + ${convocatoria.getCargo().getNombre()} ${convocatoria.getFechaInicio().toString().split(" ")[0]} ${convocatoria.getFechaFin().toString().split(" ")[0]} ${convocatoria.getCupos()} @@ -50,12 +62,6 @@
- + \ No newline at end of file -- libgit2 0.26.0