Ejemplo n.º 1
0
    def actualizar_productos(self):
        """
        Método que realiza consultas a la base de datos sobre productos 
        vendidos y los carga en la interfaz.
        """
        self.lista_ProductoVenta = list()

        fecha_inicio = self.ui.calendarWidget_inicio.selectedDate().toString(
            "yyyy-MM-dd")
        fecha_fin = self.ui.calendarWidget_fin.selectedDate().toString(
            "yyyy-MM-dd")

        ventas = controller.getVentasPorFecha(fecha_inicio,fecha_fin)
        for venta in ventas:
            venta_productos = controller.getProductosPedido(venta.id_pedido)
            for ventaProducto in venta_productos:
                agregar = True
                for producto in self.lista_ProductoVenta:
                    if(ventaProducto.id_producto == producto.producto.id_producto):
                        producto.cantidad = (
                            producto.cantidad + 
                            ventaProducto.cantidad)
                        agregar = False
                if(agregar):
                    objeto_producto_venta = controller.ProductoVenta(
                        controller_admin_producto.getProductoId(
                            ventaProducto.id_producto)[0],
                            ventaProducto.cantidad,
                            ventaProducto.precio_venta,
                            venta.fecha)
                    self.lista_ProductoVenta.append(objeto_producto_venta)

        ingreso_total = 0
        productos_totales = 0
        for producto_venta in self.lista_ProductoVenta:
            ingreso_total = ingreso_total + (
                producto_venta.cantidad * producto_venta.precio)
            productos_totales = productos_totales + producto_venta.cantidad
        self.ui.label_ingreso_total.setText(
            controller_admin_producto.monetaryFormat(ingreso_total))
        self.ui.label_total_productos.setText(
            controller_admin_producto.monetaryFormat(productos_totales))

        self.load_model_total_productos(self.lista_ProductoVenta)

        self.crearymostrar_html()
Ejemplo n.º 2
0
    def actualizar_productos(self):
        """
        Método que realiza consultas a la base de datos sobre productos 
        vendidos y los carga en la interfaz.
        """
        self.lista_ProductoVenta = list()

        fecha_inicio = self.ui.calendarWidget_inicio.selectedDate().toString(
            "yyyy-MM-dd")
        fecha_fin = self.ui.calendarWidget_fin.selectedDate().toString(
            "yyyy-MM-dd")

        ventas = controller.getVentasPorFecha(fecha_inicio, fecha_fin)
        for venta in ventas:
            venta_productos = controller.getProductosPedido(venta.id_pedido)
            for ventaProducto in venta_productos:
                agregar = True
                for producto in self.lista_ProductoVenta:
                    if (ventaProducto.id_producto ==
                            producto.producto.id_producto):
                        producto.cantidad = (producto.cantidad +
                                             ventaProducto.cantidad)
                        agregar = False
                if (agregar):
                    objeto_producto_venta = controller.ProductoVenta(
                        controller_admin_producto.getProductoId(
                            ventaProducto.id_producto)[0],
                        ventaProducto.cantidad, ventaProducto.precio_venta,
                        venta.fecha)
                    self.lista_ProductoVenta.append(objeto_producto_venta)

        ingreso_total = 0
        productos_totales = 0
        for producto_venta in self.lista_ProductoVenta:
            ingreso_total = ingreso_total + (producto_venta.cantidad *
                                             producto_venta.precio)
            productos_totales = productos_totales + producto_venta.cantidad
        self.ui.label_ingreso_total.setText(
            controller_admin_producto.monetaryFormat(ingreso_total))
        self.ui.label_total_productos.setText(
            controller_admin_producto.monetaryFormat(productos_totales))

        self.load_model_total_productos(self.lista_ProductoVenta)

        self.crearymostrar_html()
