Esempio n. 1
0
class Usuario:
    def __init__(self, id=None, nombreUsuario=None, contrasena=None):
        self.id = id
        self.nombreUsuario = nombreUsuario
        self.contrasena = contrasena
        self.bd = BaseDatos()
        self.conectarBD()
        if (id is not None):
            self.activo = 1
            self.generaUsuarioConId()
        else:
            self.activo = 0

    def conectarBD(self):
        self.conn = sqlite3.connect("basedatos.db")
        self.cursor = self.conn.cursor()
        # self.conn,self.cursor=self.bd.conectarBD()

    def generaUsuarioConId(self):
        # sql = "SELECT nombre, contrasena FROM usuarios where id=? and activo=1"
        # self.cursor.execute(sql,[(self.id)])
        tabla = "usuarios"
        camposSelect = ["nombre", "contrasena"]
        camposWhere = ["id", "activo"]
        tipoCampoWhere = [-1, 1]
        datosUsuario = self.bd.generarValorCampoConId(tabla, camposSelect,
                                                      camposWhere,
                                                      tipoCampoWhere, self.id)
        # datosUsuario=self.cursor.fetchone()
        self.nombreUsuario = datosUsuario[0]
        self.contrasena = datosUsuario[1]
        print("nombres usuario viejo: " + str(self.nombreUsuario))
        print("contrasena usuario viejo: " + str(self.contrasena))
        # print(datosUsuario)
        # print("repite?")

    def buscarUsuario(self, nombre, contrasena):
        # print("---------------------------")
        # cwd = os.getcwd()
        # print(cwd)
        # print("---------------------------")

        # id=None
        tabla = "usuarios"
        campos = ["nombre", "contrasena", "activo"]
        tipoCampos = [-1, -1, 1]
        valorCampos = [nombre, contrasena]
        id = self.bd.buscarValorCampo(tabla, campos, tipoCampos, valorCampos)
        # sql = "SELECT id FROM usuarios where nombre=? and contrasena=? and activo=1"
        # self.cursor.execute(sql, [(nombre),(contrasena)])
        # id=self.cursor.fetchone()
        if id is not None:
            self.id = id[0]
            self.nombreUsuario = nombre
            self.contrasena = contrasena
            self.activo = 1
            return True
        else:
            return False

    def borrarUsuario(self):
        tabla = "usuarios"
        self.bd.borrarValorCampo(tabla, self.id)

    def crearUsuario(self):
        tabla = "usuarios"
        campos = ["nombre", "contrasena"]
        valorCampos = [self.nombreUsuario, self.contrasena]
        self.id = self.bd.crearValorCampo(tabla, campos, valorCampos)
        # sql = "INSERT INTO usuarios(nombre,contrasena) VALUES (?,?)"
        # self.cursor.execute(sql,
        #     [
        #         (self.nombreUsuario),
        #         (self.contrasena),
        #     ]
        # )
        # self.conn.commit()

        # self.id= self.cursor.lastrowid

    def actualizarUsuario(self, nombre, contrasena):
        tabla = "usuarios"
        campos = ["nombre", "contrasena"]
        valorCampos = [nombre, contrasena, self.id]
        self.bd.actualizarValorCampo(tabla, campos, valorCampos)
Esempio n. 2
0
class Proveedor:
    def __init__(self, id=None, nombreUsuario=None, numero_documento=None):
        self.id = id
        self.nombreUsuario = nombreUsuario
        self.numero_documento = numero_documento
        self.bd = BaseDatos()
        self.conectarBD()
        if (id is not None):
            self.activo = 1
            self.generaProveedorConId()
        else:
            self.activo = 0

    def getNombreUsuario(self):
        tabla = "proveedores"
        camposSelect = ["nombre"]
        camposWhere = ["numero_documento", "activo"]
        tipoCampoWhere = [-1, 1]
        datoNombre = self.bd.generarValorCampoConId(tabla, camposSelect,
                                                    camposWhere,
                                                    tipoCampoWhere,
                                                    self.numero_documento)
        self.nombreUsuario = datoNombre[0]
        print("Dato nombre es: ")
        print(datoNombre[0])

    def buscarProveedorDoc(self, numero_documento):
        # id=None
        tabla = "proveedores"
        campos = ["numero_documento", "activo"]
        tipoCampos = [-1, 1]
        valorCampos = [numero_documento]
        id = self.bd.buscarValorCampo(tabla, campos, tipoCampos, valorCampos)
        # sql = "SELECT id FROM usuarios where nombre=? and contrasena=? and activo=1"
        # self.cursor.execute(sql, [(nombre),(contrasena)])
        # id=self.cursor.fetchone()
        if id is not None:
            self.id = id[0]
            self.numero_documento = numero_documento
            self.activo = 1
            self.getNombreUsuario()
            return True
        else:
            return False

    def crearProveedor(self):
        tabla = "proveedores"
        campos = ["nombre", "numero_documento"]
        valorCampos = [self.nombreUsuario, self.numero_documento]
        self.id = self.bd.crearValorCampo(tabla, campos, valorCampos)

    def conectarBD(self):
        self.conn = sqlite3.connect("basedatos.db")
        self.cursor = self.conn.cursor()

    def generaProveedorConId(self):
        # sql = "SELECT nombre, contrasena FROM usuarios where id=? and activo=1"
        # self.cursor.execute(sql,[(self.id)])
        tabla = "proveedores"
        camposSelect = ["nombre", "numero_documento"]
        camposWhere = ["id", "activo"]
        tipoCampoWhere = [-1, 1]
        datosUsuario = self.bd.generarValorCampoConId(tabla, camposSelect,
                                                      camposWhere,
                                                      tipoCampoWhere, self.id)
        # datosUsuario=self.cursor.fetchone()
        self.nombreUsuario = datosUsuario[0]
        self.numero_documento = datosUsuario[1]
        print("nombres usuario viejo: " + str(self.nombreUsuario))
        print("numero_documento usuario viejo: " + str(self.numero_documento))

    def borrarProveedor(self):
        tabla = "proveedores"
        self.bd.borrarValorCampo(tabla, self.id)
