Beispiel #1
0
    def DetalhamentoCliente(self, valor):
        id = valor
        self.FormClientes()
        self.tx_Id.setText(str(id))

        busca = CrudCliente()
        busca.id = self.tx_Id.text()
        busca.DetalhamentoClienteId()

        # if hasattr(busca, 'imagem') and busca.imagem:
        #     pixmap = QPixmap()
        #     pixmap.loadFromData(QByteArray.fromBase64(busca.imagem))
        #     self.lb_FotoCliente.setPixmap(pixmap.scaledToWidth(150, Qt.TransformationMode(Qt.FastTransformation)))
        #     self.bt_AdicionarImagem.setHidden(True)
        #     self.bt_DeletarImagem.setVisible(True)
        self.tx_NomeCliente.setText(busca.nome)
        self.tx_Sobrenome.setText(busca.sobrenome)
        self.tx_CPF.setText(busca.cpf)
        self.tx_RG.setText(busca.rg)
        self.tx_Celular.setText(busca.celular)
        self.tx_Telefone.setText(busca.telefone)
        self.tx_Email.setText(busca.email)
        self.tx_Observacao.setText(busca.obs)
        self.tx_CEP.setText(busca.cep)
        self.tx_Endereco.setText(busca.endereco)
        self.tx_Numero.setText(busca.numero)
        self.tx_Bairro.setText(busca.bairro)
        self.tx_Cidade.setText(busca.cidade)
        self.tx_Estado.setText(busca.estado)
Beispiel #2
0
    def BuscaClienteNome(self, campoFoco):

        busca = CrudCliente()
        busca.nome = self.tx_NomeFantasia.text()
        busca.buscaClienteNome()
        self.tx_Id.setText(str(busca.id))
        self.BuscaClienteId(campoFoco)
Beispiel #3
0
    def ListarCliente(self):
        lista = CrudCliente()
        # se o texto ta vazio vai buscar tudo
        lista.nome = self.tx_BuscaClientes.text()
        lista.listaCliente()

        while self.tb_Clientes.rowCount() > 0:
            self.tb_Clientes.removeRow(0)

        i = 0
        # lista.nome vira array apos select
        if len(lista.nome) >= 1:
            while i < len(lista.nome):
                self.tb_Clientes.insertRow(i)
                self.alinharDadosTabela(self.tb_Clientes, i, 0, str(lista.id[i]))
                self.SetTabelaID(self.tb_Clientes, i, 1, lista.id[i])
                self.SetFormataDadosPessoaisTabela(self.tb_Clientes, i, 2,
                                        lista.nome[i],
                                        lista.sobrenome[i])
                self.SetFormataDadosPessoaisTabela(self.tb_Clientes, i, 3,
                                        "CPF: " + lista.cpf[i],
                                        "RG: " + lista.rg[i])
                self.SetFormataDadosPessoaisTabela(self.tb_Clientes, i, 4,
                                        self.formatoNumTelefone(lista.celular[i]),
                                        self.formatoNumTelefone(lista.telefone[i]))
                self.SetFormataDadosPessoaisTabela(self.tb_Clientes, i, 5, lista.email[i], "")
                # click edit
                self.botaoTabela(self.tb_Clientes, i, 6,
                                partial(self.DetalhamentoCliente, lista.id[i]), "#7AB32E")
                i += 1
Beispiel #4
0
    def TabelaClientes(self):
        lista = CrudCliente()
        lista.nome = self.tx_BuscaClientes.text()
        lista.listaCliente()
        i = 0

        while self.tb_Clientes.rowCount() > 0:
            self.tb_Clientes.removeRow(0)

        if len(lista.nome) >= 1:
            while i < len(lista.nome):
                self.tb_Clientes.insertRow(i)
                self.TabelaStatus(self.tb_Clientes, i, 0,
                                  self.StatusEntrega(1))
                self.TabelaID(self.tb_Clientes, i, 1, lista.id[i])
                self.TabelaNomeTelefone(self.tb_Clientes, i, 2, lista.nome[i],
                                        lista.sobrenome[i])
                self.TabelaNomeTelefone(
                    self.tb_Clientes, i, 3,
                    self.formatoNumTelefone(lista.celular[i]),
                    self.formatoNumTelefone(lista.telefone[i]))
                self.TabelaNomeTelefone(self.tb_Clientes, i, 4, lista.email[i],
                                        "")
                # Sinal click tabela
                self.botaoTabela(self.tb_Clientes, i, 5,
                                 partial(self.SelectCliente, lista.id[i]),
                                 "#005099")
                i += 1
            pass
Beispiel #5
0
    def autocompleCliente(self):

        busca = CrudCliente()
        busca.nome = self.tx_NomeFantasia.text()
        busca.autoCompleteCliente()
        lista = busca.nome
        if busca.nome:
            self.model.setStringList(lista)