Ejemplo n.º 3
0
    def load_productos_table2(self):
        """
        Carga la información de la base de datos en la tabla de pedidos.
        Obtiene desde la base de datos a traves del controlador
        la información completa de la tabla.
        Crea un model para adjuntar los datos a la grilla y luego
        lo retorna para utilizarlo en setSourceModel.
        """

        productos = controller.getProductosPedido(self.id_pedido)

        row = len(productos)

        model = QtGui.QStandardItemModel(row, len(self.__header_table2__))
        subtotal = 0

        for i, data in enumerate(productos):
            row = [
                data.id_producto,
                controller.getProductoId(data.id_producto)[0].codigo,
                controller.getProductoId(data.id_producto)[0].nombre,
                data.cantidad,
                controller_admin_producto.monetaryFormat(
                    str(data.precio_venta).split(".")[0])
            ]

            subtotal = subtotal + (long(data.precio_venta) * data.cantidad)

            for j, field in enumerate(row):
                index = model.index(i, j, QtCore.QModelIndex())
                if j is 5:
                    model.setData(index, self.__type_productos__[field])
                else:
                    model.setData(index, field)

        self.subtotal = subtotal
        self.propina = subtotal * 0.1
        aux = self.propina % 10
        if (aux != 0):
            self.propina = self.propina - aux
        self.total = subtotal + self.propina

        self.ui.lcdNumber_subtotal.display(self.subtotal)
        self.ui.lcdNumber_propina.display(self.propina)
        self.ui.lcdNumber_total.display(self.total)

        modelSel = self.ui.tableView_pedido.selectionModel()
        modelSel.currentChanged.connect(self.cell_selected_table2)

        return model
Ejemplo n.º 4
0
    def load_data(self, datos, header):
        """
        Carga la información dada en un QStandardItemModel
        """
        row = len(datos)

        self.model = QtGui.QStandardItemModel(row, len(header))

        for i, data in enumerate(datos):
            row = [
                data.producto.codigo, data.producto.nombre,
                str(controller_admin_producto.zerosAtLeft(data.cantidad, 3)),
                controller_admin_producto.monetaryFormat(data.precio),
                controller_admin_producto.monetaryFormat(data.precio *
                                                         data.cantidad)
            ]
            for j, field in enumerate(row):
                item = QtGui.QStandardItem(field)
                self.model.setItem(i, j, item)

        for col, h in enumerate(header):
            self.model.setHeaderData(col, QtCore.Qt.Horizontal, h[0])

        self.setSourceModel(self.model)
Ejemplo n.º 5
0
    def load_productos_table2(self):
        """
        Carga la información de la base de datos en la tabla de pedidos.
        Obtiene desde la base de datos a traves del controlador
        la información completa de la tabla.
        Crea un model para adjuntar los datos a la grilla y luego
        lo retorna para utilizarlo en setSourceModel.
        """

        productos = controller.getProductosPedido(self.id_pedido)
        
        row = len(productos)

        model = QtGui.QStandardItemModel(row, len(self.__header_table2__))
        subtotal = 0

        for i, data in enumerate(productos):
            row = [data.id_producto, 
                   controller.getProductoId(data.id_producto)[0].codigo,
                   controller.getProductoId(data.id_producto)[0].nombre,
                   data.cantidad,
                   controller_admin_producto.monetaryFormat(str(
                    data.precio_venta).split(".")[0])]

            subtotal = subtotal + (long(data.precio_venta) * data.cantidad)

            for j, field in enumerate(row):
                index = model.index(i, j, QtCore.QModelIndex())
                if j is 5:
                    model.setData(index, self.__type_productos__[field])
                else:
                    model.setData(index, field)

        self.subtotal = subtotal
        self.propina = subtotal * 0.1
        aux = self.propina % 10
        if (aux != 0):
            self.propina = self.propina-aux
        self.total = subtotal + self.propina

        self.ui.lcdNumber_subtotal.display(self.subtotal)
        self.ui.lcdNumber_propina.display(self.propina)
        self.ui.lcdNumber_total.display(self.total)

        modelSel = self.ui.tableView_pedido.selectionModel()
        modelSel.currentChanged.connect(self.cell_selected_table2)

        return model
