mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-23 15:55:49 +00:00
Filtro por municipio
This commit is contained in:
parent
b54203910a
commit
ec1aa03750
10 changed files with 78 additions and 35 deletions
|
@ -4,6 +4,7 @@ package org.springframework.cheapy.repository;
|
|||
import java.util.List;
|
||||
|
||||
import org.springframework.cheapy.model.FoodOffer;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
@ -43,8 +44,8 @@ public interface FoodOfferRepository extends PagingAndSortingRepository<FoodOffe
|
|||
@Transactional(readOnly = true)
|
||||
List<FoodOffer> findFoodOfferByClientFood(String name);
|
||||
|
||||
@Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.municipio =:municip AND foodOffer.status= 'active'")
|
||||
@Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.municipio =:municipio AND foodOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<FoodOffer> findFoodOfferByClientPlace(String municip);
|
||||
List<FoodOffer> findFoodOfferByClientPlace(Municipio municipio);
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
package org.springframework.cheapy.repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.NuOffer;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -31,12 +33,16 @@ public interface NuOfferRepository extends PagingAndSortingRepository<NuOffer, I
|
|||
@Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.id =:id AND nuOffer.status!= 'inactive'")
|
||||
@Transactional(readOnly = true)
|
||||
List<NuOffer> findNuOfferActOclByUserId(@Param("id") Integer id);
|
||||
|
||||
|
||||
@Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.name LIKE :name AND nuOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<NuOffer> findNuOfferByClientName(String name);
|
||||
|
||||
|
||||
@Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.food LIKE :name AND nuOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<NuOffer> findNuOfferByClientFood(String name);
|
||||
|
||||
@Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.municipio =:municipio AND nuOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<NuOffer> findNuOfferByClientPlace(Municipio municipio);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.springframework.cheapy.repository;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.SpeedOffer;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -34,12 +35,16 @@ public interface SpeedOfferRepository extends PagingAndSortingRepository<SpeedOf
|
|||
@Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.id =:id AND speedOffer.status!= 'inactive'")
|
||||
@Transactional(readOnly = true)
|
||||
List<SpeedOffer> findSpeedOfferActOclByUserId(@Param("id") Integer id);
|
||||
|
||||
|
||||
@Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.name LIKE :name AND speedOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<SpeedOffer> findSpeedOfferByClientName(String name);
|
||||
|
||||
|
||||
@Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.food LIKE :name AND speedOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<SpeedOffer> findSpeedOfferByClientFood(String name);
|
||||
|
||||
@Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.municipio =:municipio AND speedOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<SpeedOffer> findSpeedOfferByClientPlace(Municipio municipio);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ package org.springframework.cheapy.repository;
|
|||
import java.util.List;
|
||||
|
||||
import org.springframework.cheapy.model.FoodOffer;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.cheapy.model.TimeOffer;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -33,12 +34,16 @@ public interface TimeOfferRepository extends PagingAndSortingRepository<FoodOffe
|
|||
@Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.id =:id AND timeOffer.status!= 'inactive'")
|
||||
@Transactional(readOnly = true)
|
||||
List<TimeOffer> findTimeOfferActOclByUserId(@Param("id") Integer id);
|
||||
|
||||
|
||||
@Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.name LIKE :name AND timeOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<TimeOffer> findTimeOfferByClientName(String name);
|
||||
|
||||
|
||||
@Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.food LIKE :name AND timeOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<TimeOffer> findTimeOfferByClientFood(String name);
|
||||
|
||||
@Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.municipio =:municipio AND timeOffer.status= 'active'")
|
||||
@Transactional(readOnly = true)
|
||||
List<TimeOffer> findTimeOfferByClientPlace(Municipio municipio);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cheapy.model.FoodOffer;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.cheapy.repository.FoodOfferRepository;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
@ -56,7 +57,7 @@ public class FoodOfferService {
|
|||
return this.foodOfferRepository.findFoodOfferByClientFood(nameEdit);
|
||||
}
|
||||
|
||||
public List<FoodOffer> findFoodOfferByClientPlace(final String municip) {
|
||||
public List<FoodOffer> findFoodOfferByClientPlace(final Municipio municip) {
|
||||
return this.foodOfferRepository.findFoodOfferByClientPlace(municip);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ package org.springframework.cheapy.service;
|
|||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.NuOffer;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.cheapy.repository.NuOfferRepository;
|
||||
|
@ -54,14 +55,18 @@ public class NuOfferService {
|
|||
public List<NuOffer> findNuOfferActOclByUserId(final int id) {
|
||||
return this.nuOfferRepository.findNuOfferActOclByUserId(id);
|
||||
}
|
||||
|
||||
public List<NuOffer> findNuOfferByClientName(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<NuOffer> findNuOfferByClientName(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.nuOfferRepository.findNuOfferByClientName(nameEdit);
|
||||
}
|
||||
|
||||
public List<NuOffer> findNuOfferByClientFood(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<NuOffer> findNuOfferByClientFood(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.nuOfferRepository.findNuOfferByClientFood(nameEdit);
|
||||
}
|
||||
|
||||
public List<NuOffer> findNuOfferByClientPlace(final Municipio mun) {
|
||||
return this.nuOfferRepository.findNuOfferByClientPlace(mun);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ package org.springframework.cheapy.service;
|
|||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.SpeedOffer;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.cheapy.repository.SpeedOfferRepository;
|
||||
|
@ -49,14 +50,18 @@ public class SpeedOfferService {
|
|||
public List<SpeedOffer> findSpeedOfferActOclByUserId(final int id) {
|
||||
return this.speedOfferRepository.findSpeedOfferActOclByUserId(id);
|
||||
}
|
||||
|
||||
public List<SpeedOffer> findSpeedOfferByClientName(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<SpeedOffer> findSpeedOfferByClientName(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.speedOfferRepository.findSpeedOfferByClientName(nameEdit);
|
||||
}
|
||||
|
||||
public List<SpeedOffer> findSpeedOfferByClientFood(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<SpeedOffer> findSpeedOfferByClientFood(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.speedOfferRepository.findSpeedOfferByClientFood(nameEdit);
|
||||
}
|
||||
|
||||
public List<SpeedOffer> findSpeedOfferByClientPlace(final Municipio mun) {
|
||||
return this.speedOfferRepository.findSpeedOfferByClientPlace(mun);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ package org.springframework.cheapy.service;
|
|||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.StatusOffer;
|
||||
import org.springframework.cheapy.model.TimeOffer;
|
||||
import org.springframework.cheapy.repository.TimeOfferRepository;
|
||||
|
@ -45,14 +46,18 @@ public class TimeOfferService {
|
|||
public List<TimeOffer> findTimeOfferActOclByUserId(final int id) {
|
||||
return this.timeOfferRepository.findTimeOfferActOclByUserId(id);
|
||||
}
|
||||
|
||||
public List<TimeOffer> findTimeOfferByClientName(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<TimeOffer> findTimeOfferByClientName(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.timeOfferRepository.findTimeOfferByClientName(nameEdit);
|
||||
}
|
||||
|
||||
public List<TimeOffer> findTimeOfferByClientFood(String name) {
|
||||
String nameEdit = "%"+name+"%";
|
||||
|
||||
public List<TimeOffer> findTimeOfferByClientFood(final String name) {
|
||||
String nameEdit = "%" + name + "%";
|
||||
return this.timeOfferRepository.findTimeOfferByClientFood(nameEdit);
|
||||
}
|
||||
|
||||
public List<TimeOffer> findTimeOfferByClientPlace(final Municipio mun) {
|
||||
return this.timeOfferRepository.findTimeOfferByClientPlace(mun);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import java.time.format.DateTimeFormatter;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.cheapy.model.FoodOffer;
|
||||
import org.springframework.cheapy.model.Municipio;
|
||||
import org.springframework.cheapy.model.NuOffer;
|
||||
|
@ -108,10 +110,17 @@ public class OfertaController {
|
|||
}
|
||||
|
||||
@GetMapping("/offersByPlace")
|
||||
public String processFindFormByPlace(final Map<String, Object> model, final String municip) {
|
||||
public String processFindFormByPlace(final Map<String, Object> model, final HttpServletRequest request) {
|
||||
Municipio mun = Municipio.valueOf(request.getParameter("municipio"));
|
||||
|
||||
List<FoodOffer> foodOfferLs = this.foodOfferService.findFoodOfferByClientPlace(municip);
|
||||
List<FoodOffer> foodOfferLs = this.foodOfferService.findFoodOfferByClientPlace(mun);
|
||||
List<NuOffer> nuOfferLs = this.nuOfferService.findNuOfferByClientPlace(mun);
|
||||
List<SpeedOffer> speedOfferLs = this.speedOfferService.findSpeedOfferByClientPlace(mun);
|
||||
List<TimeOffer> timeOfferLs = this.timeOfferService.findTimeOfferByClientPlace(mun);
|
||||
model.put("foodOfferLs", foodOfferLs);
|
||||
model.put("nuOfferLs", nuOfferLs);
|
||||
model.put("speedOfferLs", speedOfferLs);
|
||||
model.put("timeOfferLs", timeOfferLs);
|
||||
|
||||
// Añade la lista de municipios al desplegable
|
||||
model.put("municipios", Municipio.values());
|
||||
|
|
|
@ -50,13 +50,14 @@
|
|||
</form>
|
||||
|
||||
<form class="example" action="/offersByPlace">
|
||||
<select name="municipios">
|
||||
<option value="" label="Chose Type" />
|
||||
<options value="${municipios}"/>
|
||||
<select>
|
||||
<button type="submit">Buscar por municipio</button>
|
||||
<select name="municipio">
|
||||
<option value="">Escoge municipio</option>
|
||||
<c:forEach items="${municipios}" var="entry">
|
||||
<option value="${entry}">${entry}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<button type="submit">Buscar por municipio</button>
|
||||
</form>
|
||||
|
||||
|
||||
<h2 style="text-align:center;padding:5px"><fmt:message key="foodOffers"/></h2>
|
||||
|
||||
|
|
Loading…
Reference in a new issue