示例#1
0
 /**
  * @Route("/pagado/{id}", name="pagado"), methods={'GET', 'POST'}
  */
 public function pagadoAction(Mesa $id)
 {
     if (isset($_POST['pagar'])) {
         $em = $this->getDoctrine()->getManager();
         $cliente = $id->getUser();
         //sumamos la cuenta a la factura de la mesa
         $id->setCuenta(0);
         //ponemos el estado de la mesa a "libre"
         $id->setEstado("libre");
         $em->persist($id);
         //guardamos los cambios
         $em->flush();
         if ($cliente) {
             //ponemos la mesa del usuario libre
             $usuario = $em->getRepository('AppBundle:Usuario')->findById($cliente);
             $usuario[0]->setMesaOcupada(0);
             $usuario[0]->setFactura(0);
             $em->persist($usuario[0]);
             $em->flush();
             //poner las facturas en facturas pagadas
             $facturas = $em->getRepository('AppBundle:FacturaNoPagada')->findBy(array('usuario' => $cliente));
             if ($facturas) {
                 while ($facturas) {
                     $facturaPagada = new FacturaPagada();
                     $facturaPagada->setUsuario($cliente);
                     $facturaPagada->setHora(new \DateTime());
                     $facturaPagada->setIdPedido($facturas[0]->getIdPedido());
                     $em->persist($facturaPagada);
                     $em->flush();
                     $em->remove($facturas[0]);
                     $em->flush();
                     $facturas = $em->getRepository('AppBundle:FacturaNoPagada')->findBy(array('usuario' => $cliente));
                 }
             }
         }
         //quitamos el usuario de la mesa
         $id->setUser(null);
         $em->persist($id);
         //guardamos los cambios
         $em->flush();
         return new RedirectResponse($this->generateUrl('mesa_listar'));
     }
 }
示例#2
0
 /**
  * Remove FacturaP
  *
  * @param \AppBundle\Entity\FacturaPagada $facturaP
  */
 public function removeFacturaP(\AppBundle\Entity\FacturaPagada $facturaP)
 {
     $this->FacturaP->removeElement($facturaP);
 }
示例#3
0
 /**
  * @Route("/pagarFacturasNP/{id}", name="pagar_facturasNP"), methods={'GET', 'POST'}
  * @Security("is_granted('ROLE_CAMARERO')")
  */
 public function pagarFacturasNP(Usuario $id)
 {
     //mostrar los usuarios con facturas no pagadas
     $em = $this->getDoctrine()->getManager();
     if (isset($_POST['pagarFacturasNP'])) {
         //poner las facturas en facturas pagadas
         $facturas = $em->getRepository('AppBundle:FacturaNoPagada')->findBy(array('usuario' => $id));
         if ($facturas) {
             while ($facturas) {
                 $facturaPagada = new FacturaPagada();
                 $facturaPagada->setUsuario($id);
                 $facturaPagada->setHora(new \DateTime());
                 $facturaPagada->setIdPedido($facturas[0]->getIdPedido());
                 $em->persist($facturaPagada);
                 $em->flush();
                 $em->remove($facturas[0]);
                 $em->flush();
                 $facturas = $em->getRepository('AppBundle:FacturaNoPagada')->findBy(array('usuario' => $id));
             }
         }
     }
     $FacturasUsuarios = $em->getRepository('AppBundle:FacturaNoPagada')->createQueryBuilder('v')->select('v.idUsuario')->distinct()->getQuery()->getResult();
     $arrayUsuarios = array();
     $j = 0;
     do {
         $usuarios = $em->getRepository('AppBundle:Usuario')->findBy(array("id" => $FacturasUsuarios[$j]));
         if (!$arrayUsuarios) {
             $arrayUsuarios = $usuarios;
         } else {
             for ($i = 0; $i < count($arrayUsuarios); $i++) {
                 $encontrado = false;
                 if ($arrayUsuarios[$i]->getId() == $usuarios[0]->getId()) {
                     $encontrado = true;
                     break;
                 }
             }
             if (!$encontrado) {
                 array_push($arrayUsuarios, $usuarios[0]);
             }
         }
         $j++;
     } while ($j < count($FacturasUsuarios));
     return $this->render('default/pagarFacturas.html.twig', ['usuario' => $arrayUsuarios]);
 }