Search in sources :

Example 1 with BonLivraison

use of me.kadarh.mecaworks.domain.bons.BonLivraison 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 2 with BonLivraison

use of me.kadarh.mecaworks.domain.bons.BonLivraison 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)

Example 3 with BonLivraison

use of me.kadarh.mecaworks.domain.bons.BonLivraison in project mecaworks by KadarH.

the class UserCalculService method getMonthsWithQuantities.

public Quantite getMonthsWithQuantities(Chantier chantier, int month, int year) {
    log.info("calling method getListChantierWithQuantities(month,year) in UserCalculService -- ");
    LocalDate from = LocalDate.of(year, Month.of(month).getValue(), 1);
    LocalDate to = LocalDate.of(year, Month.of(month).plus(1).getValue(), 1);
    if (month == 12)
        to = LocalDate.of(year + 1, Month.of(month).plus(1).getValue(), 1);
    List<BonEngin> bonEngins = bonEnginRepo.findAllByChantier(chantier.getId(), from, to);
    List<BonLivraison> bonLivraisons = bonLivraisonRepo.findAllByChantier(chantier.getId(), from, to);
    List<BonFournisseur> bonFournisseurs = bonFournisseurRepo.findAllByChantier(chantier.getId(), from, to);
    Long quantiteTotal, quantiteLocation, chargeLocataireTotale, chargeLocataireExterne, consommationPrevue, gazoilAchetee, gazoilFlottant;
    quantiteTotal = bonEngins.stream().mapToLong(BonEngin::getQuantite).sum();
    quantiteLocation = bonEngins.stream().filter(bonEngin -> bonEngin.getEngin().getGroupe().getLocataire()).mapToLong(BonEngin::getQuantite).sum();
    chargeLocataireTotale = bonEngins.stream().mapToLong(bonEngin -> bonEngin.getChargeHoraire()).sum();
    chargeLocataireExterne = bonEngins.stream().filter(bonEngin -> bonEngin.getEngin().getGroupe().getLocataire()).mapToLong(BonEngin::getQuantite).sum();
    consommationPrevue = bonEngins.stream().mapToLong(BonEngin::getConsommationPrevu).sum();
    gazoilAchetee = bonFournisseurs.stream().mapToLong(BonFournisseur::getQuantite).sum();
    gazoilFlottant = bonLivraisons.stream().mapToLong(BonLivraison::getQuantite).sum();
    return new Quantite(month + "/" + year, quantiteTotal, quantiteLocation, chargeLocataireTotale, chargeLocataireExterne, 8.5f, consommationPrevue, gazoilAchetee, gazoilFlottant);
}
Also used : Engin(me.kadarh.mecaworks.domain.others.Engin) java.util(java.util) BonEnginRepo(me.kadarh.mecaworks.repo.bons.BonEnginRepo) Month(java.time.Month) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) Quantite(me.kadarh.mecaworks.domain.user.Quantite) EnginService(me.kadarh.mecaworks.service.EnginService) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) Chantier(me.kadarh.mecaworks.domain.others.Chantier) Collectors(java.util.stream.Collectors) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) Slf4j(lombok.extern.slf4j.Slf4j) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) BonFournisseurRepo(me.kadarh.mecaworks.repo.bons.BonFournisseurRepo) ChronoUnit(java.time.temporal.ChronoUnit) ChantierBatch(me.kadarh.mecaworks.domain.user.ChantierBatch) StockRepo(me.kadarh.mecaworks.repo.others.StockRepo) Service(org.springframework.stereotype.Service) LocalDate(java.time.LocalDate) BonLivraisonRepo(me.kadarh.mecaworks.repo.bons.BonLivraisonRepo) Stock(me.kadarh.mecaworks.domain.others.Stock) Transactional(org.springframework.transaction.annotation.Transactional) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) Quantite(me.kadarh.mecaworks.domain.user.Quantite) LocalDate(java.time.LocalDate)

Example 4 with BonLivraison

use of me.kadarh.mecaworks.domain.bons.BonLivraison in project mecaworks by KadarH.

the class UserCalculService method getListDaysQuantities.

