Search in sources :

Example 1 with OperationFailedException

use of me.kadarh.mecaworks.service.exceptions.OperationFailedException in project mecaworks by KadarH.

the class BonFilterServiceImpl method filterEngins.

@Override
public List<BonEngin> filterEngins(BonEnginDto bonEnginDto) {
    try {
        // if dateFrom and dateTo was not set, get bons for the past week.
        if (bonEnginDto.getDateFrom().equals("") && bonEnginDto.getDateTo().equals("")) {
            bonEnginDto.setDateFrom((LocalDate.now().minus(6, ChronoUnit.DAYS)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
            bonEnginDto.setDateTo(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
        }
        List<BonEngin> bonEngins = filterBonEngin(bonEnginDto);
        // sort by engin & date
        bonEngins.sort((o1, o2) -> {
            if (o1.getEngin().getCode().equals(o2.getEngin().getCode()))
                return o1.getDate().compareTo(o2.getDate());
            return o1.getEngin().getCode().compareTo(o2.getEngin().getCode());
        });
        if (bonEngins.size() == 0)
            return bonEngins;
        List<BonEngin> list = new ArrayList<>();
        BonEngin help = new BonEngin(bonEngins.get(0));
        float consommationKmMoyenne = 0;
        float consommationHMoyenne = 0;
        int totalH = 0;
        int totalKm = 0;
        long nbH = 0;
        long nbKm = 0;
        for (BonEngin bonEngin : bonEngins) {
            if (help.getEngin().getCode().equals(bonEngin.getEngin().getCode())) {
                consommationHMoyenne += bonEngin.getConsommationH();
                consommationKmMoyenne += bonEngin.getConsommationKm();
                if (bonEngin.getConsommationH() != 0)
                    totalH++;
                if (bonEngin.getConsommationKm() != 0)
                    totalKm++;
                nbH += bonEngin.getNbrHeures();
                nbKm += bonEngin.getNbrKm();
            } else {
                help.setChargeHoraire((long) (consommationHMoyenne / totalH));
                help.setConsommationPrevu((long) (consommationKmMoyenne / totalKm));
                help.setNbrKm(nbKm);
                help.setNbrHeures(nbH);
                list.add(help);
                consommationHMoyenne = bonEngin.getConsommationH();
                consommationKmMoyenne = bonEngin.getConsommationKm();
                totalH = bonEngin.getConsommationH() != 0 ? 1 : 0;
                totalKm = bonEngin.getConsommationKm() != 0 ? 1 : 0;
                nbH = bonEngin.getNbrHeures();
                nbKm = bonEngin.getNbrKm();
            }
            help = new BonEngin(bonEngin);
        }
        help.setChargeHoraire((long) (consommationHMoyenne / totalH));
        help.setConsommationPrevu((long) (consommationKmMoyenne / totalKm));
        help.setNbrKm(nbKm);
        help.setNbrHeures(nbH);
        list.add(help);
        return list;
    } catch (Exception e) {
        log.debug("Failed retrieving list of Engins");
        throw new OperationFailedException("Operation échouée", e);
    }
}
Also used : BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) ArrayList(java.util.ArrayList) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DateTimeParseException(java.time.format.DateTimeParseException)

Example 2 with OperationFailedException

use of me.kadarh.mecaworks.service.exceptions.OperationFailedException in project mecaworks by KadarH.

the class BonFilterServiceImpl method filterBonFournisseur.

@Override
public List<BonFournisseur> filterBonFournisseur(BonFournisseurDto bonFournisseurDto) {
    try {
        String ch = bonFournisseurDto.getChantier().equals("") ? null : bonFournisseurDto.getChantier();
        String fournisseur = bonFournisseurDto.getFournisseur().equals("") ? null : bonFournisseurDto.getFournisseur();
        BonFournisseur bonFournisseur = new BonFournisseur();
        bonFournisseur.setQuantite(null);
        Chantier chantier = new Chantier();
        chantier.setNom(ch);
        chantier.setStock(null);
        Fournisseur fournisseur1 = new Fournisseur();
        fournisseur1.setNom(fournisseur);
        bonFournisseur.setChantier(chantier);
        bonFournisseur.setFournisseur(fournisseur1);
        ExampleMatcher matcher = ExampleMatcher.matchingAll().withStringMatcher(ExampleMatcher.StringMatcher.EXACT).withIgnoreCase().withIgnoreNullValues();
        Example<BonFournisseur> example = Example.of(bonFournisseur, matcher);
        log.debug("getting search results");
        List<BonFournisseur> page = bonFournisseurRepo.findAll(example);
        try {
            page = page.stream().filter(bonFournisseur1 -> bonFournisseur1.getDate().isBefore(LocalDate.parse(bonFournisseurDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonFournisseur1.getDate().isEqual(LocalDate.parse(bonFournisseurDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))).filter(bonFournisseur1 -> bonFournisseur1.getDate().isAfter(LocalDate.parse(bonFournisseurDto.getDateFrom(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonFournisseur1.getDate().isEqual(LocalDate.parse(bonFournisseurDto.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 Fournisseur");
        throw new OperationFailedException("Operation échouée", e);
    }
}
Also used : BonEnginRepo(me.kadarh.mecaworks.repo.bons.BonEnginRepo) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) ExampleMatcher(org.springframework.data.domain.ExampleMatcher) BonEnginDto(me.kadarh.mecaworks.domain.dtos.BonEnginDto) Example(org.springframework.data.domain.Example) Collectors(java.util.stream.Collectors) BonFournisseurDto(me.kadarh.mecaworks.domain.dtos.BonFournisseurDto) BonFilterService(me.kadarh.mecaworks.service.bons.BonFilterService) ArrayList(java.util.ArrayList) Slf4j(lombok.extern.slf4j.Slf4j) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DateTimeParseException(java.time.format.DateTimeParseException) List(java.util.List) BonFournisseurRepo(me.kadarh.mecaworks.repo.bons.BonFournisseurRepo) ChronoUnit(java.time.temporal.ChronoUnit) Service(org.springframework.stereotype.Service) LocalDate(java.time.LocalDate) DateTimeFormatter(java.time.format.DateTimeFormatter) BonLivraisonRepo(me.kadarh.mecaworks.repo.bons.BonLivraisonRepo) BonLivraisonDto(me.kadarh.mecaworks.domain.dtos.BonLivraisonDto) me.kadarh.mecaworks.domain.others(me.kadarh.mecaworks.domain.others) Transactional(org.springframework.transaction.annotation.Transactional) DateTimeParseException(java.time.format.DateTimeParseException) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) ExampleMatcher(org.springframework.data.domain.ExampleMatcher) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DateTimeParseException(java.time.format.DateTimeParseException)

Example 3 with OperationFailedException

use of me.kadarh.mecaworks.service.exceptions.OperationFailedException in project mecaworks by KadarH.

the class BonFilterServiceImpl method filterBonEngin.

@Override
public List<BonEngin> filterBonEngin(BonEnginDto bonEnginDto) {
    try {
        String famille = bonEnginDto.getFamille().equals("") ? null : bonEnginDto.getFamille();
        String classe = bonEnginDto.getClasse().equals("") ? null : bonEnginDto.getClasse();
        String engin = bonEnginDto.getCodeEngin().equals("") ? null : bonEnginDto.getCodeEngin();
        String sousFamille = bonEnginDto.getSousFamille().equals("") ? null : bonEnginDto.getSousFamille();
        String groupe = bonEnginDto.getGroupe().equals("") ? null : bonEnginDto.getGroupe();
        String marque = bonEnginDto.getMarque().equals("") ? null : bonEnginDto.getMarque();
        String chantierDepart = bonEnginDto.getChantierDepart().equals("") ? null : bonEnginDto.getChantierDepart();
        String chantierArrivee = bonEnginDto.getChantierArrivee().equals("") ? null : bonEnginDto.getChantierArrivee();
        String chauffeur = bonEnginDto.getChauffeur().equals("") ? null : bonEnginDto.getChauffeur();
        String pompiste = bonEnginDto.getPompiste().equals("") ? null : bonEnginDto.getPompiste();
        String locataire = bonEnginDto.getLocataire().equals("") ? "all" : bonEnginDto.getLocataire();
        BonEngin bonEngin = new BonEngin();
        bonEngin.setCode(null);
        bonEngin.setCompteurAbsoluKm(null);
        bonEngin.setCompteurKm(null);
        bonEngin.setCompteurH(null);
        bonEngin.setCompteurAbsoluH(null);
        bonEngin.setConsommationH(null);
        bonEngin.setConsommationKm(null);
        bonEngin.setQuantite(null);
        bonEngin.setCarburant(null);
        bonEngin.setCompteurPompe(null);
        bonEngin.setCompteurHenPanne(null);
        bonEngin.setCompteurKmenPanne(null);
        bonEngin.setNbrHeures(null);
        bonEngin.setNbrKm(null);
        bonEngin.setConsommationPrevu(null);
        bonEngin.setChargeHoraire(null);
        Employe chauf = new Employe();
        chauf.setNom(chauffeur);
        Employe pomp = new Employe();
        pomp.setNom(pompiste);
        Engin engin1 = new Engin();
        engin1.setCode(engin);
        engin1.setObjectif(null);
        engin1.setConsommationMoyenne(null);
        SousFamille sousFamille1 = new SousFamille();
        sousFamille1.setNom(sousFamille);
        Famille famille1 = new Famille();
        famille1.setNom(famille);
        Groupe groupe1 = new Groupe();
        groupe1.setNom(groupe);
        Chantier chantierDepart1 = new Chantier();
        Chantier chantierArrivee1 = new Chantier();
        chantierDepart1.setNom(chantierDepart);
        chantierArrivee1.setNom(chantierArrivee);
        Marque marque1 = new Marque();
        marque1.setNom(marque);
        Classe classe1 = new Classe();
        classe1.setNom(classe);
        famille1.setClasse(classe1);
        sousFamille1.setFamille(famille1);
        sousFamille1.setMarque(marque1);
        engin1.setSousFamille(sousFamille1);
        engin1.setGroupe(groupe1);
        bonEngin.setPompiste(pomp);
        bonEngin.setChauffeur(chauf);
        bonEngin.setEngin(engin1);
        bonEngin.setChantierGazoil(chantierDepart1);
        bonEngin.setChantierTravail(chantierArrivee1);
        ExampleMatcher matcher = ExampleMatcher.matchingAll().withStringMatcher(ExampleMatcher.StringMatcher.EXACT).withIgnoreCase().withIgnoreNullValues();
        Example<BonEngin> example = Example.of(bonEngin, matcher);
        log.debug("getting search results");
        List<BonEngin> page = bonEnginRepo.findAll(example);
        if (locataire.equals("oui"))
            page = page.stream().filter(bonEngin1 -> bonEngin1.getEngin().getGroupe().getLocataire()).collect(Collectors.toList());
        else if (locataire.equals("non"))
            page = page.stream().filter(bonEngin1 -> !bonEngin1.getEngin().getGroupe().getLocataire()).collect(Collectors.toList());
        try {
            page = page.stream().filter(bonEngin1 -> bonEngin1.getDate().isBefore(LocalDate.parse(bonEnginDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonEngin1.getDate().isEqual(LocalDate.parse(bonEnginDto.getDateTo(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))).filter(bonEngin1 -> bonEngin1.getDate().isAfter(LocalDate.parse(bonEnginDto.getDateFrom(), DateTimeFormatter.ofPattern("yyyy-MM-dd"))) || bonEngin1.getDate().isEqual(LocalDate.parse(bonEnginDto.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 Engins");
        throw new OperationFailedException("Operation échouée", e);
    }
}
Also used : BonEnginRepo(me.kadarh.mecaworks.repo.bons.BonEnginRepo) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) ExampleMatcher(org.springframework.data.domain.ExampleMatcher) BonEnginDto(me.kadarh.mecaworks.domain.dtos.BonEnginDto) Example(org.springframework.data.domain.Example) Collectors(java.util.stream.Collectors) BonFournisseurDto(me.kadarh.mecaworks.domain.dtos.BonFournisseurDto) BonFilterService(me.kadarh.mecaworks.service.bons.BonFilterService) ArrayList(java.util.ArrayList) Slf4j(lombok.extern.slf4j.Slf4j) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DateTimeParseException(java.time.format.DateTimeParseException) List(java.util.List) BonFournisseurRepo(me.kadarh.mecaworks.repo.bons.BonFournisseurRepo) ChronoUnit(java.time.temporal.ChronoUnit) Service(org.springframework.stereotype.Service) LocalDate(java.time.LocalDate) DateTimeFormatter(java.time.format.DateTimeFormatter) BonLivraisonRepo(me.kadarh.mecaworks.repo.bons.BonLivraisonRepo) BonLivraisonDto(me.kadarh.mecaworks.domain.dtos.BonLivraisonDto) me.kadarh.mecaworks.domain.others(me.kadarh.mecaworks.domain.others) Transactional(org.springframework.transaction.annotation.Transactional) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DateTimeParseException(java.time.format.DateTimeParseException) DateTimeParseException(java.time.format.DateTimeParseException) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) ExampleMatcher(org.springframework.data.domain.ExampleMatcher) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin)

Example 4 with OperationFailedException

use of me.kadarh.mecaworks.service.exceptions.OperationFailedException in project mecaworks by KadarH.

the class BonLivraisonServiceImpl method add.

@Override
public BonLivraison add(BonLivraison bonLivraison1) {
    try {
        BonLivraison bonLivraison = bonLivraisonRepo.save(fill(bonLivraison1));
        insertStock_Livraison(bonLivraison);
        return bonLivraison;
    } catch (DataIntegrityViolationException e) {
        throw new OperationFailedException("Le code est unique , veuillez saisir un nouveau code", e);
    } catch (Exception e) {
        throw new OperationFailedException("L'ajout du bon a echoué , opération echoué", e);
    }
}
Also used : BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException) NoSuchElementException(java.util.NoSuchElementException) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException)

Example 5 with OperationFailedException

use of me.kadarh.mecaworks.service.exceptions.OperationFailedException in project mecaworks by KadarH.

the class BonLivraisonServiceImpl method delete.

@Override
public void delete(Long id) {
    try {
        BonLivraison bonLivraison = bonLivraisonRepo.getOne(id);
        Long idChantier = bonLivraison.getChantierArrivee().getId();
        Long idGasoil = bonLivraison.getChantierDepart().getId();
        stockManagerService.deleteStock(idGasoil, idChantier, id, TypeBon.BL);
        bonLivraisonRepo.delete(bonLivraisonRepo.findById(id).get());
    } catch (NoSuchElementException e) {
        throw new ResourceNotFoundException("Le bon n'existe pas , opération échouée");
    } catch (Exception e) {
        throw new OperationFailedException("Opération echouée", e);
    }
}
Also used : BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) NoSuchElementException(java.util.NoSuchElementException) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException) NoSuchElementException(java.util.NoSuchElementException)

Aggregations

OperationFailedException (me.kadarh.mecaworks.service.exceptions.OperationFailedException)32 ResourceNotFoundException (me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException)21 NoSuchElementException (java.util.NoSuchElementException)19 ExampleMatcher (org.springframework.data.domain.ExampleMatcher)14 BonEngin (me.kadarh.mecaworks.domain.bons.BonEngin)9 BonLivraison (me.kadarh.mecaworks.domain.bons.BonLivraison)8 BonFournisseur (me.kadarh.mecaworks.domain.bons.BonFournisseur)7 Chantier (me.kadarh.mecaworks.domain.others.Chantier)6 DataIntegrityViolationException (org.springframework.dao.DataIntegrityViolationException)6 LocalDate (java.time.LocalDate)5 ChronoUnit (java.time.temporal.ChronoUnit)5 Collectors (java.util.stream.Collectors)5 Slf4j (lombok.extern.slf4j.Slf4j)5 BonEnginRepo (me.kadarh.mecaworks.repo.bons.BonEnginRepo)5 BonFournisseurRepo (me.kadarh.mecaworks.repo.bons.BonFournisseurRepo)5 BonLivraisonRepo (me.kadarh.mecaworks.repo.bons.BonLivraisonRepo)5 Service (org.springframework.stereotype.Service)5 Transactional (org.springframework.transaction.annotation.Transactional)5 DateTimeParseException (java.time.format.DateTimeParseException)4 ArrayList (java.util.ArrayList)4