def BuscaContaAReceber(self, id): self.formAReceber() busca = CrudContaAReceber() busca.id = id busca.selectContaID() self.tx_Cod.setText(str(busca.id)) self.tx_Id.setText(str(busca.idCliente)) self.BuscaClienteId(self.tx_descricao) self.tx_descricao.setText(busca.descricao) self.cb_categoria.setCurrentIndex( self.cb_categoria.findData(busca.categoria)) self.dt_Vencimento.setDate(busca.dataVencimento) self.tx_valor.setText(str(busca.valor)) self.tx_Obs.setPlainText(busca.obs) if busca.dataRecebimento: self.dt_dataPagamento.setDate(busca.dataRecebimento) self.cb_formaPagamento.setCurrentIndex( self.cb_formaPagamento.findData(busca.idFormaPagamento)) self.tx_valorPago.setText(str(busca.valor - busca.valorRecebido)) self.lb_ValorPendente.setText(str(busca.valor - busca.valorRecebido)) if busca.idStatusPagamento == 1: self.bt_receber.setDisabled(True) self.bt_PrintRecibo.setVisible(True) self.desabilitaLineEdit(self.fr_FormReceber) elif busca.idStatusPagamento == 2: self.bt_receber.setEnabled(True) self.cb_repetir.setHidden(True) self.lb_Repetir.setHidden(True) self.lb_obsRepetir.setHidden(True) pass
def financeiroHoje(self): # A Receber busca = CrudContaAReceber() self.qtdeHome(self.lb_areceberHoje, busca.aReceberHoje()) # A PAgar busca = CrudContaAPagar() self.qtdeHome(self.lb_apagarHoje, busca.aPagarHoje())
def Entrada(self): dataInicio = QDate.toString( self.dt_inicio.date(), "yyyy-MM-dd") dataFim = QDate.toString( self.dt_fim.date(), "yyyy-MM-dd") busca = CrudContaAReceber() busca.dataRecebimento = dataInicio busca.dataFim = dataFim busca.movEntrada() # Setando a data referente a busca self.lb_inicioMovimento.setText(QDate.toString( self.dt_inicio.date(), "dd-MM-yyyy")) self.lb_fimMovimento.setText(QDate.toString( self.dt_fim.date(), "dd-MM-yyyy")) self.lb_inicioDespesa.setText(QDate.toString( self.dt_inicio.date(), "dd-MM-yyyy")) self.lb_fimDespesa.setText(QDate.toString( self.dt_fim.date(), "dd-MM-yyyy")) self.lb_entradaPendente.setText(str(busca.valorAReceber)) self.lb_entradaRecebido.setText(str(busca.valorRecebido)) if busca.valorAReceber > 0.01: # Grafico if busca.valorRecebido: valor = busca.valorRecebido / busca.valorAReceber * 100 # formato self.pr_receita.setFormat("%.02f%%" % (valor)) # Max e valor self.pr_receita.setMaximum(busca.valorAReceber) self.pr_receita.setValue(busca.valorRecebido) self.detalheEntrada() pass
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 ReceberParcela(self, id): if not self.tx_valorPago.text(): self.tx_valorPago.setFocus() elif not self.cb_formaPagamento.currentData(): self.cb_formaPagamento.setFocus() else: INSERI = CrudContaAReceber() INSERI.id = self.tx_Cod.text() INSERI.valorRecebido = self.tx_valorPago.text().replace(",", ".") INSERI.formaPagamento = self.cb_formaPagamento.currentData() INSERI.dataRecebimento = QDate.toString( QDate.currentDate(), "yyyy-MM-dd") INSERI.receberConta() self.BuscaContaAReceber(self.tx_Cod.text()) pass
def tabelaAReceber(self): busca = CrudContaAReceber() dataInicio = QDate.toString( self.dt_Inicio.date(), "yyyy-MM-dd") dataFim = QDate.toString( self.dt_Fim.date(), "yyyy-MM-dd") busca.dataVencimento = dataInicio busca.dataFim = dataFim busca.statusPagamento = self.cb_Situacao.currentData() busca.listaContaAReceber() while self.tb_AReceber.rowCount() > 0: self.tb_AReceber.removeRow(0) self.totalRecebido = 0.00 self.totalPendente = 0.00 i = 0 for lista in busca.nomeCliente: self.tb_AReceber.insertRow(i) self.conteudoTabela(self.tb_AReceber, i, 0, str(busca.id[i])) self.TabelaStatus(self.tb_AReceber, i, 1, self.StatusEntrega(1, busca.idStatusPagamento[i])) self.TabelaNomeTelefone(self.tb_AReceber, i, 2, busca.nomeCliente[i], busca.telefoneCliente[i]) self.TabelaNomeTelefone( self.tb_AReceber, i, 3, busca.descricao[i], "") self.TabelaEntrega(self.tb_AReceber, i, 4, busca.dataVencimento[i], self.StatusEntrega(busca.idStatusPagamento[i]), busca.statusPagamento[i].upper()) self.conteudoTabela(self.tb_AReceber, i, 5, "R$ "+str(busca.valor[i])) self.conteudoTabela(self.tb_AReceber, i, 6, "R$ "+str(busca.valor[i] - busca.valorRecebido[i])) self.botaoReceberParcela( self.tb_AReceber, i, 7, partial( self.BuscaContaAReceber, busca.id[i]), "Receber", 2) # Total Pendente self.totalPendente = self.totalPendente + \ float((busca.valor[i] - busca.valorRecebido[i])) # Total Recebido self.totalRecebido = self.totalRecebido + \ float(busca.valorRecebido[i]) i += 1
def detalheEntrada(self): dataInicio = QDate.toString(self.dt_inicio.date(), "yyyy-MM-dd") dataFim = QDate.toString(self.dt_fim.date(), "yyyy-MM-dd") busca = CrudContaAReceber() busca.dataRecebimento = dataInicio busca.dataFim = dataFim busca.detalheEntrada() while self.tb_receita.rowCount() > 0: self.tb_receita.removeRow(0) i = 0 while i < len(busca.categoria): self.tb_receita.insertRow(i) self.conteudoTabelaLeft( self.tb_receita, i, 0, busca.categoria[i] + " - " + busca.formaPagamento[i]) self.conteudoTabela(self.tb_receita, i, 1, "R$ " + str(busca.valorRecebido[i])) i += 1 pass
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)
def Receber(self, id): if self.tb_Parcelas.cellWidget(id, 3).text(): # Recebendo parcela INSERI = CrudContaAReceber() INSERI.id = self.tb_Parcelas.item(id, 0).text() INSERI.valorRecebido = self.tb_Parcelas.cellWidget( id, 3).text().replace(",", ".") INSERI.formaPagamento = self.cb_FormaPagamento.currentData() INSERI.dataRecebimento = QDate.toString(QDate.currentDate(), "yyyy-MM-dd") # Inserindo valor recebido no DB INSERI.receberConta() # Atualizando valor Recebido INSERI = CrudVenda() INSERI.id = self.tx_Cod.text() INSERI.valorRecebido = self.tb_Parcelas.cellWidget( id, 3).text().replace(",", ".") # Executando o update no DB INSERI.Receber() # Recalculando valores if self.tx_valorRecebido.text(): valorRecebido = float(self.tx_valorRecebido.text()) + float( INSERI.valorRecebido) else: valorRecebido = float(INSERI.valorRecebido) self.tx_valorRecebido.setText(format(valorRecebido, '.2f')) self.TotalFinal() # populando tabelas de parcelas a receber self.ParcelasAReceber()
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 cadContaReceber(self): repetir = int(self.cb_repetir.currentData()) for i in range(repetir): id = int(self.tx_Cod.text()) + i INSERI = CrudContaAReceber() INSERI.id = id INSERI.idCliente = self.tx_Id.text() INSERI.descricao = self.tx_descricao.text() INSERI.categoria = self.cb_categoria.currentData() INSERI.formaPagamento = self.cb_formaPagamento.currentData() INSERI.dataVencimento = QDate.toString(QDate.addMonths( self.dt_Vencimento.date(), i), "yyyy-MM-dd") INSERI.valor = self.tx_valor.text() INSERI.obs = self.tx_Obs.toPlainText() INSERI.inseriContaAReceber() self.BuscaContaAReceber(self.tx_Cod.text())
def idCheckAReceber(self): if not self.tx_Cod.text(): busca = CrudContaAReceber() self.tx_Cod.setText(str(busca.lastIdContaAReceber())) pass