Ejemplo n.º 6
0
    def load_ventas(self, parent):
        """
        Carga la información de la base de datos en la tabla.
        Obtiene desde la base de datos a traves del controlador
        la información completa de la tabla.
        Crea un model para adjuntar los datos a la grilla y luego
        lo retorna para utilizarlo en setSourceModel.
        """
        self.typeModelClass = parent

        ventas = controller_venta.getVentas()
        row = len(ventas)

        model = QtGui.QStandardItemModel(row, len(self.__header_table__))

        for i, data in enumerate(ventas):
            row = [data.id_venta, 
                   c.zerosAtLeft(data.num_documento, 8), 
                   str(data.fecha), 
                   data.tipo, 
                   c.monetaryFormat(int(data.total_pago)), 
                   (unicode(controller.getUsuarioId(data.id_usuario)[0].nombre) + 
                    " " + 
                    unicode(controller.getUsuarioId(data.id_usuario)[0].apellido))]

            for j, field in enumerate(row):
                index = model.index(i, j, QtCore.QModelIndex())
                if j is 4:
                    model.setData(index, field)
                else:
                    model.setData(index, field)

        modelSel = self.ui.tableView_ventas.selectionModel()
        modelSel.currentChanged.connect(self.tabla_cell_selected)

        return model
Ejemplo n.º 7
0
    def load_data(self, datos, header):
        """
        Carga la información dada en un QStandardItemModel
        """
        row = len(datos)

        self.model = QtGui.QStandardItemModel(row, len(header))

        for i, data in enumerate(datos):
            row = [data.producto.codigo,data.producto.nombre,str(controller_admin_producto.zerosAtLeft(data.cantidad,3)),controller_admin_producto.monetaryFormat(data.precio),controller_admin_producto.monetaryFormat(data.precio*data.cantidad)]
            for j, field in enumerate(row):
                item = QtGui.QStandardItem(field)
                self.model.setItem(i, j, item)

        for col, h in enumerate(header):
            self.model.setHeaderData(col, QtCore.Qt.Horizontal, h[0])

        self.setSourceModel(self.model)