Beispiel #6
0
    def SelectCliente(self, valor):
        id = valor
        self.FormClientes()
        self.tx_Id.setText(str(id))
        busca = CrudCliente()
        busca.id = self.tx_Id.text()
        busca.selectClienteId()
        self.tx_NomeFantasia.setText(busca.nome)
        self.tx_RazaoSocial.setText(busca.sobrenome)
        self.tx_cnpj.setText(busca.cpf)
        self.tx_InscEstadual.setText(busca.rg)
        self.tx_Celular.setText(busca.celular)
        self.tx_Telefone.setText(busca.telefone)
        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(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 = CrudVenda()
        lista.idCliente = valor
        lista.selectVendaCliente()
        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"))
        i += 1
        pass
Beispiel #7
0
 def BuscaClienteId(self, campoFoco):
     id = int(self.tx_Id.text())
     busca = CrudCliente()
     busca.id = id
     busca.selectClienteId()
     if busca.nome:
         self.tx_NomeFantasia.setText(busca.nome)
         self.TelefoneMask(busca.celular)
         self.tx_Telefone.setText(busca.celular)
         campoFoco.setFocus()
     else:
         self.tx_NomeFantasia.setText(
             "Cliente não encontrado")
         self.tx_Id.clear()
         self.tx_Id.setFocus()
Beispiel #8
0
 def BuscaClienteId(self):
     if not self.tx_IdCliente.text():
         self.tx_NomeCliente.clear()
         return
     id = int(self.tx_IdCliente.text())
     busca = CrudCliente()
     busca.id = id
     busca.DetalhamentoClienteId()
     if busca.nome:
         self.tx_NomeCliente.setText("%s %s" %
                                     (busca.nome, busca.sobrenome))
         self.tx_NomeCliente.setFocus()
     else:
         self.tx_NomeCliente.setText("Cliente não encontrado")
         self.tx_IdCliente.clear()
         self.tx_IdCliente.setFocus()
Beispiel #9
0
    def CadastraClienteDB(self):
        INSERIR = CrudCliente()
        INSERIR.id = self.tx_Id.text()
        INSERIR.nome = self.tx_NomeCliente.text().upper()
        INSERIR.sobrenome = self.tx_Sobrenome.text().upper()
        INSERIR.cpf = re.sub('[^[0-9]', '', self.tx_CPF.text())
        INSERIR.rg = re.sub('[^[0-9]', '', self.tx_RG.text())
        INSERIR.celular = re.sub('[^[0-9]', '', self.tx_Celular.text())
        INSERIR.telefone = re.sub('[^[0-9]', '', self.tx_Telefone.text())
        INSERIR.email = self.tx_Email.text()
        INSERIR.obs = self.tx_Observacao.text().upper()

        INSERIR.cep = re.sub('[^[0-9]', '', self.tx_CEP.text())
        INSERIR.endereco = self.tx_Endereco.text().upper()
        INSERIR.numero = self.tx_Numero.text()
        INSERIR.bairro = self.tx_Bairro.text().upper()
        INSERIR.cidade = self.tx_Cidade.text().upper()
        INSERIR.estado = self.tx_Estado.text().upper()
        INSERIR.addCliente()
        self.janelaClientes()
Beispiel #10
0
 def IdCheckCliente(self):
     if not self.tx_Id.text():
         busca = CrudCliente()
         self.tx_Id.setText(str(busca.lastIdCliente()))
Beispiel #11
0
    def CadCliente(self):
        INSERI = CrudCliente()
        INSERI.id = self.tx_Id.text()
        INSERI.nome = self.tx_NomeFantasia.text().upper()
        INSERI.sobrenome = self.tx_RazaoSocial.text().upper()
        INSERI.cpf = re.sub('[^[0-9]', '', self.tx_cnpj.text())
        INSERI.rg = re.sub('[^[0-9]', '', self.tx_InscEstadual.text())

        INSERI.celular = re.sub('[^[0-9]', '', self.tx_Celular.text())
        INSERI.telefone = re.sub('[^[0-9]', '', self.tx_Telefone.text())
        INSERI.email = self.tx_Email.text()
        INSERI.obs = self.tx_Obs.text().upper()
        INSERI.cep = re.sub('[^[0-9]', '', self.tx_Cep.text())
        INSERI.endereco = self.tx_Endereco.text().upper()
        INSERI.numero = self.tx_Numero.text()
        INSERI.bairro = self.tx_Bairro.text().upper()
        INSERI.cidade = self.tx_Cidade.text().upper()
        INSERI.estado = self.tx_Estado.text().upper()
        INSERI.inseriCliente()

        self.janelaClientes()

        pass
Beispiel #12
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)