Ejemplo n.º 1
0
 /**
  *
  * @param Marche $marche
  * @return bool
  */
 private function hasAvance(Marche $marche)
 {
     return $this->getDoctrine()->getRepository('LaisoArmBundle:Decompte')->findOneBy(array('numero' => 0, 'avenant' => $marche->getAvenants()[0]->getId())) != null;
 }
Ejemplo n.º 2
0
 /**
  * @param \Laiso\ArmBundle\Entity\Marche $marche
  * @param \Laiso\ArmBundle\Entity\Decompte $dp
  * @return array
  */
 private function getAllAttachement($marche, $dp)
 {
     $attachements = array();
     /** @var \Laiso\ArmBundle\Entity\Avenant $avenant */
     foreach ($marche->getAvenants() as $avenant) {
         /** @var \Laiso\ArmBundle\Entity\Decompte $decompte */
         foreach ($avenant->getDecomptes() as $decompte) {
             if ($decompte->getNumero() <= $dp->getNumero()) {
                 /** @var \Laiso\ArmBundle\Entity\Attachement $attachement */
                 foreach ($decompte->getAttachements() as $attachement) {
                     array_push($attachements, $attachement);
                 }
             }
         }
     }
     return $attachements;
 }
Ejemplo n.º 3
0
 /**
  *
  * @param Marche $marche
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function validatePuAction(Marche $marche)
 {
     $this->verifyAccess();
     $em = $this->getDoctrine()->getManager();
     /** @var \Laiso\ArmBundle\Entity\Avenant $avenant */
     $avenant = $marche->getAvenants()[count($marche->getAvenants()) - 1];
     if (!$avenant) {
         throw new NotFoundHttpException('Unable to find Avenant entity');
     }
     $valide = true;
     foreach ($avenant->getLignes() as $ligne) {
         if ($ligne->getPrix()->getPrixUnitaire() == null || $ligne->getPrix()->getPrixUnitaire() == 0) {
             $valide = false;
             $this->addFlash('error', 'Veuillez remplir tous les prix unitaires avant de valider.');
             break;
         }
     }
     if ($valide) {
         $lotissement = $marche->getLotissement()->setPuValide(true);
         // Mettre à jour le montant du marché (marche::montant)
         $montant = 0.0;
         /** @var \Laiso\ArmBundle\Entity\LigneDQE $ligne */
         foreach ($avenant->getLignes() as $ligne) {
             $montant += $ligne->getQuantite() * $ligne->getPrix()->getPrixUnitaire();
         }
         $marche->setMontant($montant);
         $em->persist($marche);
         $em->persist($lotissement);
         $em->flush();
     }
     return $this->redirect($this->generateUrl('marche_show', array('id' => $marche->getId())));
 }