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(); }
/** * @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; }
/** * 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; } }