示例#1
0
    def getCidades(
            self):  ############# Adiciona cidades ao combo box ###############
        estadoid = self.estado.currentIndex()
        estadoid = int(estadoid)
        try:
            con = conexao()
            c = con.cursor()
            c.execute("SELECT cid_nome FROM cidades where est_id = (?)",
                      (estadoid, ))
            con.commit()
            resultado = c.fetchall()
            c.close()
            flag = "0"
        except Error as e:
            flag = "1"
            print(e)
            QMessageBox.information(self, "Info", "Erro ao indexar Cidades")

        if (flag == "0"):
            self.cidade.clear()
            self.cidade.addItem("Escolha uma Cidade!!!")
            if (estadoid > 1):
                pos_i = 0  # variável provisória de índice
                for i in range(len(resultado)):  # passar por toda lista
                    self.cidade.addItem(resultado[i][0])
                    pos_i = i  # guardamos o índice i
                return (pos_i)  # e retornamos o índice
示例#2
0
    def addProd(self):  #Adiciona o produto no Banco de Dados
        ##### Pegar Campos #############
        descricao = self.descricao.text()
        codBarras = self.codBarras.text()
        undMedida = self.undMedida.currentText()
        classe = self.classe.currentText()
        precocusto = self.precocusto.text()
        precofinal = self.precofinal.text()
        lucro = self.lucro.text()
        if (precofinal and precocusto != ""):
            lucro = (float(precofinal) / float(precocusto) - 1) * 100
            print(lucro)
        setor = self.setor.currentText()
        dtCad = self.dtCad.text()

        if (descricao != ""):
            try:
                con = conexao()
                c = con.cursor()
                c.execute(
                    "INSERT INTO produtos (prod_desc, prod_cod, prod_med, prod_classe, prod_custo, prod_preco, prod_lucro, prod_setor, prod_dtcad) VALUES (?,?,?,?,?,?,?,?,?)",
                    (descricao, codBarras, undMedida, classe, precocusto,
                     precofinal, lucro, setor, dtCad))
                con.commit()
                c.close()
                QMessageBox.information(self, "Info",
                                        "Produto Adicionado com Sucesso")
            except Error as e:
                print(e)
        else:
            QMessageBox.information(self, "Info",
                                    "Preencher Campos Obrigatórios")
示例#3
0
 def addProd(self):
     rowcount = 0
     codigo = self.prodcod.text()
     qtde = int(self.prodqtde.text())
     try:
         con = conexao()
         c = con.cursor()
         c.execute(" SELECT prod_cod, prod_desc, prod_preco FROM produtos where prod_id = (?)", (codigo,))
         con.commit()
         resultado = c.fetchall()
         c.close()
         print(resultado[0])
     except Error as e:
         print(e)
         return e
     pass
     preco = float(resultado[0][2])
     total = preco * qtde
     self.tableWidget.setRowCount(len(resultado))
     for row in range(len(resultado)):
         self.tableWidget.setItem(0, 0, QTableWidgetItem(resultado[0][0]))
         self.tableWidget.setItem(0, 1, QTableWidgetItem(resultado[0][1]))
         self.tableWidget.setItem(0, 2, QTableWidgetItem(str(qtde)))
         self.tableWidget.setItem(0, 3, QTableWidgetItem(str(resultado[0][2])))
         self.tableWidget.setItem(0, 4, QTableWidgetItem(str(total)))
示例#4
0
 def primeiroItem(self):
     try:
         con = conexao()
         c = con.cursor()
         c.execute(" SELECT * FROM clientes")
         con.commit()
         resultado = c.fetchone()
         c.close()
         self.codigo.setText(str(resultado[0]))
         self.editCliente()
     except Exception as e:
         print(e)
     pass
示例#5
0
 def ultimoItem(self):
     try:
         con = conexao()
         c = con.cursor()
         c.execute(" SELECT * FROM clientes order by cli_id DESC")
         con.commit()
         resultado = c.fetchall()
         c.close()
         self.codigo.setText(str(resultado[0][0]))
         self.editCliente()
     except Exception as e:
         print(e)
     pass
示例#6
0
 def getEstados(
         self):  ########## Adiciona estados no Combo box ###############
     try:
         con = conexao()
         c = con.cursor()
         c.execute("SELECT est_nome FROM estados")
         con.commit()
         resultado = c.fetchall()
         c.close()
         flag = "0"
     except Error as e:
         flag = "1"
         print(e)
         QMessageBox.information(self, "Info", "Erro ao indexar Estados")
     if (flag == "0"):
         self.cidade.clear()
         self.estado.addItem("Escolha um Estado!!!")
         pos_i = 0  # variável provisória de índice
         for i in range(len(resultado)):  #passar por toda lista
             self.estado.addItem(resultado[i][0])
             pos_i = i  # guardamos o índice i
         return (pos_i)  # e retornamos o índice