public List<Quantite> getListDaysQuantities(Chantier chantier, int month, int year) {
    // Declaring variables
    List<Quantite> quantites = new ArrayList<>();
    LocalDate from = LocalDate.of(year, Month.of(month).getValue(), 1);
    LocalDate to = LocalDate.of(year, Month.of(month).plus(1).getValue(), 1);
    if (month == 12)
        to = LocalDate.of(year + 1, Month.of(month).plus(1).getValue(), 1);
    List<BonEngin> bonEngins = bonEnginRepo.findAllByChantier(chantier.getId(), from, to);
    List<BonLivraison> bonLivraisons = bonLivraisonRepo.findAllByChantier(chantier.getId(), from, to);
    List<BonFournisseur> bonFournisseurs = bonFournisseurRepo.findAllByChantier(chantier.getId(), from, to);
    Long quantiteTotal, quantiteLocation, chargeLocataireTotale, chargeLocataireExterne, consommationPrevue, gazoilAchetee, gazoilFlottant;
    String date;
    long days = ChronoUnit.DAYS.between(from, to);
    for (int i = 0; i < days; i++) {
        LocalDate localDate = LocalDate.of(year, month, i + 1);
        date = (i + 1) + "-" + month + "-" + year;
        quantiteTotal = bonEngins.stream().filter(be -> be.getDate().equals(localDate)).mapToLong(BonEngin::getQuantite).sum();
        quantiteLocation = bonEngins.stream().filter(be -> be.getDate().equals(localDate)).filter(bonEngin -> bonEngin.getEngin().getGroupe().getLocataire()).mapToLong(BonEngin::getQuantite).sum();
        chargeLocataireTotale = bonEngins.stream().filter(be -> be.getDate().equals(localDate)).mapToLong(BonEngin::getNbrHeures).sum();
        chargeLocataireExterne = bonEngins.stream().filter(be -> be.getDate().equals(localDate)).mapToLong(BonEngin::getQuantite).sum();
        consommationPrevue = bonEngins.stream().filter(be -> be.getDate().equals(localDate)).mapToLong(BonEngin::getQuantite).sum();
        gazoilAchetee = bonFournisseurs.stream().filter(bf -> bf.getDate().equals(localDate)).mapToLong(BonFournisseur::getQuantite).sum();
        gazoilFlottant = bonLivraisons.stream().filter(bl -> bl.getDate().equals(localDate)).mapToLong(BonLivraison::getQuantite).sum();
        quantites.add(new Quantite(date, quantiteTotal, quantiteLocation, chargeLocataireTotale, chargeLocataireExterne, 8.5f, consommationPrevue, gazoilAchetee, gazoilFlottant));
    }
    return quantites;
}
Also used : Engin(me.kadarh.mecaworks.domain.others.Engin) java.util(java.util) BonEnginRepo(me.kadarh.mecaworks.repo.bons.BonEnginRepo) Month(java.time.Month) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) Quantite(me.kadarh.mecaworks.domain.user.Quantite) EnginService(me.kadarh.mecaworks.service.EnginService) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) Chantier(me.kadarh.mecaworks.domain.others.Chantier) Collectors(java.util.stream.Collectors) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) Slf4j(lombok.extern.slf4j.Slf4j) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) BonFournisseurRepo(me.kadarh.mecaworks.repo.bons.BonFournisseurRepo) ChronoUnit(java.time.temporal.ChronoUnit) ChantierBatch(me.kadarh.mecaworks.domain.user.ChantierBatch) StockRepo(me.kadarh.mecaworks.repo.others.StockRepo) Service(org.springframework.stereotype.Service) LocalDate(java.time.LocalDate) BonLivraisonRepo(me.kadarh.mecaworks.repo.bons.BonLivraisonRepo) Stock(me.kadarh.mecaworks.domain.others.Stock) Transactional(org.springframework.transaction.annotation.Transactional) BonFournisseur(me.kadarh.mecaworks.domain.bons.BonFournisseur) LocalDate(java.time.LocalDate) BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) Quantite(me.kadarh.mecaworks.domain.user.Quantite)

Example 5 with BonLivraison

use of me.kadarh.mecaworks.domain.bons.BonLivraison in project mecaworks by KadarH.

the class DataFakerB method loadBonsEngin.

