/** * @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')); } }
/** * Remove FacturaP * * @param \AppBundle\Entity\FacturaPagada $facturaP */ public function removeFacturaP(\AppBundle\Entity\FacturaPagada $facturaP) { $this->FacturaP->removeElement($facturaP); }
/** * @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]); }