示例#7
0
 def proximoItem(self):
     try:
         con = conexao()
         c = con.cursor()
         c.execute(" SELECT * FROM clientes order by cli_id DESC")
         con.commit()
         ultimo = c.fetchall()
         c.close()
         ultimo = ultimo[0][0]
         ultimo = int(ultimo)
     except Exception as e:
         print(e)
     pass
     resultado = self.codigo.text()
     if (resultado == ""):
         resultado = 0
     resultado = int(resultado)
     if (resultado < ultimo):
         resultado = int(resultado) + 1
         self.codigo.setText(str(resultado))
         self.editCliente()
     else:
         QMessageBox.information(self, "Info", "Cliente Não Localizado")
示例#8
0
    def editCliente(self):
        try:
            codigo = self.codigo.text()
            con = conexao()
            c = con.cursor()
            c.execute(" SELECT * FROM clientes where cli_id = (?)", (codigo, ))
            con.commit()
            resultado = c.fetchall()
            c.close()
            print(resultado)
            flag = "0"
        except Error as e:
            flag = "1"
            print(e)

        if (flag == "0"):
            ############## Recebendo Valores ######################
            dtCad = resultado[0][25]
            name = resultado[0][1]
            nameFan = resultado[0][2]
            dtNasc = resultado[0][3]
            rg = resultado[0][4]
            dtemiss = resultado[0][5]
            cpf = resultado[0][6]
            sexo = resultado[0][7]
            obser = resultado[0][8]
            endId = resultado[0][17]
            cliTel = resultado[0][18]
            cliCel = resultado[0][19]
            empresa = resultado[0][20]
            empTel = resultado[0][21]
            profissao = resultado[0][9]
            salario = resultado[0][22]
            estCivil = resultado[0][23]
            outR = resultado[0][24]

            ###### Referência/ Limite ##############
            ref1 = resultado[0][10]
            tel1 = resultado[0][11]
            ref2 = resultado[0][12]
            tel2 = resultado[0][13]
            limite = resultado[0][26]

        if (flag == "0"):
            try:
                con = conexao()
                c = con.cursor()
                c.execute(" SELECT * FROM endereco where end_id = (?)",
                          (endId, ))
                con.commit()
                resultado = c.fetchall()
                c.close()
            except Error as e:
                flag = "1"
                print(e)

        if (flag == "0"):
            ###### Endereço ########################
            end = resultado[0][1]
            numCasa = resultado[0][2]
            comp = resultado[0][3]
            cep = resultado[0][4]
            bairro = resultado[0][5]
            cidId = resultado[0][6]

        if (flag == "0"):
            try:
                con = conexao()
                c = con.cursor()
                c.execute(" SELECT * FROM cidades where cid_id= (?)",
                          (cidId, ))
                con.commit()
                resultado = c.fetchall()
                cidNome = resultado[0][1]
                c.close()
            except Error as e:
                flag = "1"
                print(e)
        estId = resultado[0][2]
        ############# Inserindo valores nos Campos ############

        if (dtCad != ""):  ########### string to date ##################
            data = datetime.strptime(dtCad, '%d/%m/%Y')
            self.dtCad.setDate(data)
        if (dtNasc != ""):  ########### string to date ##################
            dtNasc = datetime.strptime(dtNasc, '%d/%m/%Y')
            self.dtNasc.setDate(dtNasc)
        if (dtemiss != ""):  ########### string to date ##################
            dtemiss = datetime.strptime(dtemiss, '%d/%m/%Y')
            self.dateEdit.setDate(dtemiss)
        if (sexo !=
                ""):  ########### Setando o index do sexo ##################
            if (sexo == "Masculino"):
                sexo = "0"
            else:
                sexo = "1"
            self.sexo.setCurrentIndex(int(sexo))

        self.nome.setText(str(name))
        self.nomeFan.setText(str(nameFan))
        self.rg.setText(str(rg))
        self.cpf.setText(str(cpf))
        self.obs.setText(obser)
        self.telefone.setText(str(cliTel))
        self.celular_2.setText(str(cliCel))
        self.empresa.setText(str(empresa))
        self.telEmp.setText(str(empTel))
        self.profissao.setText(str(profissao))
        self.salario.setText(str(salario))
        self.estCivil.setText(str(estCivil))
        self.outrasRendas.setText(str(outR))

        ###### Endereço ########################
        self.end.setText(str(end))
        self.numero.setText(str(numCasa))
        self.complemento.setText(str(comp))
        self.cep.setText(str(cep))
        self.bairro.setText(str(bairro))
        #cidNome = self.cidade.currentText()
        #estId = self.estado.currentIndex()

        ###### Referência/ Limite ##############
        self.ref1.setText(str(ref1))
        self.tel1.setText(str(tel1))
        self.ref2.setText(str(ref2))
        self.tel2.setText(str(tel2))
        self.limite.setText(str(limite))
        self.getEstados()
        self.estado.setCurrentIndex(int(estId))

        if (flag == "0"
            ):  ############ colocando as cidades numa lista #############
            try:
                con = conexao()
                c = con.cursor()
                c.execute("SELECT cid_nome FROM cidades where est_id = (?)",
                          (estId, ))
                con.commit()
                cidadesbusca = c.fetchall()
                print(cidadesbusca)
                c.close()
            except Error as e:
                flag = "1"
                print(e)
                QMessageBox.information(self, "Info",
                                        "Erro ao indexar Cidades")

        if (flag == "0"
            ):  ############ pegando o numero da cidade na lista #############
            pos_i = 0  # variável provisória de índice
            pos_j = 0  # idem

            for i in range(
                    len(cidadesbusca)):  # procurar em todas as listas internas
                for j in range(
                        i):  # procurar em todos os elementos nessa lista
                    if cidNome in cidadesbusca[i][
                            j]:  # se encontrarmos elemento
                        cidNum = i
                        break  # saímos do loop interno
                    break  # e do externo
        if (flag == "0"):
            self.cidade.setCurrentIndex(int(cidNum) + 1)

        ##################### Desabilitando os Campos para Edição #####################
        self.dtCad.setEnabled(False)
        self.dtNasc.setEnabled(False)
        self.dateEdit.setEnabled(False)
        self.sexo.setEnabled(False)
        self.nome.setEnabled(False)
        self.nomeFan.setEnabled(False)
        self.rg.setEnabled(False)
        self.cpf.setEnabled(False)
        self.obs.setEnabled(False)
        self.telefone.setEnabled(False)
        self.celular_2.setEnabled(False)
        self.empresa.setEnabled(False)
        self.telEmp.setEnabled(False)
        self.profissao.setEnabled(False)
        self.salario.setEnabled(False)
        self.estCivil.setEnabled(False)
        self.outrasRendas.setEnabled(False)

        ###### Endereço ########################
        self.end.setEnabled(False)
        self.numero.setEnabled(False)
        self.complemento.setEnabled(False)
        self.cep.setEnabled(False)
        self.bairro.setEnabled(False)

        ###### Referência/ Limite ##############
        self.ref1.setEnabled(False)
        self.tel1.setEnabled(False)
        self.ref2.setEnabled(False)
        self.tel2.setEnabled(False)
        self.limite.setEnabled(False)
        self.estado.setEnabled(False)
        self.cidade.setEnabled(False)
