private void initLigneStockDispensationGlobale(final Sortie sortie) { final MvtStock mvt = sortie.getMvtSortie(); final StockSearchCriteria criteria = new StockSearchCriteria(); criteria.setProduit(mvt.getProduit()); criteria.setPharmacie(mvt.getPharmacie()); criteria.setEssai(mvt.getEssai()); criteria.setConditionnement(mvt.getConditionnement()); criteria.setNotNullQteDispensationGlobal(Boolean.TRUE); final List<LigneStock> lignesStock = this.getAll(criteria); for (final LigneStock ligneStock : lignesStock) { ligneStock.setDotation(Boolean.TRUE); } sortie.setLignesStock(lignesStock); }
@Override public void addQuarantaineToStock(final EtatStock etat, final EtatLigneStock ligne) { // Récupération des mouvements associés à la ligne final MvtStockSearchCriteria criteria = new MvtStockSearchCriteria(); criteria.setEssai(etat.getEssai()); criteria.setPharmacie(etat.getPharmacie()); criteria.setProduit(etat.getProduit()); criteria.setConditionnement(etat.getConditionnement()); criteria.setNumLot(ligne.getNumLot()); criteria.setNumTraitement(ligne.getNumTraitement()); for (final MvtStock mvt : this.mvtStockService.getAll(criteria)) { mvt.setApproApprouve(true); this.mvtStockService.save(mvt); } // Récupération des lignes de stock pour mettre à jour le lieu de // stockage ainsi que l'info de quarantaine final StockSearchCriteria stockCriteria = new StockSearchCriteria(); stockCriteria.setEssai(etat.getEssai()); stockCriteria.setPharmacie(etat.getPharmacie()); stockCriteria.setProduit(etat.getProduit()); stockCriteria.setConditionnement(etat.getConditionnement()); stockCriteria.setNumLotStrict(ligne.getNumLot()); stockCriteria.setNumTraitement(ligne.getNumTraitement()); final List<LigneStock> ligneStocks = this.getAll(stockCriteria); for (final LigneStock ligneStock : ligneStocks) { final Produit prod = this.produitService.reattach(etat.getProduit()); ligneStock.setStockage( this.produitService.getStockageProduitPharma(prod, etat.getPharmacie()).getNomComplet()); ligneStock.setApproApprouve(true); } this.saveAll(ligneStocks); }