コード例 #1
0
 public function modifier(Cdeligne $cdeligne)
 {
     $query = $this->getEntityManager()->createQuery("\n            UPDATE  PgiCommandeBundle:Cdeligne\n            SET qte_commande = :qteCommande,\n            qte_fabrique = :qteFabrique,\n            unite = :unite WHERE cdeligneid = :cdeligneid")->setParameter('cdeligneid', $cdeligne->getCdeligneid())->setParameter('qteCommande', $cdeligne->getQteCommande())->setParameter('qteFabrique', $cdeligne->getQteFabrique())->setParameter('ficheproduitid', $cdeligne->getFicheproduit()->getFicheproduitid())->setParameter('unite', $cdeligne->getUnite());
     $query->execute();
 }
コード例 #2
0
ファイル: CdeController.php プロジェクト: adashbob/pgiweb
 /**
  * @param Request $request
  * @return Response
  */
 public function dupliquerCdeAction(Request $request)
 {
     $session = $this->get('session');
     $token = $this->get('security.token_storage');
     $user = $token->getToken()->getUser();
     $cdeidAjax = null;
     if ($request->isXmlHttpRequest()) {
         $data = array();
         $data['isDuplicate'] = false;
         $em = $this->getDoctrine()->getManager();
         if ($request->get('cdeid') != null && $request->get('clientid') != null && $request->get('navirescaleid')) {
             $cde = $em->getRepository('PgiCommandeBundle:Cde')->find($request->get('cdeid'));
             // On conserve le client
             $newCde = new Cde();
             $navirescale = $em->getRepository('PgiCommandeBundle:Navirescale')->find($request->get('navirescaleid'));
             $client = $em->getRepository('PgiCommandeBundle:Client')->find($request->get('clientid'));
             $newCde->setClientuser($user);
             $newCde->setClient($client);
             $newCde->setNavirescale($navirescale);
             $newCde->setCommentaire($request->get('commentaire'));
             $newCde->setCderef($request->get('cderef'));
             $newCde->setDatecde($request->get('datecde'));
             $newCde->setStatut('New');
             $newListCdetc = $cde->getListCdetc();
             // Ajouter la nouvelle commande
             $em->persist($newCde);
             $em->flush();
             // Dernier cdeid
             $newCdeid = $this->get('pgi_commande.getlastid')->lastInsert('CDE', 'CDEID');
             foreach ($newListCdetc as $newCdetc) {
                 // Liste des cdeligne du container
                 $newListCdeligne = $newCdetc->getListCdeligne();
                 $newCde = $em->getRepository('PgiCommandeBundle:Cde')->find($newCdeid);
                 $cdetc = new Cdetc();
                 $cdetc->setCde($newCde);
                 $cdeidAjax = $newCde->getCdeid();
                 $cdetc->setCommentaire($newCdetc->getCommentaire());
                 $cdetc->setNavirescale($newCdetc->getNavirescale());
                 $cdetc->setPriority($newCdetc->getPriority());
                 // Ajouter la nouvelle commande
                 $em->persist($cdetc);
                 $em->flush();
                 // Dernier cdeid
                 $newCdetcid = $this->get('pgi_commande.getlastid')->lastInsert('CDETC', 'CDETCID');
                 foreach ($newListCdeligne as $newCdeligne) {
                     $cdeligne = new Cdeligne();
                     $newCdetc = $em->getRepository('PgiCommandeBundle:Cdetc')->find($newCdetcid);
                     $cdeligne->setCdetc($newCdetc);
                     $cdeligne->setCalibre($newCdeligne->getCalibre());
                     $cdeligne->setCommentaire($newCdeligne->getCommentaire());
                     $cdeligne->setFicheproduit($newCdeligne->getFicheproduit());
                     $qtecde = $newCdeligne->getQtecde();
                     $qtefab = $newCdeligne->getQtefab();
                     $cdeligne->setQtecde($qtecde + $qtefab);
                     $cdeligne->setQtefab(0);
                     $cdeligne->setUnite($newCdeligne->getUnite());
                     // Ajouter la nouvelle commande
                     $em->persist($cdeligne);
                     $em->flush();
                 }
             }
             $data['newcdeid'] = $cdeidAjax;
             $data['isDuplicate'] = true;
             $session->getFlashBag()->add('info', 'Commande dupliquée');
         }
         if ($data['isDuplicate'] == false) {
             $session->getFlashBag()->add('info', 'Erreur duplicaion.');
         }
         $data['newcdeid'] = $request->get('cdeid');
     }
     $data = json_encode($data);
     // formater le résultat de la requête en json
     $response = new Response($data);
     $response->headers->set('Content-Type', 'application/json');
     return $response;
 }
コード例 #3
0
 /**
  * Ajout d'un produit dans un container
  * @param Request $request
  * @return Json
  */
 public function createAjaxAction(Request $request)
 {
     if ($request->isXmlHttpRequest()) {
         $em = $this->getDoctrine()->getManager();
         $cdeligne = array();
         $cdeligne['isCreate'] = false;
         if ($request->get('cdetcid') != null) {
             if ($request->get('ficheproduitid') != null && $request->get('qtecde') != null) {
                 $produit = new Cdeligne();
                 $ficheproduit = $em->getRepository('PgiCommandeBundle:Ficheproduit')->find($request->get('ficheproduitid'));
                 $cdetc = $em->getRepository('PgiCommandeBundle:Cdetc')->find($request->get('cdetcid'));
                 $produit->setUnite($request->get('unite'));
                 $produit->setQtecde($request->get('qtecde'));
                 $produit->setCommentaire($request->get('commentaire'));
                 $produit->setFicheproduit($ficheproduit);
                 $produit->setCdetc($cdetc);
                 $em->persist($produit);
                 $em->flush();
                 // Réponse JSON
                 $cdeligne['isCreate'] = true;
             }
         } elseif ($request->get('cdeid') != null) {
             $container = new Cdetc();
             $repository = $em->getRepository('PgiCommandeBundle:Navirescale');
             $navirescale = $repository->find($request->get('navireescaleid'));
             $cde = $em->getRepository('PgiCommandeBundle:Cde')->find($request->get('cdeid'));
             $container->setPriority($request->get('priority'));
             $container->setNavirescale($navirescale);
             $container->setCde($cde);
             $em->persist($container);
             $em->flush();
             $newcdetcic = $this->get('pgi_commande.getlastid')->lastInsert('CDETC', 'CDETCID');
             $produit = new Cdeligne();
             $ficheproduit = $em->getRepository('PgiCommandeBundle:Ficheproduit')->find($request->get('ficheproduitid'));
             $cdetc = $em->getRepository('PgiCommandeBundle:Cdetc')->find($newcdetcic);
             $produit->setUnite($request->get('unite'));
             $produit->setQtecde($request->get('qtecde'));
             $produit->setCommentaire($request->get('commentaire'));
             $produit->setFicheproduit($ficheproduit);
             $produit->setCdetc($cdetc);
             $em->persist($produit);
             $em->flush();
             $cdeligne['isCreate'] = true;
         }
         $data = json_encode($cdeligne);
         // formater le résultat de la requête en json
         $response = new Response($data);
         $response->headers->set('Content-Type', 'application/json');
         return $response;
     }
 }