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