Ejemplo n.º 8
0
    def action_imprimir(self):
        """
        Método que se ejecuta cuando el usuario apreta en el 
        boton "imprimir detalle".
        Genera un canvas con los datos de la venta y 
        lo exporta como PDF a la carpeta nostro/docs
        """
        # Se crea una venta sólo si no se ha creado anteriormente.
        if (self.crear_venta):
            self.agregarVenta()
            self.crear_venta = False

        # Obtener Datos.
        nombre_usuario = str(
            controller_admin_user.getUsuarioRut(
                self.rut_usuario)[0].nombre).upper() + " " + str(
                    controller_admin_user.getUsuarioRut(
                        self.rut_usuario)[0].apellido).upper()
        fecha_hora = time.strftime("Fecha: %d-%m-%Y       Hora: %H:%M:%S")
        productos = controller.getProductosPedido(self.id_pedido)
        num_productos = len(productos)
        espacio_productos = num_productos * 15
        empresa = controller_empresa.getEmpresa(1)[0]

        c = canvas.Canvas(
            "docs/detalle_mesa_" + str(self.mesa) + "_documento_" +
            controller_admin_producto.zerosAtLeft(self.num_documento, 8) +
            ".pdf")
        ancho = 300
        alto = 390 + espacio_productos
        c.setPageSize((ancho, alto + 50))
        c.drawImage("images/logo_nombre.jpg", 40, alto - 30, 220, 66)
        c.drawString(10, alto - 50, empresa.nombre.decode('cp1252'))
        c.drawString(10, alto - 65, empresa.direccion.decode('cp1252'))
        c.drawString(10, alto - 80, "FONO: " + empresa.fono)
        c.drawString(10, alto - 110, fecha_hora)
        c.drawString(10, alto - 125,
                     "CREADOR: " + nombre_usuario.decode('cp1252'))
        c.drawString(
            10, alto - 140, "NUM. CUENTA: " +
            controller_admin_producto.zerosAtLeft(self.num_documento, 8))
        c.drawString(
            10, alto - 155,
            "---------------------------------------------------------------------"
        )
        if (int(self.mesa) == 0):
            c.drawString(10, alto - 170, "COMPRA DIRECTA")
        else:
            c.drawString(10, alto - 170, "MESA: " + str(self.mesa))
        c.drawString(
            10, alto - 185, "CUENTA: " +
            controller_admin_producto.zerosAtLeft(self.num_documento, 8))
        c.drawString(
            10, alto - 200,
            "---------------------------------------------------------------------"
        )
        alto_productos = alto - 215
        for i, producto in enumerate(productos):
            c.drawString(10, alto_productos - 15 * i, str(producto.cantidad))
            c.drawString(
                30, alto_productos - 15 * i,
                str(controller.getProductoId(
                    producto.id_producto)[0].nombre).decode('cp1252'))
            c.drawString(230, alto_productos - 15 * i, "$")
            c.drawRightString(
                280, alto_productos - 15 * i,
                str(
                    controller_admin_producto.monetaryFormat(
                        int(producto.precio_venta * producto.cantidad))))
            fin_alto_productos = alto_productos - 15 * i
        try:
            fin_alto_productos
        except:
            fin_alto_productos = alto_productos
        c.drawString(
            10, fin_alto_productos - 15,
            "---------------------------------------------------------------------"
        )
        fin_alto_productos = fin_alto_productos - 30

        c.drawString(120, fin_alto_productos - 15, "CONSUMO: ")
        c.drawString(200, fin_alto_productos - 15, "$")
        c.drawRightString(
            250, fin_alto_productos - 15,
            str(controller_admin_producto.monetaryFormat(int(self.subtotal))))
        c.drawString(120, fin_alto_productos - 30, "TOTAL: ")
        c.drawString(200, fin_alto_productos - 30, "$")
        c.drawRightString(
            250, fin_alto_productos - 30,
            str(controller_admin_producto.monetaryFormat(int(self.subtotal))))
        if (int(self.mesa) != 0):
            c.drawString(35, fin_alto_productos - 60, "PROPINA SUGERIDA 10%: ")
            c.drawString(200, fin_alto_productos - 60, "$")
            c.drawRightString(
                250, fin_alto_productos - 60,
                str(controller_admin_producto.monetaryFormat(int(
                    self.propina))))
            c.drawString(35, fin_alto_productos - 75, "TOTAL + PROPINA: ")
            c.drawString(200, fin_alto_productos - 75, "$")
            c.drawRightString(
                250, fin_alto_productos - 75,
                str(controller_admin_producto.monetaryFormat(int(self.total))))

            c.drawString(10, fin_alto_productos - 115,
                         "Gracias por su visita.")
            c.drawString(20, fin_alto_productos - 145,
                         "            ***Ticket no valido como boleta***")
        else:
            c.drawString(10, fin_alto_productos - 75, "Gracias por su visita.")
            c.drawString(20, fin_alto_productos - 105,
                         "            ***Ticket no valido como boleta***")

        c.save()

        self.imprimir_pdf(
            os.getcwd() + "/docs/detalle_mesa_" + str(self.mesa) +
            "_documento_" +
            controller_admin_producto.zerosAtLeft(self.num_documento, 8) +
            ".pdf")
