Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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))