def ajax_asignar_mozos_mesas(request): mesas = request.GET["mesas"].split(",") mozo = Personal.objects.get(id=request.GET["mozo"]) caja = Caja.objects.get(cerrada=False) turno = Turnos.objects.get(id=request.GET["turno"]) for x in mesas: mmf = Mesa_mozo_fecha() mmf.caja = caja mmf.mozo = mozo mmf.mesa = Mesa.objects.get(numero=x) mmf.turno = turno mmf.save() return HttpResponse("ok")
def ajax_mesas_ocupadas_turno_caja(request): pk_turno = request.GET["pk_turno"] pk_caja = request.GET["pk_caja"] mesas = [] aux = Mesa_mozo_fecha.get_mesas_ocupadas_en_turno_y_caja(pk_turno, pk_caja) for x in aux: dic = {"mesa" : { "pk" : x.mesa_id, "numero" : x.mesa.numero}, "mozo" : { "pk" : x.mozo_id , "nombre" : x.mozo.nombre, "apellido" : x.mozo.apellido} } mesas.append(dic) return HttpResponse(json.dumps(mesas))
def resumen_mozo(request): class MesaAtendida(object): def __init__(self, mesa_mozo_fecha): self.id = mesa_mozo_fecha.id self.mesa = mesa_mozo_fecha.mesa self.pedidos = [] # Pedido_mesa.objects.filter(mesa = mesa_mozo_fecha) for p in Pedido_mesa.objects.filter(mesa = mesa_mozo_fecha): f = Factura.objects.filter(pedido = p) if len(f) > 0: f[0].pedido.factura = f[0].num_factura self.pedidos.append(f[0].pedido) x = 0 for pedido in self.pedidos: for item in pedido.get_items_pedido(): x = x + (item.producto.precio * item.cantidad) self.total_mesa = x def get_comision(self, comision=0.15): return self.total_mesa * comision @classmethod def to_json(cls, mesa_mozo_fecha): ma = MesaAtendida(mesa_mozo_fecha) pedidos = {} for x in ma.pedidos: items = {} total_p = 0 for i in x.get_items_pedido(): st = (i.producto.precio * i.cantidad) items["pk_"+str(i.pk)] = { "producto" : i.producto.nombre, "precio" : str(i.producto.precio), "cantidad" : str(i.cantidad), "subtotal" : st } total_p = total_p + st pedidos["pk_"+str(x.pk)] = { "id" : x.pk, "items" : items, "total" : str(total_p), "factura" : x.factura } return { "id" : ma.id , "mesa" : ma.mesa.numero, "pedidos" : pedidos, "total_mesa" : ma.total_mesa, "comision" : ma.get_comision() } mesas_atendidas = {} comision_mozo = 0 total_mesas = 0 for x in Mesa_mozo_fecha.get_mesas_atendidas(request.GET['pk_mozo']): mesas_atendidas['pk_'+str(x.pk)] = MesaAtendida.to_json(x) comision_mozo = comision_mozo + mesas_atendidas['pk_'+str(x.pk)]["comision"] total_mesas = total_mesas + mesas_atendidas['pk_'+str(x.pk)]["total_mesa"] data = { "mesas_atendidas" : mesas_atendidas, "comision_mozo" : comision_mozo, "total_mesas" : total_mesas, } return HttpResponse(json.dumps(data))