Ejemplo n.º 9
0
    def action_imprimir(self):
        """
        Método que se ejecuta cuando el usuario apreta en el 
        boton "imprimir detalle".
        Genera un canvas con los datos de la venta y 
        lo exporta como PDF a la carpeta nostro/docs
        """
        # Se crea una venta sólo si no se ha creado anteriormente.
        if(self.crear_venta):
            self.agregarVenta()
            self.crear_venta = False

        # Obtener Datos.
        nombre_usuario = str(controller_admin_user.getUsuarioRut(
            self.rut_usuario)[0].nombre).upper()+" "+str(
            controller_admin_user.getUsuarioRut(
                self.rut_usuario)[0].apellido).upper()
        fecha_hora = time.strftime("Fecha: %d-%m-%Y       Hora: %H:%M:%S")
        productos = controller.getProductosPedido(self.id_pedido)
        num_productos = len(productos)
        espacio_productos = num_productos*15
        empresa = controller_empresa.getEmpresa(1)[0]

        c = canvas.Canvas("docs/detalle_mesa_"+str(self.mesa)+"_documento_"+
            controller_admin_producto.zerosAtLeft(self.num_documento,8)+".pdf")
        ancho = 300
        alto = 390+espacio_productos
        c.setPageSize((ancho, alto+50))
        c.drawImage("images/logo_nombre.jpg",40,alto-30,220,66)
        c.drawString(10,alto-50,empresa.nombre.decode('cp1252'))
        c.drawString(10,alto-65,empresa.direccion.decode('cp1252'))
        c.drawString(10,alto-80,"FONO: "+empresa.fono)
        c.drawString(10,alto-110,fecha_hora)
        c.drawString(10,alto-125,"CREADOR: "+nombre_usuario.decode('cp1252'))
        c.drawString(10,alto-140,"NUM. CUENTA: "+
            controller_admin_producto.zerosAtLeft(self.num_documento,8))
        c.drawString(10,alto-155,
            "---------------------------------------------------------------------")
        if(int(self.mesa) == 0):
            c.drawString(10,alto-170,"COMPRA DIRECTA")
        else:
            c.drawString(10,alto-170,"MESA: "+str(self.mesa))
        c.drawString(10,alto-185,"CUENTA: "
            +controller_admin_producto.zerosAtLeft(self.num_documento,8))
        c.drawString(10,alto-200,
            "---------------------------------------------------------------------")
        alto_productos = alto-215
        for i,producto in enumerate(productos):
            c.drawString(10,alto_productos-15*i,str(producto.cantidad))
            c.drawString(30,alto_productos-15*i,str(
                controller.getProductoId(
                    producto.id_producto)[0].nombre).decode('cp1252'))
            c.drawString(230,alto_productos-15*i,"$")
            c.drawRightString(280,alto_productos-15*i,str(
                controller_admin_producto.monetaryFormat(
                    int(producto.precio_venta*producto.cantidad))))
            fin_alto_productos = alto_productos-15*i
        try:
            fin_alto_productos
        except:
            fin_alto_productos = alto_productos
        c.drawString(10,fin_alto_productos-15,
            "---------------------------------------------------------------------")
        fin_alto_productos = fin_alto_productos - 30

        c.drawString(120,fin_alto_productos-15,"CONSUMO: ")
        c.drawString(200,fin_alto_productos-15,"$")
        c.drawRightString(250,fin_alto_productos-15,str(
            controller_admin_producto.monetaryFormat(int(self.subtotal))))
        c.drawString(120,fin_alto_productos-30,"TOTAL: ")
        c.drawString(200,fin_alto_productos-30,"$")
        c.drawRightString(250,fin_alto_productos-30,str(
            controller_admin_producto.monetaryFormat(int(self.subtotal))))
        if(int(self.mesa) != 0):
            c.drawString(35,fin_alto_productos-60,"PROPINA SUGERIDA 10%: ")
            c.drawString(200,fin_alto_productos-60,"$")
            c.drawRightString(250,fin_alto_productos-60,str(
                controller_admin_producto.monetaryFormat(int(self.propina))))
            c.drawString(35,fin_alto_productos-75,"TOTAL + PROPINA: ")
            c.drawString(200,fin_alto_productos-75,"$")
            c.drawRightString(250,fin_alto_productos-75,str(
                controller_admin_producto.monetaryFormat(int(self.total))))

            c.drawString(10,fin_alto_productos-115,"Gracias por su visita.")
            c.drawString(20,fin_alto_productos-145, "            ***Ticket no valido como boleta***")
        else:
            c.drawString(10,fin_alto_productos-75,"Gracias por su visita.")
            c.drawString(20,fin_alto_productos-105, "            ***Ticket no valido como boleta***")


        c.save()

        self.imprimir_pdf(os.getcwd() + "/docs/detalle_mesa_"+str(self.mesa)+
            "_documento_"+controller_admin_producto.zerosAtLeft(
                self.num_documento,8)+".pdf")
