def completar_venta(self, usuario_pv): self.usuario_pv = usuario_pv self.usuario_os = os.getenv("USER") #se cuantan el numero de filas del 2do qtablewidget filas = self.ui.ventas_final.rowCount() #bucle para obtener los datos por fila for fila in xrange(filas): #se crea lista vacia datos_actualizar = [] #bucle para obtener los datos por columna for columna in xrange(3): #se toman los valores dato = unicode(self.ui.ventas_final.item(fila, columna).text()) #se agregan a la lista datos_actualizar.append(dato) #psecrea query para vender query = unicode( "UPDATE productos SET cantidad = cantidad - 1 WHERE id = \"{0}\"" ).format(datos_actualizar[0]) #se ejecuta el query conexion.consultas(query) #se mana a llamar el metodo mostrar ventas para actualizar los productos ventas_mostrar(self) #se manda a llamar el metodo verificar archivp verificar_archivo(self)
def eliminar_mostrar(self): #se crea un query para seleccionar productos tomando el valor de un qlabel query = unicode( "SELECT * FROM productos WHERE producto LIKE \"%{0}%\"").format( unicode(self.ui.eliminar_producto.text())) #se ejecuta la consulta y se almacena en una variable datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos) == 0: query = unicode( "SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\"").format( unicode(self.ui.eliminar_producto.text())) datos_obtenidos = conexion.consultas(query) else: pass #se asignan las columnas para la tabla self.ui.eliminar_lista_2.setColumnCount(5) #se asignan las filas dad la longitud de la consulta self.ui.eliminar_lista_2.setRowCount(len(datos_obtenidos)) #bucle para llenar tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar tabla por columna for columna in xrange(5): #se cre un tem dato = QtGui.QTableWidgetItem() #se asigna el valor al item dato.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda el valor por posición fila columna self.ui.eliminar_lista_2.setItem(fila, columna, dato)
def ventas_mostrar(self): #se crea el qury para buscar los productos de la bd query = unicode( "SELECT * FROM productos WHERE producto LIKE \"%{0}%\" ").format( unicode(self.ui.venta_buscar_nombre.text())) # se ejecuta el query datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos) == 0: query = unicode( "SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\" " ).format(unicode(self.ui.venta_buscar_nombre.text())) datos_obtenidos = conexion.consultas(query) else: pass #se asigna el numero de columnas de qtablewidget self.ui.ventas_existencia.setColumnCount(5) #se asignan el numero de filas dado la longitud del resultado de la consulta self.ui.ventas_existencia.setRowCount(len(datos_obtenidos)) #bucle para llenar el qtablewidget por filas for filas in xrange(len(datos_obtenidos)): #bucle pata llenar el qtablewidget por columnas for columnas in xrange(5): #se crea un item dato = QtGui.QTableWidgetItem() #se asigna la informacion a mandar dato.setText("%s" % (unicode(datos_obtenidos[filas][columnas]))) #se manda informacion a la qtablewidget self.ui.ventas_existencia.setItem(filas, columnas, dato)
def ventas_mostrar(self): #se crea el qury para buscar los productos de la bd query = unicode("SELECT * FROM productos WHERE producto LIKE \"%{0}%\" ").format(unicode(self.ui.venta_buscar_nombre.text())) # se ejecuta el query datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos)== 0 : query = unicode("SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\" ").format(unicode(self.ui.venta_buscar_nombre.text())) datos_obtenidos = conexion.consultas(query) else: pass #se asigna el numero de columnas de qtablewidget self.ui.ventas_existencia.setColumnCount(5) #se asignan el numero de filas dado la longitud del resultado de la consulta self.ui.ventas_existencia.setRowCount(len(datos_obtenidos)) #bucle para llenar el qtablewidget por filas for filas in xrange(len(datos_obtenidos)): #bucle pata llenar el qtablewidget por columnas for columnas in xrange(5): #se crea un item dato = QtGui.QTableWidgetItem() #se asigna la informacion a mandar dato.setText("%s" %(unicode(datos_obtenidos[filas][columnas]))) #se manda informacion a la qtablewidget self.ui.ventas_existencia.setItem(filas, columnas, dato)
def buscar_producto(self): #query para buscar por nombre en caso de que no se escriba nada en el campo se muestran todos los datos query = unicode( "SELECT * FROM productos WHERE producto LIKE \"%{0}%\"").format( unicode(self.ui.actualizar_producto.text())) #se ejecuta el query y se almacena en una valriable datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos) == 0: query = unicode( "SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\"").format( unicode(self.ui.actualizar_producto.text())) datos_obtenidos = conexion.consultas(query) else: pass #se toma la longitud de la consulta realizada y se asigna a una variable global para usarla en otros metodos self.datos = len(datos_obtenidos) #se asignan el numero de columnas para la tabla self.ui.actualizar_lista.setColumnCount(5) #se asignan el numero de filas para la tabla dado la longitud de la consulta self.ui.actualizar_lista.setRowCount(len(datos_obtenidos)) #bucle para llenar la tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar la tabla por columna for columna in xrange(5): #se crea un item item = QtGui.QTableWidgetItem() #se le asigna el valor a enviar item.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se envia el valor a la tabla por posición fila columna self.ui.actualizar_lista.setItem(fila, columna, item)
def buscar_producto(self): #query para buscar por nombre en caso de que no se escriba nada en el campo se muestran todos los datos query = unicode("SELECT * FROM productos WHERE producto LIKE \"%{0}%\"").format(unicode(self.ui.actualizar_producto.text())) #se ejecuta el query y se almacena en una valriable datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos) == 0: query = unicode("SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\"").format(unicode(self.ui.actualizar_producto.text())) datos_obtenidos = conexion.consultas(query) else: pass #se toma la longitud de la consulta realizada y se asigna a una variable global para usarla en otros metodos self.datos = len(datos_obtenidos) #se asignan el numero de columnas para la tabla self.ui.actualizar_lista.setColumnCount(5) #se asignan el numero de filas para la tabla dado la longitud de la consulta self.ui.actualizar_lista.setRowCount(len(datos_obtenidos)) #bucle para llenar la tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar la tabla por columna for columna in xrange(5): #se crea un item item = QtGui.QTableWidgetItem() #se le asigna el valor a enviar item.setText("%s" %(unicode(datos_obtenidos[fila][columna]))) #se envia el valor a la tabla por posición fila columna self.ui.actualizar_lista.setItem(fila, columna, item)
def eliminar_producto(self): #se toma el valor de un qlabel id = unicode(self.ui.eliminar_id_2.text()) #se crea un query para eliminar productos query = unicode("DELETE FROM productos WHERE id = \"{0}\" ").format(id) #se ejecuta el query conexion.consultas(query) eliminar_mostrar(self) self.ui.eliminar_id_2.setText("") #-----------------------------------------------------------------------------------------------------------------------------------------------
def eliminar_producto(self): #se toma el valor de un qlabel id = unicode(self.ui.eliminar_id_2.text()) #se crea un query para eliminar productos query = unicode("DELETE FROM productos WHERE id = \"{0}\" ").format(id) #se ejecuta el query conexion.consultas(query) eliminar_mostrar(self) self.ui.eliminar_id_2.setText("") #-----------------------------------------------------------------------------------------------------------------------------------------------
def ingresar_usuario(self, permisos): #se toman los valores de los campos nombre = unicode(self.ui.ingresar_nombre.text()) password = unicode(self.ui.ingresar_password.text()) #se cifra la contraseña cifrado = hashlib.sha1(password.encode('utf-8')) #se crea un query para insetar los datos query = unicode("INSERT INTO usuarios VALUES(NULL ,\"{0}\",\"{1}\",\"{2}\")").format(nombre, unicode(cifrado.hexdigest()), permisos) #se ejecuta el query conexion.consultas(query) #se limpian los campos self.ui.ingresar_password.setText('') self.ui.ingresar_nombre.setText('')
def ingresar_producto(self): #se toman los valores de los campos producto = unicode(self.ui.producto_nombre.text()) descripcion = unicode(self.ui.producto_descripcion.text()) precio = float(self.ui.producto_precio.text()) cantidad = unicode(self.ui.producto_cantidad.text()) #se crea un query para insertar los datos query = unicode("INSERT INTO productos(producto, descripcion, precio, cantidad) VALUES(\"{0}\",\"{1}\",\"{2}\",\"{3}\")").format(producto, descripcion, precio, cantidad) #se ejecuta el query conexion.consultas(query) #se limpian los campos self.ui.producto_nombre.setText('') self.ui.producto_precio.setText('') self.ui.producto_cantidad.setText('') self.ui.producto_descripcion.setText('')
def ingresar_producto(self): #se toman los valores de los campos producto = unicode(self.ui.producto_nombre.text()) precio = float(self.ui.producto_precio.text()) cantidad = unicode(self.ui.producto_cantidad.text()) marca = unicode(self.ui.producto_marca.text()) #se crea un query para insertar los datos query = unicode( "INSERT INTO productos(producto, precio, cantidad, marca) VALUES(\"{0}\",\"{1}\",\"{2}\",\"{3}\")" ).format(producto, precio, cantidad, marca) #se ejecuta el query conexion.consultas(query) #se limpian los campos self.ui.producto_nombre.setText('') self.ui.producto_precio.setText('') self.ui.producto_cantidad.setText('') self.ui.producto_marca.setText('')
def eliminar_usuario(self): #se toma el valor del campo id = unicode(self.ui.eliminar_id.text()) if len(id) == 0 : QtGui.QMessageBox.warning(self, "Informacion", """te falta seleccionar id""", QtGui.QMessageBox.Ok) else: #se crea query para eliminar producto query = unicode("DELETE FROM usuarios WHERE id = \"{0}\" ").format(id) #se ejecuta query conexion.consultas(query) self.ui.eliminar_id.setText("") self.ui.eliminar_eliminar.setEnabled(False) self.ui.eliminar_lista.clearContents() self.ui.eliminar_lista.setRowCount(0) eliminar_mostrar(self) ################################################################################################################################################
def alterar_usuarios(self, permisos): #se toman los valores de los campos nombre = unicode(self.ui.modificar_usuario_2.text()) nombre_nuevo = unicode(self.ui.modificar_nuevo_nombre.text()) password= unicode(self.ui.modificar_password.text()) # se cifra la contraseña cifrado = hashlib.sha1(password.encode('utf-8')) #se crea un query para modificar usuario query = unicode("UPDATE usuarios SET nombre = \"{0}\", password = \"{1}\", permisos = \"{2}\" WHERE nombre = \"{3}\" ").format(nombre_nuevo, unicode(cifrado.hexdigest()), permisos, nombre) #se ejecuta el query conexion.consultas(query) #se limpian los campos self.ui.modificar_usuario_2.setText('') self.ui.modificar_nuevo_nombre.setText('') self.ui.modificar_password.setText('') self.ui.modificar_modificar.setEnabled(False) #se limpia la tabla y se eliminan las filas self.ui.modificar_lista.clearContents() self.ui.modificar_lista.setRowCount(0) buscar_usuarios(self)
def alterar_producto(self): #se crea lista vacia datos_obtenidos = [] #bucle para actualizar los datos de la tabla por fila for fila in xrange(self.datos): #bucle para actualizar datos de la tabla por columna for columna in xrange(5): #se toma el valor por posición dato = unicode(self.ui.actualizar_lista.item(fila, columna).text()) #se agrega dato a la lista datos_obtenidos.append(dato) #se crea query para actualizar productos query = unicode("UPDATE productos SET producto = \"{1}\", descripcion = \"{2}\", precio = \"{3}\", cantidad = \"{4}\" WHERE id = \"{0}\" ").format(*datos_obtenidos) #se ejecuta la consulta conexion.consultas(query) #se limpia la lista datos_obtenidos = [] self.ui.actualizar_actualizar.setEnabled(False) self.ui.modificar_lista.clearContents() self.ui.modificar_lista.setRowCount(0) buscar_producto(self)
def completar_venta(self, usuario_pv): self.usuario_pv = usuario_pv self.usuario_os = os.getenv("USER") #se cuantan el numero de filas del 2do qtablewidget filas = self.ui.ventas_final.rowCount() #bucle para obtener los datos por fila for fila in xrange(filas): #se crea lista vacia datos_actualizar = [] #bucle para obtener los datos por columna for columna in xrange(3): #se toman los valores dato = unicode(self.ui.ventas_final.item(fila, columna).text()) #se agregan a la lista datos_actualizar.append(dato) #psecrea query para vender query = unicode("UPDATE productos SET cantidad = cantidad - 1 WHERE id = \"{0}\"").format(datos_actualizar[0]) #se ejecuta el query conexion.consultas(query) #se mana a llamar el metodo mostrar ventas para actualizar los productos ventas_mostrar(self) #se manda a llamar el metodo verificar archivp verificar_archivo(self)
def eliminar_mostrar(self): #se crea un query para seleccionar productos tomando el valor de un qlabel query = unicode("SELECT * FROM productos WHERE producto LIKE \"%{0}%\"").format(unicode(self.ui.eliminar_producto.text())) #se ejecuta la consulta y se almacena en una variable datos_obtenidos = conexion.consultas(query) if len(datos_obtenidos) == 0: query = unicode("SELECT * FROM productos WHERE descripcion LIKE \"%{0}%\"").format(unicode(self.ui.eliminar_producto.text())) datos_obtenidos = conexion.consultas(query) else: pass #se asignan las columnas para la tabla self.ui.eliminar_lista_2.setColumnCount(5) #se asignan las filas dad la longitud de la consulta self.ui.eliminar_lista_2.setRowCount(len(datos_obtenidos)) #bucle para llenar tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar tabla por columna for columna in xrange(5): #se cre un tem dato = QtGui.QTableWidgetItem() #se asigna el valor al item dato.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda el valor por posición fila columna self.ui.eliminar_lista_2.setItem(fila, columna, dato)
def alterar_producto(self): #se crea lista vacia datos_obtenidos = [] #bucle para actualizar los datos de la tabla por fila for fila in xrange(self.datos): #bucle para actualizar datos de la tabla por columna for columna in xrange(5): #se toma el valor por posición dato = unicode(self.ui.actualizar_lista.item(fila, columna).text()) #se agrega dato a la lista datos_obtenidos.append(dato) #se crea query para actualizar productos query = unicode( "UPDATE productos SET producto = \"{1}\", precio = \"{2}\", cantidad = \"{3}\", marca = \"{4}\" WHERE id = \"{0}\" " ).format(*datos_obtenidos) #se ejecuta la consulta conexion.consultas(query) #se limpia la lista datos_obtenidos = [] self.ui.actualizar_actualizar.setEnabled(False) self.ui.modificar_lista.clearContents() self.ui.modificar_lista.setRowCount(0) buscar_producto(self)
def usuario(self): #se toma el valor de el campo usuario usuario = unicode(self.ui.logueo_usuario.text()) #se crea una consulta a la bd para cotejar usuario query = ("SELECT * FROM usuarios WHERE nombre = \"{0}\" ").format(usuario) #se ejecuta la consulta self.datos = conexion.consultas(query) #se coteja el resultado de la consulta si la longitud del campo es 0 if len(self.datos) == 0: QtGui.QMessageBox.warning(self, "Informacion", """No existe usuario en la bd""", QtGui.QMessageBox.Ok) #print "no existe el usuario en la bd" #se coteja si el usuario es igual el obtenido en la consulta a la bd elif usuario == self.datos[0][1]: #Se manda a llamar el metodo contraseña self.contrasena() #en caso contrario else: #mensaje de usuario incorrecto QtGui.QMessageBox.warning(self, "Informacion", """Usuario incorrecto""", QtGui.QMessageBox.Ok) #print "usuario incorrecto" return
def buscar_usuarios(self): #se crea un query para mostrar los usuarios query = unicode("SELECT * FROM usuarios ") #se ejcuta el query y se almacena enuna variable datos_obtenidos = conexion.consultas(query) #se asignan la longitud del la cconsulta a una variable global self.total_usuarios = len(datos_obtenidos) #se asignan el numero de columnas para la tabla self.ui.modificar_lista.setColumnCount(4) #se asignan el numero de filas dado la longitud de la consulta self.ui.modificar_lista.setRowCount(len(datos_obtenidos)) #bucle para llenar la tabla por filas for fila in xrange(len(datos_obtenidos)): #bucle para llenar la tabla por columnas for columna in xrange(4): #se crea un item item = QtGui.QTableWidgetItem() #se asignan el valor a enviar item.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda el valor por posición fila columna self.ui.modificar_lista.setItem(fila, columna, item)
def buscar_usuarios(self): #se crea un query para mostrar los usuarios query = unicode("SELECT * FROM usuarios ") #se ejcuta el query y se almacena enuna variable datos_obtenidos = conexion.consultas(query) #se asignan la longitud del la cconsulta a una variable global self.total_usuarios = len(datos_obtenidos) #se asignan el numero de columnas para la tabla self.ui.modificar_lista.setColumnCount(4) #se asignan el numero de filas dado la longitud de la consulta self.ui.modificar_lista.setRowCount(len(datos_obtenidos)) #bucle para llenar la tabla por filas for fila in xrange(len(datos_obtenidos)): #bucle para llenar la tabla por columnas for columna in xrange(4): #se crea un item item = QtGui.QTableWidgetItem() #se asignan el valor a enviar item.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda el valor por posición fila columna self.ui.modificar_lista.setItem(fila, columna, item)
def eliminar_mostrar(self): #se crea query para mostrar datos query = unicode("SELECT id, nombre FROM usuarios ") #se ejecuta el query y se almacena en una variable datos_obtenidos = conexion.consultas(query) #se toma la longitud de el resultado de la consulta self.total_usuarios = len(datos_obtenidos) #se signan las columnas para la tabla self.ui.eliminar_lista.setColumnCount(2) #se asignan las columnas para la tabla dado la longitud de la consulta self.ui.eliminar_lista.setRowCount(len(datos_obtenidos)) #self.ui.modificar_lista.clear() #bucle para llenar tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar tabla por columna for columna in xrange(2): #se crea un item item = QtGui.QTableWidgetItem() #se asigna el valor al item item.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda valor a la tabla por posición fila columna self.ui.eliminar_lista.setItem(fila, columna, item)
def eliminar_mostrar(self): #se crea query para mostrar datos query = unicode("SELECT id, nombre FROM usuarios ") #se ejecuta el query y se almacena en una variable datos_obtenidos = conexion.consultas(query) #se toma la longitud de el resultado de la consulta self.total_usuarios = len(datos_obtenidos) #se signan las columnas para la tabla self.ui.eliminar_lista.setColumnCount(2) #se asignan las columnas para la tabla dado la longitud de la consulta self.ui.eliminar_lista.setRowCount(len(datos_obtenidos)) #self.ui.modificar_lista.clear() #bucle para llenar tabla por fila for fila in xrange(len(datos_obtenidos)): #bucle para llenar tabla por columna for columna in xrange(2): #se crea un item item = QtGui.QTableWidgetItem() #se asigna el valor al item item.setText("%s" % (unicode(datos_obtenidos[fila][columna]))) #se manda valor a la tabla por posición fila columna self.ui.eliminar_lista.setItem(fila, columna, item)