Exemplo n.º 1
0
    def CadContaVenda(self):

        INSERI = CrudContaAReceber()

        if self.tb_Parcelas.rowCount() > 0:
            for i in range(self.tb_Parcelas.rowCount()):
                try:
                    self.tb_Parcelas.item(i, 0).text()
                    INSERI.id = self.tb_Parcelas.item(i, 0).text()
                except:
                    INSERI.id = INSERI.lastIdContaAReceber()
                INSERI.idVenda = self.tx_Cod.text()
                INSERI.idCliente = self.tx_Id.text()
                INSERI.descricao = """Pedido de Venda {}. Parcela {} de {} """.format(
                    self.tx_Cod.text(), i + 1, self.tb_Parcelas.rowCount())
                INSERI.categoria = 1
                INSERI.dataVencimento = QDate.toString(
                    self.tb_Parcelas.cellWidget(i, 1).date(), "yyyy-MM-dd")
                INSERI.valor = self.tb_Parcelas.item(i, 2).text()
                INSERI.formaPagamento = self.cb_FormaPagamento.currentData()
                INSERI.inseriParcelaVenda()
Exemplo n.º 2
0
    def ParcelasAReceber(self):
        while self.tb_Parcelas.rowCount() > 0:
            self.tb_Parcelas.removeRow(0)

        busca = CrudContaAReceber()
        busca.idVenda = self.tx_Cod.text()
        busca.listaParcelas()

        # Se houver parcela gerada desabilita Botao salvar e remover item
        if busca.dataVencimento:
            self.bt_GerarParcela.setDisabled(True)
            self.tb_Itens.setColumnHidden(6, True)
            for item in self.fr_addProduto.findChildren(QLineEdit):
                item.setDisabled(True)
            self.bt_Salvar.setDisabled(True)
            self.cb_FormaPagamento.setDisabled(True)
            self.cb_QtdeParcela.setDisabled(True)
        i = 0
        while i < len(busca.dataVencimento):
            self.tb_Parcelas.insertRow(i)
            self.conteudoTabela(self.tb_Parcelas, i,
                                0, str(busca.id[i]))
            self.dt_tabela(self.tb_Parcelas, i,
                           1, busca.dataVencimento[i], busca.idStatusPagamento[i])
            self.conteudoTabela(self.tb_Parcelas, i,
                                2, str(busca.valor[i]))
            self.tx_tabelaReceber(self.tb_Parcelas, i, 3,
                                  busca.idStatusPagamento[i],
                                  str(busca.valor[i] - busca.valorRecebido[i]))
            self.botaoReceberParcela(self.tb_Parcelas, i, 4,
                                     partial(self.Receber, i), "Receber",
                                     busca.idStatusPagamento[i])
            self.cb_QtdeParcela.setCurrentIndex(
                self.cb_QtdeParcela.findData(len(busca.id)))
            self.cb_FormaPagamento.setCurrentIndex(
                self.cb_FormaPagamento.findData(
                    busca.idFormaPagamento[0]))

            i += 1
Exemplo n.º 3
0
    def imprimirVenda(self):
        self.documento = QWebEngineView()

        headertable = ["Produto", "Obs. ", "Qnte.", "$ Unitário", "$ Total"]
        produto = []
        qtde = []
        obs = []
        valorUnitario = []
        totalItem = []
        for i in range(self.tb_Itens.rowCount()):
            produto.append(self.tb_Itens.item(i, 1).text())
            obs.append(self.tb_Itens.item(i, 2).text())
            qtde.append(self.tb_Itens.item(i, 3).text())
            valorUnitario.append(self.tb_Itens.item(i, 4).text())
            totalItem.append(self.tb_Itens.item(i, 5).text())

        # Consulta Venda Banco de Dados
        busca = CrudVenda()
        busca.id = self.tx_Cod.text()
        busca.selectVendaId()

        # Consulta Cliente banco de dados
        cliente = CrudCliente()
        cliente.id = self.tx_Id.text()
        cliente.selectClienteId()

        # Consulta Financeiro banco de dados
        financeiro = CrudContaAReceber()
        financeiro.idVenda = self.tx_Cod.text()
        financeiro.listaParcelas()

        html = self.renderTemplate(
            "venda.html",
            estilo=self.resourcepath('Template/estilo.css'),
            titulo="Pedido Nº:",
            idPedido=self.tx_Cod.text(),
            cliente=cliente.nome,
            endCliente=[cliente.endereco, cliente.numero],
            cepCliente=cliente.cep,
            emailEcliente=cliente.email,
            cpfCliente=cliente.cpf,
            cidadeCliente=cliente.cidade,
            telefoneCliente=self.formatoNumTelefone(cliente.telefone),
            rgCliente=cliente.rg,
            bairroCliente=cliente.bairro,
            estadoCliente=cliente.estado,
            celularCliente=self.formatoNumTelefone(cliente.celular),
            dataEmissao=QDate.toString(self.dt_Emissao.date(), "dd-MM-yyyy"),
            prazoEntrega=QDate.toString(self.dt_Prazo.date(), "dd-MM-yyyy"),
            dataEntrega=QDate.toString(self.dt_Entrega.date(), "dd-MM-yyyy"),
            statusEntrega=[busca.idStatusEntrega, busca.statusEntrega],
            statusFinanceiro=busca.statusPagamento,
            headertable=headertable,
            descProduto=produto,
            observacao=obs,
            quantidade=qtde,
            valUnit=valorUnitario,
            valTotalItens=totalItem,
            subtotal=self.lb_SubTotal.text(),
            frete=self.tx_Frete.text(),
            desconto=self.tx_Desconto.text(),
            total=self.tx_TotalFinal.text(),
            formaPagamento=self.cb_FormaPagamento.currentText(),
            condicao=self.cb_QtdeParcela.currentText(),
            descParcela=financeiro.descricao,
            vencimentoparcela=financeiro.dataVencimento,
            valorParcela=financeiro.valor,
            situacao=financeiro.statusPagamento,
            formaPagamentoParcela=financeiro.formaPagamento)

        self.documento.load(QUrl("file:///" +
                                 self.resourcepath("report.html")))
        self.documento.loadFinished['bool'].connect(self.previaImpressao)