示例#9
0
    def addCliente(
        self
    ):  ############# Adiciona o cliente no Banco de Dados ##################
        global defaultImg  # Define uma variavel para a imagem do cliente

        ##### Dados Pessoais #############
        dtCad = self.dtCad.text()
        name = self.nome.text()
        nameFan = self.nomeFan.text()
        dtNasc = self.dtNasc.text()
        rg = self.rg.text()
        dtemiss = self.dateEdit.text()
        cpf = self.cpf.text()
        sexo = self.sexo.currentText()
        obser = self.obs.toPlainText()
        cliTel = self.telefone.text()
        cliCel = self.celular_2.text()
        empresa = self.empresa.text()
        empTel = self.telEmp.text()
        profissao = self.profissao.text()
        salario = self.salario.text()
        estCivil = self.estCivil.text()
        outR = self.outrasRendas.text()

        ###### Endereço ########################
        end = self.end.text()
        numCasa = self.numero.text()
        comp = self.complemento.text()
        cep = self.cep.text()
        bairro = self.bairro.text()
        cidNome = self.cidade.currentText()
        estId = self.estado.currentIndex()

        ###### Referência/ Limite ##############
        ref1 = self.ref1.text()
        tel1 = self.tel1.text()
        ref2 = self.ref2.text()
        tel2 = self.tel2.text()
        limite = self.limite.text()

        if (estId and cidNome !=
                ""):  ############ Pegando o ID da cidade ###########
            try:
                con = conexao()
                c = con.cursor()
                c.execute(
                    " SELECT cid_id FROM cidades where est_id= (?) AND cid_nome like (?)",
                    (
                        estId,
                        cidNome,
                    ))
                con.commit()
                resultado = c.fetchall()
                cidId = resultado[0][0]
                print(cidId)
                c.close()
                flag = "0"
            except Error as e:
                flag = "1"
                print(e)
        else:
            QMessageBox.information(self, "Info",
                                    "Estado ou Cidade não Preenchidos")
        if (flag == "0"):
            if ((end !=
                 "")):  ########### Inserindo Endereço ##################
                try:
                    con = conexao()
                    c = con.cursor()
                    c.execute(
                        """INSERT INTO endereco (end_nome, end_num, end_comp, end_cep, end_bairro, cid_id) 
                           VALUES (?,?,?,?,?,?)""",
                        (end, numCasa, comp, cep, bairro, cidId))
                    con.commit()
                    c.close()
                    flag = "0"
                except Error as e:
                    flag = "1"
                    print(e)
            else:
                QMessageBox.information(self, "Info",
                                        "Preencher Campos Obrigatórios")
            if (flag == "0"):
                con = conexao()
                c = con.cursor()
                c.execute(" SELECT * FROM endereco order by end_id DESC")
                con.commit()
                resultado = c.fetchall()
                endId = resultado[0][0]
                c.close()

                if (name and cpf !=
                        ""):  ########### Inserindo Cliente ##################
                    try:
                        con = conexao()
                        c = con.cursor()
                        c.execute(
                            """INSERT INTO clientes (cli_nome, cli_nomefan, cli_dtnasc, cli_rg, cli_cpf, cli_sexo, cli_obs, cli_emprego, cli_empresa, cli_empresacel, cli_salario, cli_estadocivil, cli_outrasrendas, cli_cel, cli_tel, end_id, cli_dtemiss, cli_dtcad, cli_ref1, cli_ref1cel, cli_ref2, cli_ref2cel, cli_limite) 
                               VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)""",
                            (name, nameFan, dtNasc, rg, cpf, sexo, obser,
                             profissao, empresa, empTel, salario, estCivil,
                             outR, cliCel, cliTel, endId, dtemiss, dtCad, ref1,
                             tel1, ref2, tel2, limite))
                        con.commit()
                        c.close()
                        QMessageBox.information(
                            self, "Info", "Cliente Adicionado com Sucesso")
                    except Error as e:
                        print(e)
                        QMessageBox.information(self, "Info",
                                                "Erro ao adicionar Cliente")
                else:
                    QMessageBox.information(self, "Info",
                                            "Preencher Campos Obrigatórios")
            else:
                QMessageBox.information(self, "Info",
                                        "Erro ao Adicionar Endereço")
        else:
            QMessageBox.information(self, "Info", "Erro ao adicionar Cliente")
