use of me.kadarh.mecaworks.domain.dtos.BonLivraisonDto in project mecaworks by KadarH.
the class FilterBonsLivraisonController method bons.
@GetMapping("/bl")
public String bons(Model model) {
List<Chantier> list = chantierService.getList();
model.addAttribute("chantiers", list);
model.addAttribute("employes", employeService.getList());
BonLivraisonDto bonLivraisonDto = new BonLivraisonDto();
bonLivraisonDto.setChantierDepart(list.size() != 0 ? list.get(0).getNom() : "");
List<BonLivraison> bonLivraisons = bonFilterService.filterBonLivraison(bonLivraisonDto);
model.addAttribute("page", bonLivraisons);
model.addAttribute("bonLivraisonDto", bonLivraisonDto);
return "user/filter/bonLivraisons";
}
use of me.kadarh.mecaworks.domain.dtos.BonLivraisonDto in project mecaworks by KadarH.
the class BonFilterServiceImpl method filterBonLivraison.
@Override
public List<BonLivraison> filterBonLivraison(BonLivraisonDto bonLivraisonDto) {
try {
String chantier_Depart = bonLivraisonDto.getChantierDepart().equals("") ? null : bonLivraisonDto.getChantierDepart();
String chantier_Arrivee = bonLivraisonDto.getChantierArrivee().equals("") ? null : bonLivraisonDto.getChantierArrivee();
String transporteur = bonLivraisonDto.getTransporteur().equals("") ? null : bonLivraisonDto.getTransporteur();
String pompiste = bonLivraisonDto.getPompiste().equals("") ? null : bonLivraisonDto.getPompiste();
BonLivraison bonLivraison = new BonLivraison();
bonLivraison.setQuantite(null);
Chantier chantierDepart = new Chantier();
chantierDepart.setNom(chantier_Depart);
chantierDepart.setStock(null);
Chantier chantierArrivee = new Chantier();
chantierArrivee.setNom(chantier_Arrivee);
chantierArrivee.setStock(null);
Employe trans = new Employe();
trans.setNom(transporteur);
Employe pompist = new Employe();
pompist.setNom(pompiste);
bonLivraison.setChantierDepart(chantierDepart);
bonLivraison.setChantierArrivee(chantierArrivee);
bonLivraison.setPompiste(pompist);
bonLivraison.setTransporteur(trans);
ExampleMatcher matcher = ExampleMatcher.matchingAll().withStringMatcher(ExampleMatcher.StringMatcher.EXACT).withIgnoreCase().withIgnoreNullValues();
Example<BonLivraison> example = Example.of(bonLivraison, matcher);
log.debug("getting search results");
List<BonLivraison> page = bonLivraisonRepo.findAll(example);
try {
page = page.stream().filter(bonLivraison1 -> bonLivraison1.getDate().isBefore(LocalDate.parse(bonLivraisonDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonLivraison1.getDate().isEqual(LocalDate.parse(bonLivraisonDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))).filter(bonLivraison1 -> bonLivraison1.getDate().isAfter(LocalDate.parse(bonLivraisonDto.getDateFrom(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonLivraison1.getDate().isEqual(LocalDate.parse(bonLivraisonDto.getDateFrom(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))).collect(Collectors.toList());
} catch (DateTimeParseException e) {
return page;
}
log.debug("filter by dates successfully");
return page;
} catch (Exception e) {
log.debug("Failed retrieving list of bons");
throw new OperationFailedException("Operation échouée", e);
}
}
Aggregations