public function buildMouvement($origineDocumentGeneration = null) { if ($this->getPrixRestant() <= 0 || $this->getNbFacturesRestantes() <= 0) { return null; } $mouvement = new Mouvement(); $mouvement->setIdentifiant(uniqid()); $mouvement->setPrixUnitaire(round($this->getPrixRestant() / $this->getNbFacturesRestantes(), 2)); $mouvement->setQuantite(1); $mouvement->setTauxTaxe($this->getTva()); $mouvement->setFacturable(true); $mouvement->setFacture(false); $mouvement->setSociete($this->getSociete()); $mouvement->setLibelle(sprintf("Facture %s/%s - Proposition n° %s du %s au %s", count($this->getMouvements()) + 1, $this->getNbFactures(), $this->getNumeroArchive(), $this->getDateDebut()->format('m/Y'), $this->getDateFin()->format('m/Y'))); $mouvement->setDocument($this); if ($origineDocumentGeneration) { $mouvement->setOrigineDocumentGeneration($origineDocumentGeneration); } return $mouvement; }