private void loadBonsEngin(int n, int m) {
    for (int i = 0; i < n; i++) {
        Chantier chantierGazoil = chantierRepo.getOne(i / 20 + 1L);
        Chantier chantierTravail = chantierRepo.getOne(i / 20 + 2L);
        // Getting chantier + engin +
        Engin engin = enginRepo.getOne(i / 4 + 1L);
        // Creating the object
        BonEngin bonEngin = new BonEngin();
        bonEngin.setCode("2093" + (i * 13));
        bonEngin.setCompteurH(100L + i * 5);
        bonEngin.setCompteurAbsoluH(100L + i * 10);
        bonEngin.setCompteurKm(100L + i * 5);
        bonEngin.setCompteurAbsoluKm(100L + i * 10);
        bonEngin.setQuantite(20);
        bonEngin.setChantierGazoil(chantierGazoil);
        bonEngin.setChantierTravail(chantierTravail);
        Employe chauffeur = new Employe();
        chauffeur.setNom("Mr C" + i);
        chauffeur.setMetier(Metier.CHAUFFEUR.name());
        bonEngin.setChauffeur(employeRepo.save(chauffeur));
        Employe pompiste = new Employe();
        pompiste.setNom("Mr P" + i);
        pompiste.setMetier(Metier.POMPISTE.name());
        bonEngin.setPompiste(employeRepo.save(pompiste));
        DateTimeFormatter d = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate date = LocalDate.parse(LocalDate.now().format(d), d);
        bonEngin.setDate(date);
        if (i % 2 == 1) {
            bonEngin.setCompteurKmenPanne(true);
            bonEngin.setCompteurHenPanne(true);
            bonEngin.setPlein(true);
        } else {
            bonEngin.setCompteurKmenPanne(false);
            bonEngin.setCompteurHenPanne(false);
            bonEngin.setPlein(false);
        }
        bonEngin.setEngin(engin);
        bonEnginRepo.save(bonEngin);
    }
    log.info(n + " Bons Engin Loaded *****");
    for (int i = 0; i < m; i++) {
        Chantier chantierGazoil = chantierRepo.getOne(i / 10 + 1L);
        Chantier chantierTravail = chantierRepo.getOne(i / 10 + 2L);
        // Getting chantier + engin +
        Engin engin = enginRepo.getOne(i / 4 + 1L);
        BonEngin bonEngin = new BonEngin();
        bonEngin.setCode("3297" + (i * 10));
        bonEngin.setCompteurH(100L + i * 5);
        bonEngin.setCompteurAbsoluH(100L + i * 10);
        bonEngin.setCompteurKm(100L + i * 5);
        bonEngin.setCompteurAbsoluKm(100L + i * 10);
        bonEngin.setQuantite(20 + i * 10);
        bonEngin.setChantierGazoil(chantierGazoil);
        bonEngin.setChantierTravail(chantierTravail);
        bonEngin.setDate(LocalDate.now());
        if (i % 2 == 0) {
            bonEngin.setCompteurKmenPanne(true);
            bonEngin.setCompteurHenPanne(false);
            bonEngin.setPlein(true);
        } else {
            bonEngin.setCompteurKmenPanne(false);
            bonEngin.setCompteurHenPanne(false);
            bonEngin.setPlein(false);
        }
        bonEngin.setEngin(engin);
        bonEnginRepo.save(bonEngin);
        BonLivraison bonLivraison = new BonLivraison();
        bonLivraison.setCode("KHS" + i + "LL");
        bonLivraison.setChantierDepart(chantierGazoil);
        bonLivraison.setChantierArrivee(chantierTravail);
        bonLivraison.setQuantite(20 + i * 10);
        bonLivraison.setDate(LocalDate.now());
        Employe transporteur = new Employe();
        transporteur.setNom("Mr Tr" + i);
        transporteur.setMetier(Metier.CHAUFFEUR.name());
        bonLivraison.setTransporteur(employeRepo.save(transporteur));
        Employe pompiste = new Employe();
        pompiste.setNom("Mr Pom" + i);
        pompiste.setMetier(Metier.POMPISTE.name());
        bonEngin.setPompiste(employeRepo.save(pompiste));
        bonLivraison.setPompiste(pompiste);
        bonLivraisonRepo.save(bonLivraison);
    }
    log.info(n + " Bons Engin + Bons Livraison direct Loaded *****");
}
Also used : BonLivraison(me.kadarh.mecaworks.domain.bons.BonLivraison) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) BonEngin(me.kadarh.mecaworks.domain.bons.BonEngin) DateTimeFormatter(java.time.format.DateTimeFormatter) LocalDate(java.time.LocalDate)

Aggregations

BonLivraison (me.kadarh.mecaworks.domain.bons.BonLivraison)13 OperationFailedException (me.kadarh.mecaworks.service.exceptions.OperationFailedException)7 ResourceNotFoundException (me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException)6 LocalDate (java.time.LocalDate)5 BonEngin (me.kadarh.mecaworks.domain.bons.BonEngin)5 Chantier (me.kadarh.mecaworks.domain.others.Chantier)5 ChronoUnit (java.time.temporal.ChronoUnit)4 Collectors (java.util.stream.Collectors)4 Slf4j (lombok.extern.slf4j.Slf4j)4 BonFournisseur (me.kadarh.mecaworks.domain.bons.BonFournisseur)4 BonEnginRepo (me.kadarh.mecaworks.repo.bons.BonEnginRepo)4 BonFournisseurRepo (me.kadarh.mecaworks.repo.bons.BonFournisseurRepo)4 BonLivraisonRepo (me.kadarh.mecaworks.repo.bons.BonLivraisonRepo)4 Service (org.springframework.stereotype.Service)4 Transactional (org.springframework.transaction.annotation.Transactional)4 Month (java.time.Month)3 java.util (java.util)3 NoSuchElementException (java.util.NoSuchElementException)3 Engin (me.kadarh.mecaworks.domain.others.Engin)3 Stock (me.kadarh.mecaworks.domain.others.Stock)3