Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 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())
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
    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()
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
 def IdCheckCompra(self):
     if not self.tx_Cod.text():
         busca = CrudCompra()
         self.tx_Cod.setText(str(busca.lastIdCompra()))