Search in sources :

Example 1 with Stock

use of me.kadarh.mecaworks.domain.others.Stock in project mecaworks by KadarH.

the class StockManagerServiceImpl method doMiseAjour.

private void doMiseAjour(Long idc, Stock stock) {
    List<Stock> list = stockRepo.findAllByChantierAfterStockReel(idc, stockRepo.findLastStockReel(idc).get().getDate());
    // Au debut ce stock = stock reel
    Stock stockInitial = stockRepo.findLastStockReel(idc).get();
    list.remove(stockInitial);
    Stock stock2;
    // On boucle, pour chaque stock on remplace le
    for (int i = 0; i < list.size(); i++) {
        stock2 = stockRepo.getOne(list.get(i).getId());
        if (stock.getTypeBon().equals(TypeBon.BE))
            stock2.setStockC(stockInitial.getStockC() - list.get(i).getQuantite());
        if (stock.getTypeBon().equals(TypeBon.BF))
            stock2.setStockC(stockInitial.getStockC() + list.get(i).getQuantite());
        if (stock.getTypeBon().equals(TypeBon.BL)) {
            if (list.get(i).getSortieL() != 0 && list.get(i).getSortieL() != null)
                stock2.setStockC(stockInitial.getStockC() - list.get(i).getQuantite());
            if (list.get(i).getEntreeL() != 0 && list.get(i).getEntreeL() != null)
                stock2.setStockC(stockInitial.getStockC() + list.get(i).getQuantite());
        }
        list.set(i, stock2);
        stockInitial = list.get(i);
    }
    stockRepo.saveAll(list);
}
Also used : Stock(me.kadarh.mecaworks.domain.others.Stock)

Example 2 with Stock

use of me.kadarh.mecaworks.domain.others.Stock in project mecaworks by KadarH.

the class BonEnginServiceImpl method insertStock.

private void insertStock(BonEngin bonEngin) {
    Stock stock = new Stock();
    stock.setChantier(bonEngin.getChantierTravail());
    stock.setDate(bonEngin.getDate());
    stock.setSortieE(bonEngin.getQuantite());
    stock.setStockReel(stockService.getLastStock().getStockReel() + bonEngin.getQuantite());
    stockService.add(stock);
}
Also used : Stock(me.kadarh.mecaworks.domain.others.Stock)

Example 3 with Stock

use of me.kadarh.mecaworks.domain.others.Stock in project mecaworks by KadarH.

the class BonFournisseurServiceImpl method insertStock_Fournisseur.

public void insertStock_Fournisseur(BonFournisseur bonFournisseur) {
    Stock stock = new Stock();
    Chantier chantier = bonFournisseur.getChantier();
    stock.setChantier(chantier);
    stock.setDate(bonFournisseur.getDate());
    stock.setEntreeF(bonFournisseur.getQuantite());
    stock.setQuantite(stock.getEntreeF());
    stock.setId_Bon(bonFournisseur.getId());
    stock.setTypeBon(TypeBon.BF);
    if (stockService.getLastStock(chantier) != null)
        stock.setStockC(stockService.getLastStock(chantier).getStockC() + bonFournisseur.getQuantite());
    else
        stock.setStockC(bonFournisseur.getChantier().getStock() + bonFournisseur.getQuantite());
    stock = stockService.add(stock);
    stockManagerService.addStockUpdate(bonFournisseur.getChantier().getId(), null, stock, TypeBon.BF);
}
Also used : Chantier(me.kadarh.mecaworks.domain.others.Chantier) Stock(me.kadarh.mecaworks.domain.others.Stock)

Example 4 with Stock

use of me.kadarh.mecaworks.domain.others.Stock in project mecaworks by KadarH.

the class ChantierServiceImpl method update.

/**
 * updating the chantier
 *
 * @param chantier
 * @return
 */
@Override
public Chantier update(Chantier chantier) {
    log.info("Service= ChantierServiceImpl - calling methode update");
    try {
        Chantier old = get(chantier.getId());
        if (chantier.getNom() != null) {
            old.setNom(chantier.getNom());
        }
        if (chantier.getAdresse() != null) {
            old.setAdresse(chantier.getAdresse());
        }
        if (chantier.getStock() != null) {
            if (!chantier.getStock().equals(old.getStock())) {
                Stock stock = new Stock();
                stock.setDate(LocalDate.now());
                stock.setStockC(chantier.getStock());
                stock.setStockReel(chantier.getStock());
                stock.setChantier(old);
                Stock stockC = stockService.getLastStock(chantier);
                if (stockC != null) {
                    if (stockC.getStockC() < chantier.getStock())
                        stock.setEcart_plus(chantier.getStock() - stockC.getStockC());
                    else if (stockC.getStockC() > chantier.getStock())
                        stock.setEcart_moins(stockC.getStockC() - chantier.getStock());
                } else {
                    stock.setEcart_moins(0);
                    stock.setEcart_plus(0);
                }
                stockService.add(stock);
            }
            old.setStock(chantier.getStock());
        }
        return chantierRepo.save(old);
    } catch (Exception e) {
        log.debug("cannot update Chantier , failed operation");
        throw new OperationFailedException("La modification du Chantier a echouée ", e);
    }
}
Also used : Chantier(me.kadarh.mecaworks.domain.others.Chantier) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) Stock(me.kadarh.mecaworks.domain.others.Stock) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) NoSuchElementException(java.util.NoSuchElementException)

Example 5 with Stock

use of me.kadarh.mecaworks.domain.others.Stock in project mecaworks by KadarH.

the class ChantierServiceImpl method add.

/**
 * @param chantier to add
 * @return the chantier
 */
@Override
public Chantier add(Chantier chantier) {
    log.info("Service= ChantierServiceImpl - calling methode add");
    try {
        Stock stock = new Stock();
        stock.setDate(LocalDate.now());
        stock.setStockC(chantier.getStock());
        stock.setStockReel(chantier.getStock());
        stock.setChantier(chantier);
        stock.setEcart_plus(0);
        stock.setEcart_moins(0);
        stockService.add(stock);
        return chantierRepo.save(chantier);
    } catch (Exception e) {
        log.debug("cannot add chantier , failed operation");
        throw new OperationFailedException("L'ajout du Chantier a echouée ", e);
    }
}
Also used : OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) Stock(me.kadarh.mecaworks.domain.others.Stock) ResourceNotFoundException(me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException) OperationFailedException(me.kadarh.mecaworks.service.exceptions.OperationFailedException) NoSuchElementException(java.util.NoSuchElementException)

Aggregations

Stock (me.kadarh.mecaworks.domain.others.Stock)8 Chantier (me.kadarh.mecaworks.domain.others.Chantier)3 LocalDate (java.time.LocalDate)2 NoSuchElementException (java.util.NoSuchElementException)2 OperationFailedException (me.kadarh.mecaworks.service.exceptions.OperationFailedException)2 ResourceNotFoundException (me.kadarh.mecaworks.service.exceptions.ResourceNotFoundException)2 ArrayList (java.util.ArrayList)1 DashbordChantier (me.kadarh.mecaworks.domain.user.DashbordChantier)1 Quantite (me.kadarh.mecaworks.domain.user.Quantite)1