示例#10
0
    def editProduto(self):
        try:
            codigo = self.codigo.text()
            con = conexao()
            c = con.cursor()
            c.execute(" SELECT * FROM produtos where prod_id = (?)",
                      (codigo, ))
            con.commit()
            resultado = c.fetchall()
            c.close()

            ############## Recebendo Valores ######################
            undMedida = resultado[0][3]
            classe = resultado[0][4]
            setor = resultado[0][7]
            if (undMedida != ""):  ########### Setando o valor da Medida
                if (undMedida == "Unidade"):
                    undMedida = "0"
                elif (undMedida == "Caixa"):
                    undMedida = "1"
                elif (undMedida == "Peça"):
                    undMedida = "2"
                elif (undMedida == "Conjunto"):
                    undMedida = "3"
                else:
                    undMedida = "0"
                self.undMedida.setCurrentIndex(int(undMedida))

            if (classe != ""):  ########### Setando o valor da Classe
                if (classe == "Diverso"):
                    classe = "0"
                elif (classe == "Roupa"):
                    classe = "1"
                elif (classe == "Calçado"):
                    classe = "2"
                else:
                    classe = "0"
                self.classe.setCurrentIndex(int(classe))

            if (setor != ""):  ########### Setando o valor do setor
                if (setor == "Masculino"):
                    setor = "0"
                elif (setor == "Feminino"):
                    setor = "1"
                elif (setor == "Infantil"):
                    setor = "2"
                elif (setor == "Calçado"):
                    setor = "3"
                else:
                    setor = "0"
                self.setor.setCurrentIndex(int(setor))

            dtCad = resultado[0][8]
            print(dtCad)
            if (dtCad != ""):
                data = datetime.strptime(dtCad, '%d/%m/%Y')
            else:
                data = datetime.today()

            ############# Inserindo valores nos Campos ############
            self.descricao.setText(str(resultado[0][1]))
            self.codBarras.setText(str(resultado[0][2]))
            self.precocusto.setText(str(resultado[0][5]))
            self.precofinal.setText(str(resultado[0][6]))
            self.dtCad.setDate(data)
            self.lucro.setText(str(resultado[0][9]))
        except Error as e:
            print(e)
            return e
        pass

        ##################### Desabilitando os Campos para Edição #####################
        self.undMedida.setEnabled(False)
        self.classe.setEnabled(False)
        self.setor.setEnabled(False)
        self.descricao.setEnabled(False)
        self.codBarras.setEnabled(False)
        self.precocusto.setEnabled(False)
        self.precofinal.setEnabled(False)
        self.dtCad.setEnabled(False)
        self.lucro.setEnabled(False)