Esempio n. 3
0
class Producto:
    def __init__(self,
                 id=None,
                 codigo=None,
                 descripcion=None,
                 precio=None,
                 id_categoria=None,
                 iva=None,
                 cantidad=None,
                 inventario=None):
        self.id = id
        self.codigo = codigo
        self.descripcion = descripcion
        self.precio = precio
        self.id_categoria = id_categoria
        self.categoria = None
        self.iva = iva
        self.cantidad = None
        self.inventario = inventario
        self.totalConIva = None
        self.totalSinIva = None
        self.bd = BaseDatos()
        self.conectarBD()

    def borrarProducto(self):
        tabla = "productos"
        self.bd.borrarValorCampo(tabla, self.id)

    def crearProducto(self):
        tabla = "productos"
        campos = [
            "codigo", "descripcion", "precio", "inventario", "id_categoria"
        ]
        print(
            str(self.codigo) + str(self.descripcion) + str(self.precio) +
            str(self.inventario) + str(self.id_categoria))
        valorCampos = [
            self.codigo, self.descripcion, self.precio, self.inventario,
            self.id_categoria
        ]
        self.id = self.bd.crearValorCampo(tabla, campos, valorCampos)

    def cargarDatos(self):
        print("cargarDatos")
        self.arregloBotones = []
        tabla = "usuarios"
        camposSelect = ["id", "nombre", "contrasena"]
        self.tableWidget.setRowCount(0)
        rows = self.bd.cargarDatosValorCampo(tabla, camposSelect)
        # conn = sqlite3.connect("basedatos.db")
        # cursor = conn.cursor()
        # cursor.execute('SELECT id, nombre, contrasena FROM usuarios WHERE activo = 1')
        # rows = cursor.fetchall()

        for count in range(len(rows)):
            self.arregloBotones.append(QtWidgets.QPushButton(self.tableWidget))
            self.arregloBotones[count].setText('Borrar')

        for row in rows:
            inx = rows.index(row)
            self.tableWidget.insertRow(inx)
            a = QtWidgets.QTableWidgetItem(str(row[0]))
            a.setFlags(a.flags() & ~Qt.ItemIsEditable)
            self.tableWidget.setItem(inx, 0, a)
            self.tableWidget.setItem(inx, 1,
                                     QtWidgets.QTableWidgetItem(str(row[1])))
            self.tableWidget.setItem(inx, 2,
                                     QtWidgets.QTableWidgetItem(str(row[2])))
            self.tableWidget.setCellWidget(inx, 3,
                                           self.arregloBotones[int(inx)])
            self.arregloBotones[inx].clicked.connect(self.borrarUsuario)

    def actualizarInventarioVenta(self):
        tabla = "productos"
        campos = ["inventario"]
        inventarioAct = self.inventario - self.cantidad
        print("inventarioAct: " + str(inventarioAct))
        print("id producto: " + str(self.id))
        valorCampos = [int(inventarioAct), self.id]
        self.bd.actualizarValorCampo(tabla, campos, valorCampos)

    def actualizarInventarioVenta2(self):
        tabla = "productos"
        campos = ["inventario"]
        inventarioAct = self.inventario + self.cantidad
        print("inventarioAct: " + str(inventarioAct))
        print("id producto: " + str(self.id))
        valorCampos = [int(inventarioAct), self.id]
        self.bd.actualizarValorCampo(tabla, campos, valorCampos)

    def calcularTotales(self):
        self.totalSinIva = self.precio * self.cantidad
        self.totalConIva = self.totalSinIva * (1 + self.iva)
        print(self.totalSinIva)
        print(self.totalConIva)

    def conectarBD(self):
        self.conn = sqlite3.connect("basedatos.db")
        self.cursor = self.conn.cursor()

    def findCategoria(self):
        tabla = "categorias"
        camposSelect = ["nombre"]
        camposWhere = ["id"]
        tipoCamposWhere = [-1]
        valorCamposWhere = [self.id_categoria]
        row = self.bd.buscarValorCamposGeneral(tabla, camposSelect,
                                               camposWhere, tipoCamposWhere,
                                               valorCamposWhere)
        self.categoria = row[0]

    def actualizarInfoProducto(self):
        tabla = "productos"
        camposSelect = [
            "descripcion", "precio", "inventario", "id_categoria", "id"
        ]
        camposWhere = ["codigo"]
        tipoCamposWhere = [-1]
        valorCamposWhere = [self.codigo]
        print(valorCamposWhere)

        rows = self.bd.buscarValorCamposGeneral(tabla, camposSelect,
                                                camposWhere, tipoCamposWhere,
                                                valorCamposWhere)
        self.descripcion = rows[0]
        self.precio = rows[1]
        self.inventario = rows[2]
        self.id_categoria = rows[3]
        self.findCategoria()
        self.id = rows[4]