private LigneStock createLigneStock(final MvtStock mvt) { final LigneStock ligneStock = new LigneStock( mvt.getEssai(), mvt.getPharmacie(), mvt.getProduit(), mvt.getConditionnement(), mvt.getApproApprouve()); ligneStock.setNumLot(mvt.getNumLot()); ligneStock.setNumTraitement(mvt.getNumTraitement()); ligneStock.setDatePeremption(mvt.getDatePeremption()); ligneStock.setQteGlobalStock(mvt.getQuantite()); return ligneStock; }
/** * Création ou mise à jour d'une ligne stock après la mise à jour de la date de péremption d'un * approvisionnement. * * @param appro l'approvisionnement avec la date à jour * @param oldLigneStock la ligne de stock associée à l'ancienne date de péremption */ protected void updateLigneStock(final Approvisionnement appro, final LigneStock oldLigneStock) { // Deuxième recherche après la MAJ de la date de péremption de // l'appro final LigneStock newLineStock = this.getLigneStock(appro); // Si ID est null, la ligne a été créée par getLigneStock if (newLineStock.getId() == null) { // Sauvegarde de la ligne oldLigneStock.setDatePeremption(appro.getDatePeremption()); this.save(oldLigneStock); } else { // Fusion avec celle qui existe déjà newLineStock.setQteGlobalStock( newLineStock.getQteGlobalStock() + oldLigneStock.getQteGlobalStock()); newLineStock.setQteDispensationGlobal( newLineStock.getQteDispensationGlobal() + oldLigneStock.getQteDispensationGlobal()); this.save(newLineStock); // Suppression de la ligne de stock this.remove(oldLigneStock); } }