Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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("")
#-----------------------------------------------------------------------------------------------------------------------------------------------
Esempio n. 8
0
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("")


#-----------------------------------------------------------------------------------------------------------------------------------------------
Esempio n. 9
0
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('')
Esempio n. 10
0
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('')
Esempio n. 11
0
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('')
Esempio n. 12
0
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)
################################################################################################################################################
Esempio n. 13
0
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)
Esempio n. 14
0
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)
Esempio n. 15
0
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)
Esempio n. 16
0
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)
Esempio n. 17
0
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)
Esempio n. 18
0
 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
Esempio n. 19
0
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)
Esempio n. 20
0
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)
Esempio n. 21
0
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)
Esempio n. 22
0
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)