Ejemplo n.º 10
0
    def load_data_table(self,re=False):
        """
        Método que obtiene los productos actuales del pedido de forma repetida,
        es decir, se obtiene cada producto (objeto) n veces repetido, donde n
        es la cantidad de veces que se compró y los carga en la tabla.
        Si 're' es True, realiza funciones para actualizar la tabla y mantener
        los valores modificados por el usuario.
        """
        __check_icons__ = [(QtGui.QPixmap(
                            os.getcwd() + "/admin_productos/icons/red_check.png")),
                           (QtGui.QPixmap(
                            os.getcwd() + "/admin_productos/icons/green_check.png"))]
        self.productos = controller.getProductosPedidoRepetidosPorCantidad(
            self.id_pedido)
        self.cantidad_productos = len(self.productos)
        if(not re):
            self.ui.tableWidget_resumen.setHorizontalHeaderLabels(
                self.__header_table__)
            self.ui.tableWidget_resumen.setRowCount(
                self.cantidad_productos)

        __type_pay__ = ["NINGUNO"]

        for pago in range(1,self.n_pagos+1):
            __type_pay__.append("Pago "+str(pago))

        self.list_combobox = list()
        self.list_precio = list()

        for i, data in enumerate(self.productos):
            model = QtGui.QStandardItemModel()
            for text in __type_pay__:
                text_item = QtGui.QStandardItem(text)
                text_item.setSizeHint(QtCore.QSize(100, 50))
                text_item.setTextAlignment(QtCore.Qt.AlignHCenter)
                text_item.setTextAlignment(QtCore.Qt.AlignVCenter)
                model.appendRow(text_item)
            view = QtGui.QTreeView()
            view.header().hide()
            view.setRootIsDecorated(False)
            combobox = QtGui.QComboBox()
            combobox.setView(view)
            combobox.setModel(model)
            estado = 1
            if(re):
                index = self.ui.tableWidget_resumen.cellWidget(
                    i,4).currentIndex()
                combobox.setCurrentIndex(index)
                estado = self.ui.tableWidget_resumen.cellWidget(
                    i,5).estado
            else:
                combobox.setCurrentIndex(1)
            combobox.currentIndexChanged.connect(self.combobox_changed)

            label_pixmap = controller.LabelPago(__check_icons__,estado)

            self.list_precio.append(int(str(data.precio_venta).split(".")[0]))
            self.list_combobox.append(combobox)
            row = [QtGui.QTableWidgetItem(str(data.id_producto)),
                   QtGui.QTableWidgetItem(
                    controller.getProductoId(data.id_producto)[0].codigo),
                   QtGui.QTableWidgetItem(
                    controller.getProductoId(data.id_producto)[0].nombre),
                   QtGui.QTableWidgetItem(
                    controller_admin_producto.monetaryFormat(
                        str(data.precio_venta).split(".")[0])),
                   combobox,
                   label_pixmap]
            for j, cell in enumerate(row):
                if(j == 4 or j == 5):
                    self.ui.tableWidget_resumen.setCellWidget(i,j,cell)
                else:
                    self.ui.tableWidget_resumen.setItem(i,j,cell)

        self.ui.tableWidget_resumen.setColumnHidden(0, True)
        self.ui.tableWidget_resumen.resizeColumnsToContents()
        self.ui.tableWidget_resumen.horizontalHeader().setResizeMode(
            2, self.ui.tableWidget_resumen.horizontalHeader().Stretch)

        self.combobox_changed(0)
