Esempio n. 1
0
class Compra:

    def __init__(self,id=None,id_cliente=None,id_usuario=None,fecha=None):
        self.id=id
        self.id_cliente=id_cliente
        self.id_usuario=id_usuario
        self.fecha=fecha
        self.total=0
        self.iva_total=0
        self.iva_total_desc=0
        self.items_venta=[]
        self.medioPago=None
        self.descuento=None
        self.bd=BaseDatos()
        self.conectarBD()

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

    def clearAll(self):
        self.id_cliente=None
        self.total=0
        self.iva_total=0
        self.iva_total_desc=0
        self.items_venta=[]
        self.medioPago=None
        self.descuento=None

    def buscarItemVenta(self):
        print("cargarDatos")
        self.arregloBotones=[]
        tabla="items_compra"
        camposSelect=["id","nombre","contrasena"]
        self.tableWidget.setRowCount(0)
        rows=self.bd.cargarDatosValorCampo(tabla,camposSelect)
    def guardarVenta(self):
        tabla="compras"
        print("id Proveedor: "+str(self.id_cliente))
        print("id_usuario: "+str(self.id_usuario))
        campos=["id_proveedor","id_usuario","fecha","total","iva_total","medio_pago_id"]
        valorCampos=[self.id_cliente,self.id_usuario,self.fecha,self.total,self.iva_total_desc,self.medioPago]
        self.id=self.bd.crearValorCampo(tabla,campos,valorCampos)
        self.guardarItemsVenta()
    def guardarItemsVenta(self):
        tabla="items_compra"
        campos=["id_compra","precio","cantidad","iva","id_producto","total"]
        for item in self.items_venta:
            valorCampos=[self.id,item.precio,item.cantidad,item.iva,item.id,item.totalSinIva]
            id_item=self.bd.crearValorCampo(tabla,campos,valorCampos)
            item.actualizarInventarioVenta2()
Esempio n. 2
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]