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