Ejemplo n.º 11
0
    def load_data_table(self, re=False):
        """
        Método que obtiene los productos actuales del pedido de forma repetida,
        es decir, se obtiene cada producto (objeto) n veces repetido, donde n
        es la cantidad de veces que se compró y los carga en la tabla.
        Si 're' es True, realiza funciones para actualizar la tabla y mantener
        los valores modificados por el usuario.
        """
        __check_icons__ = [
            (QtGui.QPixmap(os.getcwd() +
                           "/admin_productos/icons/red_check.png")),
            (QtGui.QPixmap(os.getcwd() +
                           "/admin_productos/icons/green_check.png"))
        ]
        self.productos = controller.getProductosPedidoRepetidosPorCantidad(
            self.id_pedido)
        self.cantidad_productos = len(self.productos)
        if (not re):
            self.ui.tableWidget_resumen.setHorizontalHeaderLabels(
                self.__header_table__)
            self.ui.tableWidget_resumen.setRowCount(self.cantidad_productos)

        __type_pay__ = ["NINGUNO"]

        for pago in range(1, self.n_pagos + 1):
            __type_pay__.append("Pago " + str(pago))

        self.list_combobox = list()
        self.list_precio = list()

        for i, data in enumerate(self.productos):
            model = QtGui.QStandardItemModel()
            for text in __type_pay__:
                text_item = QtGui.QStandardItem(text)
                text_item.setSizeHint(QtCore.QSize(100, 50))
                text_item.setTextAlignment(QtCore.Qt.AlignHCenter)
                text_item.setTextAlignment(QtCore.Qt.AlignVCenter)
                model.appendRow(text_item)
            view = QtGui.QTreeView()
            view.header().hide()
            view.setRootIsDecorated(False)
            combobox = QtGui.QComboBox()
            combobox.setView(view)
            combobox.setModel(model)
            estado = 1
            if (re):
                index = self.ui.tableWidget_resumen.cellWidget(
                    i, 4).currentIndex()
                combobox.setCurrentIndex(index)
                estado = self.ui.tableWidget_resumen.cellWidget(i, 5).estado
            else:
                combobox.setCurrentIndex(1)
            combobox.currentIndexChanged.connect(self.combobox_changed)

            label_pixmap = controller.LabelPago(__check_icons__, estado)

            self.list_precio.append(int(str(data.precio_venta).split(".")[0]))
            self.list_combobox.append(combobox)
            row = [
                QtGui.QTableWidgetItem(str(data.id_producto)),
                QtGui.QTableWidgetItem(
                    controller.getProductoId(data.id_producto)[0].codigo),
                QtGui.QTableWidgetItem(
                    controller.getProductoId(data.id_producto)[0].nombre),
                QtGui.QTableWidgetItem(
                    controller_admin_producto.monetaryFormat(
                        str(data.precio_venta).split(".")[0])), combobox,
                label_pixmap
            ]
            for j, cell in enumerate(row):
                if (j == 4 or j == 5):
                    self.ui.tableWidget_resumen.setCellWidget(i, j, cell)
                else:
                    self.ui.tableWidget_resumen.setItem(i, j, cell)

        self.ui.tableWidget_resumen.setColumnHidden(0, True)
        self.ui.tableWidget_resumen.resizeColumnsToContents()
        self.ui.tableWidget_resumen.horizontalHeader().setResizeMode(
            2,
            self.ui.tableWidget_resumen.horizontalHeader().Stretch)

        self.combobox_changed(0)