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'))
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'))
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'))
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'))
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'))