Example #1
0
def cliente():
    """Funciona junto con la pagina mostrar para listar todos los productos que compro un cliente, en esta pagina el
    usuario debe ingresar 3 caracteres que componen el nombre del cliente a buscar, como resultado se obtendra una lista
    de posibles clientes, en la cual el usuario debe elegir uno de ellos, y al clickear el boton seleccionar se
    redireccionara a la pagina mostrar, en donde se visualizara el listado"""
    if session.get("nombre"):
        form = MyConsultaCliente()
        lista_busqueda = archivo.lista_clientes("archivos_csv/archivo.csv")
        ff = False
        msg = ""
        if form.validate_on_submit():
            lista = []
            if form.cliente.data != None:
                for palabra in lista_busqueda:
                    if form.cliente.data.upper() in palabra:
                        lista.append(palabra)
                if len(lista) != 0:
                    ff = True
                else:
                    ff = False
                    msg = "No se encontro nombre del cliente"
                    # ff habilita la visualizacion del contenido de la variable lista
                return render_template("cliente.html",
                                       form=form,
                                       lista=lista,
                                       msg=msg,
                                       ff=ff)
        return render_template("cliente.html", form=form, ff=False)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Example #2
0
def mejores_clientes():

    if session.get("nombre"):
        form = Consulta()
        if form.validate_on_submit():
            listado = archivo.leer("baseDeDatos/archivo.csv")
            masgasto = []
            consulta = []
            lista_busqueda = archivo.lista_clientes("baseDeDatos/archivo.csv")
            for listcli in lista_busqueda:
                gastoTotal = 0
                for clientes in listado:
                    if listcli == clientes['CLIENTE']:
                        gasto = float(clientes['CANTIDAD']) * float(clientes['PRECIO'])
                        gastoTotal = gastoTotal + gasto
                masgasto.append([gastoTotal, listcli])
            cont = 1
            masgasto.sort(reverse = True)
            for datos in masgasto:
                if cont <= form.cantidad.data:
                    consulta.append(datos)
                    cont = cont + 1
            consulta.sort(reverse = True)
            return render_template('mejores_clientes.html', form = form, fc = True, consulta = consulta, msg2 = "Importe")
        return render_template('mejores_clientes.html', form = form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Example #3
0
def mejores_clientes():
    if 'username' in session:
        form = MyConsulta()
        if form.validate_on_submit():
            listado = archivo.leer("datos.csv")
            masgasto = []
            consulta = []
            lista_busqueda = archivo.lista_clientes("datos.csv")
            for listcli in lista_busqueda:  #recorre  lista de clientes
                gastoTotal = 0
                for clientes in listado:  # recorre archivo ventas
                    # en estos dos recorridos se busca agrupar los datos por cliente
                    if listcli == clientes['CLIENTE']:
                        gasto = float(clientes['CANTIDAD']) * float(
                            clientes['PRECIO'])
                        gastoTotal = gastoTotal + gasto
                        #se calcula cuanto gasto cada cliete
                masgasto.append([listcli, gastoTotal
                                 ])  #se guarda lista cuanto gasto cada cliente
            cont = 1
            masgasto.sort(key=lambda c: c[1], reverse=True)
            # se ordena la lista masgasto de mayor a menor
            for datos in masgasto:
                if cont <= form.cantidad.data:
                    consulta.append(datos)
                    cont = cont + 1
            return render_template('mejores_clientes.html',
                                   form=form,
                                   fc=True,
                                   consulta=consulta,
                                   msg2="IMPORTE")
        return render_template('mejores_clientes.html', form=form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('ingresar'))
def cliente():
    if session.get("nombre"):
        form = ConsultaCliente()
        lista_busqueda = archivo.lista_clientes("baseDeDatos/archivo.csv")
        ff = False
        msg = ""
        if form.validate_on_submit():
            lista = []
            if form.cliente.data != None:
                for palabra in lista_busqueda:
                    if form.cliente.data.upper() in palabra:
                        lista.append(palabra)
                if len(lista) != 0:
                    ff = True
                else:
                    ff = False
                    msg = "No se encontro nombre del cliente"
                return render_template("cliente.html",
                                       form=form,
                                       lista=lista,
                                       msg=msg,
                                       ff=ff)
        return render_template("cliente.html", form=form, ff=False)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Example #5
0
def mejores_clientes():
    """En esta pagina se generara y visualizara el listado de los clientes que realizaron la mayor cantidad de compras,
     para realizar esto se necesita:
      l- a cantidad de clientes que se quiere mostrar, el usuario ingresara este dato.
      2- la informacion de las ventas se obtiene del archivo archivo.csv, el cual sera leido y asignados los datos en la
         variable listado.
      3- la  variable lista_busqueda en la cual se asigna el listado de clientes sin duplicados que contiene el archivo
         archivo.csv.
      Primero se genera una lista que contiene el nombre del cliente y cuanto gasto, y luego con ella se genera otra
      lista con la cantidad de items que pide el usuario, se la ordena para que los valores sean visualizados en forma
      descendente."""
    if session.get("nombre"):
        form = MyConsulta()
        if form.validate_on_submit():
            listado = archivo.leer("archivos_csv/archivo.csv")
            masgasto = []
            consulta = []
            lista_busqueda = archivo.lista_clientes("archivos_csv/archivo.csv")
            for listcli in lista_busqueda:
                gastoTotal = 0
                for clientes in listado:
                    if listcli == clientes['CLIENTE']:
                        gasto = float(clientes['CANTIDAD']) * float(
                            clientes['PRECIO'])
                        gastoTotal = gastoTotal + gasto
                masgasto.append([listcli, gastoTotal])
            cont = 1
            masgasto.sort(key=lambda c: c[1], reverse=True)
            print(masgasto)
            for datos in masgasto:
                if cont <= form.cantidad.data:
                    consulta.append(datos)
                    cont = cont + 1
            archivo.grabar_consulta_mjor_cliente(consulta)
            return render_template('mejores_clientes.html',
                                   form=form,
                                   fc=True,
                                   consulta=consulta,
                                   msg2="IMPORTE")
        return render_template('mejores_clientes.html', form=form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Example #6
0
def pxc():
    if session.get("username"):
        try:
            rows = validarCSV().leerCSV()
        except CSVError as error:
            return render_template('errorCSV.html', error=error)
        header = ['CODIGO', 'PRODUCTO', 'CLIENTE']
        formulario = Consulta_Cliente()
        listado_clientes = archivo.lista_clientes()
        clientes = archivo.productos_por_clientes(formulario.cliente.data)
        if formulario.validate_on_submit():
            if formulario.cliente.data in listado_clientes:
                if len(formulario.cliente.data) <= 3:
                    flash('Ingrese más de tres caracteres')
            return render_template("pxc.html",
                                   header=header,
                                   formulario=formulario,
                                   tablaclientes=clientes)
        return render_template("pxc.html",
                               header=header,
                               formulario=formulario,
                               tablaclientes=clientes,
                               username=session.get('username'))
    return redirect(url_for('login'))