def SelectCompraId(self, id): busca = CrudCompra() self.FormCompras() self.tx_Cod.setText(str(id)) busca.id = id busca.selectCompraId() self.tx_Id.setText(str(busca.idFornecedor)) self.BuscaFornecedorId(self.tx_IdBuscaItem) self.tx_Desconto.setText(str(busca.desconto)) self.tx_Frete.setText(str(busca.frete)) self.dt_Prazo.setDate(busca.prazoEntrega) if busca.valorPago: self.tx_valorRecebido.setText(str(busca.valorPago)) if busca.idStatusPagamento == 2: self.bt_GerarParcela.setEnabled(True) if busca.idStatusEntrega == 2: self.bt_Entregar.setEnabled(True) if busca.idStatusEntrega == 1: self.tb_Itens.setColumnHidden(6, True) for item in self.fr_addProduto.findChildren(QLineEdit): item.setReadOnly(True) # Listando itens referente a compra busca = CrudRelCompra() busca.idCompra = id busca.listaItens() i = 0 while i < len(busca.produto): self.tb_Itens.insertRow(i) self.conteudoTabela(self.tb_Itens, i, 0, str(busca.idProduto[i])) self.conteudoTabelaLeft(self.tb_Itens, i, 1, busca.produto[i]) self.conteudoTabelaLeft(self.tb_Itens, i, 2, str(busca.obs[i])) self.conteudoTabela(self.tb_Itens, i, 3, str(busca.qtde[i])) self.conteudoTabela(self.tb_Itens, i, 4, str(busca.valorUnitario[i])) self.conteudoTabela(self.tb_Itens, i, 5, str(busca.valorTotal[i])) self.botaoRemoveItem(self.tb_Itens, i, 6, partial(self.RemoveLInhaCompra, i), "#005099") self.conteudoTabela(self.tb_Itens, i, 7, str(busca.id[i])) self.TotalFinal() self.tx_valorRecebido.returnPressed.connect(self.Pagar) i += 1 self.bt_Imprimir.setEnabled(True) self.ParcelasAPagar() pass
def SelectFornecedor(self, id): busca = CrudFornecedor() self.FormFornecedor() busca.id = id busca.SelectFornecedorId() self.tx_Id.setText(str(busca.id)) self.tx_NomeFantasia.setText(busca.nomeFantasia) self.tx_RazaoSocial.setText(busca.razaoSocial) self.tx_cnpj.setText(str(busca.cnpj)) self.tx_InscEstadual.setText(str(busca.inscEstadual)) self.tx_Telefone.setText(str(busca.telefone)) self.tx_Site.setText(busca.site) self.tx_Email.setText(busca.email) self.tx_Obs.setText(busca.obs) self.tx_Cep.setText(busca.cep) self.tx_Endereco.setText(busca.endereco) self.tx_Numero.setText(str(busca.numero)) self.tx_Bairro.setText(busca.bairro) self.tx_Cidade.setText(busca.cidade) self.tx_Estado.setText(busca.estado) # Limpando tabela Histórico de Compras for row in range(self.tb_Historico.rowCount()): self.tb_Historico.removeRow(row) # Histórico de Compras cliente total = '0.00' lista = CrudCompra() lista.idFornecedor = id lista.selectCompraFornecedor() i = 0 while i < len(lista.dataEmissao): # print row self.tb_Historico.insertRow(i) self.conteudoTabela(self.tb_Historico, i, 0, str(lista.dataEmissao[i])) self.conteudoTabela(self.tb_Historico, i, 1, str(lista.dataEntrega[i])) self.conteudoTabela(self.tb_Historico, i, 2, str(lista.valorTotal[i])) total = float(lista.valorTotal[i]) + float(total) i += 1 self.lb_TotalHistorico.setText(format(float(total), ".2f")) pass
def ReceberProduto(self): INSERI = CrudCompra() INSERI.dataEntrega = QDate.toString( self.dt_Entrega.date(), "yyyy-MM-dd") INSERI.id = self.tx_Cod.text() INSERI.receberProduto() self.EntradaEstoque() self.SelectCompraId(self.tx_Cod.text())
def estoque(self): # Produtos estoque baixo busca = CrudProduto() self.bt_estoqueBaixo.setText(str(busca.listaEstoqueBaixo())) # Produtos Cadastrados self.bt_produtosAtivos.setText(str(busca.totalProdutoCadastrado())) # Pedidos a Receber busca = CrudCompra() self.bt_pedidosHoje.setText(str(busca.pedidosAReceber())) pass
def DataTabCompras(self): cliente = self.tx_BuscaCompras.text() busca = CrudCompra() busca.dataEmissao = QDate.toString( self.dt_InicioCompra.date(), "yyyy-MM-dd") busca.dataFim = QDate.toString(self.dt_FimCompra.date(), "yyyy-MM-dd") busca.statusPagamento = self.cb_pagamento.currentData() busca.statusEntrega = self.cb_entrega.currentData() busca.listaCompra(cliente) while self.tb_Compras.rowCount() > 0: self.tb_Compras.removeRow(0) i = 0 while i < len(busca.fornecedor): self.tb_Compras.insertRow(i) self.conteudoTabela(self.tb_Compras, i, 0, str(busca.id[i])) self.TabelaStatus(self.tb_Compras, i, 1, self.StatusEntrega(busca.idStatusEntrega[i], busca.idStatusPagamento[i])) self.TabelaNomeTelefone( self.tb_Compras, i, 2, busca.fornecedor[i], self.formatoNumTelefone(busca.telefone[i])) self.TabelaEntrega(self.tb_Compras, i, 3, busca.dataEmissao[i], self.StatusEntrega(busca.idStatusEntrega[i]), "") self.TabelaEntrega(self.tb_Compras, i, 4, busca.prazoEntrega[i], self.StatusEntrega(busca.idStatusEntrega[i]), busca.statusEntrega[i].upper()) self.TabelaEntrega(self.tb_Compras, i, 5, "R$ "+str(busca.valorTotal[i]), self.StatusEntrega( busca.idStatusPagamento[i]), busca.statusPagamento[i].upper()) self.botaoTabela(self.tb_Compras, i, 6, partial(self.SelectCompraId, busca.id[i]), "#005099") i += 1
def Pagar(self, id): # print(self.tb_Parcelas.item(id, 0).text()) if self.tb_Parcelas.cellWidget(id, 3).text(): INSERI = CrudContaAPagar() INSERI.id = self.tb_Parcelas.item(id, 0).text() INSERI.valorPago = self.tb_Parcelas.cellWidget( id, 3).text().replace(",", ".") INSERI.formaPagamento = self.cb_FormaPagamento.currentData() INSERI.dataPagamento = QDate.toString( QDate.currentDate(), "yyyy-MM-dd") # Inserindo Pagamento no DB INSERI.pagarConta() # Atualizando valor Recebido INSERI = CrudCompra() INSERI.id = self.tx_Cod.text() INSERI.valorPago = self.tb_Parcelas.cellWidget( id, 3).text().replace(",", ".") # Executando o update no DB INSERI.Pagar() # Recalculando valores if self.tx_valorRecebido.text(): valorPago = float( self.tx_valorRecebido.text()) + float(INSERI.valorPago) else: valorPago = float(INSERI.valorPago) self.tx_valorRecebido.setText(format(valorPago, '.2f')) self.TotalFinal() self.ParcelasAPagar()
def imprimirCompra(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 = CrudCompra() busca.id = self.tx_Cod.text() busca.selectCompraId() # Consulta Cliente banco de dados cliente = CrudFornecedor() cliente.id = self.tx_Id.text() cliente.SelectFornecedorId() # Consulta Financeiro banco de dados financeiro= CrudContaAPagar() financeiro.idCompra = self.tx_Cod.text() financeiro.listaParcelas() html = self.renderTemplate( "venda.html", estilo=self.resourcepath('Template/estilo.css'), titulo="Pedido de Compra Nº:", idPedido=self.tx_Cod.text(), cliente = cliente.nomeFantasia, endCliente= [cliente.endereco, cliente.numero], cepCliente = cliente.cep, emailEcliente = cliente.email, cpfCliente = cliente.cnpj, cidadeCliente = cliente.cidade, telefoneCliente = self.formatoNumTelefone(cliente.telefone), rgCliente = cliente.inscEstadual, bairroCliente = cliente.bairro, estadoCliente = cliente.estado, celularCliente = "", 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)
def CadCompra(self): if not int(self.tb_Itens.rowCount()) < 1: INSERI = CrudCompra() INSERI.id = self.tx_Cod.text() INSERI.idFornecedor = self.tx_Id.text() INSERI.dataEmissao = QDate.toString( self.dt_Emissao.date(), 'yyyy-MM-dd') INSERI.prazoEntrega = QDate.toString( self.dt_Prazo.date(), 'yyyy-MM-dd') INSERI.desconto = self.tx_Desconto.text() INSERI.categoria = 1 INSERI.frete = self.tx_Frete.text() INSERI.valorTotal = self.tx_TotalFinal.text() INSERI.valorPendente = self.lb_ValorPendente.text() INSERI.inseriCompra() self.CadItemCompra() pass
def IdCheckCompra(self): if not self.tx_Cod.text(): busca = CrudCompra() self.tx_Cod.setText(str(busca.lastIdCompra()))