示例#1
0
 def __init__(self, parent=None):
     super(Main, self).__init__(parent)
     self.setupUI(self)
     self.banco = Banco()
     #tela inicial
     self.tela_inicial.ButtonCadastrar.clicked.connect(
         self.abrirTelaCadastro)
     self.tela_inicial.ButtonLogin.clicked.connect(self.abrirTelaLogin)
     #Tela cadastro
     self.tela_cadastro.ButtonConfirmar.clicked.connect(self.cadastro)
     self.tela_cadastro.ButtonVoltar.clicked.connect(self.abrirTelaInicial)
     #Tela login
     self.tela_login.ButtonEntrar.clicked.connect(self.botaoLogin)
     self.tela_login.ButtonVoltar.clicked.connect(self.abrirTelaInicial)
     #Tela opcoes
     self.tela_opcoes.ButtonExtrato.clicked.connect(self.abrirTelaExtrato)
     self.tela_opcoes.ButtonSaque.clicked.connect(self.abrirTelaSaque)
     self.tela_opcoes.ButtonDeposito.clicked.connect(self.abrirTelaDeposito)
     self.tela_opcoes.ButtonTransferir.clicked.connect(
         self.abrirTelaTransferencia)
     self.tela_opcoes.ButtonVoltar.clicked.connect(self.sairOpcoes)
     #Tela extrato
     self.tela_extrato.ButtonVoltar.clicked.connect(self.abrirTelaOpcoes)
     #Tela saque
     self.tela_saque.ButtonVoltar.clicked.connect(self.abrirTelaOpcoes)
     self.tela_saque.ButtonConfirmar.clicked.connect(self.botaoSaque)
     #Tela deposito
     self.tela_deposito.ButtonVoltar.clicked.connect(self.abrirTelaOpcoes)
     self.tela_deposito.ButtonConfirmar.clicked.connect(self.botaoDeposito)
     #tela transferencia
     self.tela_transferencia.ButtonVoltar.clicked.connect(
         self.abrirTelaOpcoes)
     self.tela_transferencia.ButtonTransferir.clicked.connect(
         self.botaoTransfere)
示例#2
0
    def select_user(self, idusuario):
        banco = Banco()
        try:

            c = banco.conexao.cursor()

            c.execute("select * from usuarios where idusuario = " + idusuario +
                      "")

            for linha in c:
                self.idusuario = linha[0]
                self.p_nome = linha[1]
                self.p_idade = linha[2]
                self.p_cpf = linha[3]
                self.p_email = linha[4]
                self.p_fone = linha[5]
                self.p_cidade = linha[6]
                self.p_uf = linha[7]
                self.p_criado_em = linha[8]
            # idusuario, nome, idade, cpf, email, fone, cidade, uf, criado_em
            c.close()

            return ("Busca feita com sucesso!")
        except:
            return ("Ocorreu um erro na busca do usuário.")
示例#3
0
    def autenticaUser(self):
        banco = Banco()
        try:

            c = banco.conexao.cursor()

            c.execute("select * from usuarios where usuario = '" +
                      self.usuario + "' and senha = '" + self.senha + "'")

            for linha in c:
                self.idusuario = linha[0]
                self.nome = linha[1]
                self.telefone = linha[2]
                self.email = linha[3]
                self.usuario = linha[4]
                self.senha = linha[5]

            c.close()
            if self.idusuario > 0:
                return "Autentica sucesso"

            return "Autentica falha - usuario não encontrado"

        except:
            return "Autentica falha - error"
示例#4
0
def test_cria_banco():
    try:
        b = Banco('nome')
    except Exception:
        assert False, 'Erro ao criar o Banco'
    else:
        assert hasattr(b, 'nome'), 'Não criou o atributo público nome'
示例#5
0
    def deleteProduto(self, idproduto, nome):
        banco = Banco()

        self.idproduto = idproduto
        self.nome = nome

        try:

            bd = banco.conexao.cursor()
            if (self.idproduto != 0):
                bd.execute("delete from produtos where idproduto = '" + self.idproduto + "'")
                banco.conexao.commit()
                bd.close()
                return "delete produto sucesso"
            elif (self.nome != ""):
                bd.execute("delete from produtos where nome = '" + self.nome + "'")
                banco.conexao.commit()
                bd.close()
                return "delete produto sucesso"
            else:
                bd.close()
                return "delete produto sucesso - forneça o id ou nome do produto"

        except:
            return "delete produto falha - error"
示例#6
0
    def insertCarrinho(self, idusuario, idproduto):
        banco = Banco()

        self.idusuario = idusuario
        self.idproduto = idproduto
        print(self.idusuario, self.idproduto)

        try:
            bd = banco.conexao.cursor()
            aux = self.selectCarrinhoProduto(self.idusuario, self.idproduto)
            if aux == "select carrinhoProduto sucesso - produto ou carrinho não encontrado":
                bd.execute(
                    "insert into carrinhos (idusuario, idproduto) values ('" +
                    self.idusuario + "', '" + self.idproduto + "')")
                #bd.execute('insert into carrinhos (idusuario, idproduto) values (?, ?)', (self.idusuario, self.idproduto))
                banco.conexao.commit()
                bd.close()
                return "select carrinhoProduto sucesso - produto cadastrado"
            elif aux == "select carrinhoProduto sucesso - forneça o id do carrinho ou do usuario":
                bd.close()
                return "falta informações"

            bd.close()
            return aux

        except:
            return "insert carrinho falha"
示例#7
0
    def selectAmostra(self, idAmostra):
        banco = Banco()
        try:

            c = banco.conexao.cursor()
            c2 = banco.conexao.cursor()

            #numero de colunas da matriz
            c.execute(
                "select max(x.nrcoluna) from matrizamostra x where x.idamostratestes = "
                + str(idAmostra) + "  ")

            contadorColunas = 0

            for linha in c:
                contadorColunas = linha[0]

            #Preenchimento da MatrizX
            matrizX = []

            c.execute(
                "select x.idamostratestes from matrizamostra x where x.idamostratestes =  "
                + str(idAmostra) +
                " group by x.idamostratestes order by x.idamostratestes asc")

            listaAmostras = []
            for regAmostras in c:
                listaAmostras.append(regAmostras[0])

            #print(listaAmostras)

            for amostra in listaAmostras:
                #print(amostra)
                linhaMatriz = []

                c.execute(
                    "SELECT idamostratestes, vlresultado 	FROM public.matrizamostra where idamostratestes = "
                    + str(amostra) +
                    " order by idamostratestes, nrsequencia, 	nrlinha, nrcoluna, dsidentifica asc"
                )

                for regDadosAmostra in c:
                    if regDadosAmostra[1] == 0E-8:
                        linhaMatriz.append('0')
                    else:
                        linhaMatriz.append(regDadosAmostra[1])

                print(amostra)
                print(linhaMatriz)
                matrizX += [linhaMatriz]

            #print('MATRIZ - X')
            #print(matrizX)

            c.close()

            return matrizX
        except Exception:
            print(Exception)
            return "Ocorreu um erro na busca dos dados"
def login():
    form_login={}
    form_login["email"]=input("\nEscriba su Email: ")
    form_login["password"]=input("Escriba su contraseña: ")
    if (validator.validar_login(form_login) is not False) and (form_login["email"] == ("*****@*****.**")):
        user=Usuario(*validator.validar_login(form_login))
        print("=========================================================")
        print(f"============ Bienvenido al menu de ADMINISTRADOR!!=======\n")
        return Menu_adm()
    elif validator.validar_login(form_login) is not False:
        user=Usuario(*validator.validar_login(form_login))       
        if 1+1 == 2:
            sql="select ID from usuarios where email=%s"
            val=(form_login["email"],)
            dba.get_cursor().execute(sql,val)
            result=dba.get_cursor().fetchone()
            user.set_id(result[0])
        if 4+4==8:
            sql="select nombre from bancos where ID=%s"
            val=(user.get_banco(),)
            dba.get_cursor().execute(sql,val)
            result=dba.get_cursor().fetchone()
            bank=Banco(result[0])
        print()
        print("=======================================================")
        print(f"============ Bienvenido a CompuEcommerce {user.get_nombre()}!!=======\n")
        return Menu_us(user,bank)
    else:
        print("\nUsuario o contraseña incorrecta.\n")
        return login()
示例#9
0
    def selectCarrinhoProduto(self, idusuario, idproduto):
        banco = Banco()
        self.idusuario = idusuario
        self.idproduto = idproduto

        try:

            bd = banco.conexao.cursor()

            if (self.idusuario != 0):
                bd.execute("select * from carrinhos where idusuario = '" +
                           self.idusuario + "' and idproduto = '" +
                           self.idproduto + "'")
                for linha in bd:
                    self.idinsercao = linha[0]
                    self.idusuario = linha[1]
                    self.idproduto = linha[2]

                bd.close()
                if self.idinsercao == 0:
                    return "select carrinhoProduto sucesso - produto ou carrinho não encontrado"
                return "select carrinhoProduto sucesso - produto encontrado"
            else:
                bd.close()
                return "select carrinhoProduto sucesso - forneça o id do carrinho ou do usuario"
        except:
            return "select carrinhoProduto falha"
示例#10
0
 def SetUp(self):
     self.banco = Banco("banco")
     self.cajero = CajeroAutomatico(self.banco)
     self.banco.agregar_usuario("rut2", "nombre2", "clave2")
     self.banco.agregar_usuario("rut", "nombre", "clave")
     self.banco.usuarios[0].saldo = 100000
     self.monto = 50000
示例#11
0
  def cadastroTarefa(self):
    descricao = self.entryDescricao.get()
    data = self.entryData.get()

    if len(descricao)<1 or len(data)<1:
      self.changeMSG("Todos os campos devem ser preenchidos",'red')
    else:
      banco = Banco()
      try:
        c = banco.conexao.cursor()
        query = "insert into tarefas (descricao,data) values ('{0}','{1}');".format(descricao,data)
        c.execute(query)
        banco.conexao.commit()
        if c.lastrowid > 0:
          self.changeMSG("Tarefa cadastrado com sucesso","green")
          self.entryDescricao.delete("0","end")
          self.entryData.delete("0","end")
          print("sucesso")
        else:
          print("erro")
          self.changeMSG("Ocorreu um erro no cadastro da tarefa","red")
        c.close()
      except:
        print("exceção")
        self.changeMSG("Ocorreu um erro no cadastro da tarefa","red")
示例#12
0
    def selectImovel(self, IdImovel):
        banco = Banco()
        try:
            c=banco.conexao.cursor()
            c.execute("select * from Imoveis where IdImovel = " + IdImovel + "  ")

            for linha in c:
                self.IdImovel = linha[0]
                self.DataCadastro = linha[1]
                self.IdProprietario = linha[2]
                self.AreaUtil = linha[3]
                self.AreaTotal = linha[4]
                self.VlrVenda = linha[5]
                self.VlrAluguel = linha[6]
                self.VlrIPTU = linha[7]
                self.VlrCondominio = linha[8]
                self.NumRelogioAES = linha[9]
                self.NumRelogioSABESP = linha[10]
                self.NumSeguro = linha[11]
                self.Apolice = linha[12]
                self.Tipo = linha[13]

            c.close()

            return "Busca feita com sucesso!"
        except:
            return "Ocorreu um erro na busca do Imóvel!"
示例#13
0
def test_cria_banco():
    try:
        b = Banco('nome')
    except Exception:
        assert False, 'Erro ao criar o Banco'
    else:
        assert not hasattr(b, 'nome'), 'nome deve ser um atributo privado'
示例#14
0
def test_abre_conta():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 100)
    ccs = b.lista_contas()
    assert len(ccs) == 1, 'O banco deveria ter 1 conta'
    assert type(ccs[0]) == Conta, 'Deveria retornar um objeto do tipo Conta'
    assert ccs[0].get_numero() == 1, 'A primeira conta deve ser a numero 1'
示例#15
0
def test_abre_conta():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 100)
    ccs = b.lista_contas()
    assert len(ccs) == 1
    assert type(ccs[0]) == Conta
    assert ccs[0].get_numero() == 1, 'A primeira conta deve ser a numero 1'
示例#16
0
def lista_contas_com_contas():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 200)
    b.abre_conta([c], 300)
    assert len(b.lista_contas()) == 2, 'O banco deveria ter 2 contas'
    for cc in b.lista_contas():
        assert type(cc) == Conta, 'Deveria retornar uma lista de contas'
 def __init__(self, cargo, id_setor, qtd_dependentes, nome, sexo,
              data_nascimento, salario):
     super().__init__(nome, sexo, data_nascimento)
     self.id_funcionario = None
     self.cargo = cargo
     self.id_setor = int(id_setor)
     self.salario = int(salario)
     self.qtd_dependentes = int(qtd_dependentes)
     self.banco = Banco()
示例#18
0
def test_banco_contas_existentes():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 200)
    b.abre_conta([c], 300)
    assert len(b.contas) == 2, 'O banco deveria ter 2 contas'
    for cc in b.contas:
        assert isinstance(cc, Conta), ('Os elementos da lista de contas '
                                       'devem ser instâncias da classe Conta')
示例#19
0
    def excluir(self):

        conecta = Banco()
        c = conecta.conexao.cursor()
        c.execute('delete from ControleDeProcessos where NumeroDoProcesso="' +
                  self.NumeroDoProcesso + '"')
        c.close()
        conecta.conexao.commit()
        return "Excluido com sucesso!"
示例#20
0
def test_abre_conta_2():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 100)
    b.abre_conta([c], 500)
    ccs = b.lista_contas()
    assert len(ccs) == 2, 'O banco deveria ter 2 contas'
    assert type(ccs[1]) == Conta, 'Deveria retornar um objeto do tipo Conta'
    assert ccs[1].get_numero() == 2, 'A segunda conta deve ser a numero 2'
示例#21
0
def selectUser(self, idusuario):
    banco = Banco()
    try:
        c = banco.conexao.cursor()

        c.execute("select * from usuarios where idusuario = " + idusuario + " ")

        for linha in c:
            self.
示例#22
0
def test_abre_conta_2():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    b.abre_conta([c], 100)
    b.abre_conta([c], 500)
    ccs = b.lista_contas()
    assert len(ccs) == 2
    assert type(ccs[1]) == Conta
    assert ccs[1].get_numero() == 2, 'A segunda conta deve ser a numero 2'
示例#23
0
    def consultar_todos(self):
        conecta = Banco()
        c = conecta.conexao.cursor()
        c.execute('select * from ControleDeProcessos')
        lista = []
        for linha in c:
            lista.append(linha)

        c.close()
        return lista
示例#24
0
def test_banco_abre_conta_erro():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    try:
        b.abre_conta([c], -100)
    except ValueError:
        pass
    except Exception:
        assert False, (
            'Erro diferente de ValueError para saldo inicial negativo')
    assert len(b.contas) == 0, 'Abriu uma conta com saldo inicial negativo'
示例#25
0
def test_n_abre_conta():
    b = Banco('nome')
    c = Cliente('nome', 99999999, '*****@*****.**')
    try:
        b.abre_conta([c], -100)
    except ValueError:
        assert True
    except Exception:
        assert False, 'Não lançou um ValueError'
    ccs = b.lista_contas()
    assert len(ccs) == 0
示例#26
0
 def setUp(self):
     self.banco = Banco("Seguritas")
     self.rut1 = "18.375.852-2"
     self.nombre1 = "Alberto Rodriguez"
     self.clave1 = 2345
     self.rut2 = "13.432.113-k"
     self.nombre2 = "Fernanda Pereira"
     self.clave2 = 5912
     self.banco.agregar_usuario(self.rut1, self.nombre1, self.clave1)
     self.banco.agregar_usuario(self.rut2, self.nombre2, self.clave2)
     self.cajero = CajeroAutomatico(self.banco)
示例#27
0
    def insertImovel(self):
        banco = Banco()
        try:
            c = banco.conexao.cursor()
            c.execute("insert into Imoveis (DataCadastro, IdProprietario, AreaUtil, AreaTotal, VlrVenda, VlrAluguel, VlrIPTU, VlrCondominio, NumRelogioAES, NumRelogioSABESP, NumSeguro, Apolice, Tipo) values ('" + self.DataCadastro + "', '" + self.IdProprietario + "', '" + self.AreaUtil + "', '"+ self.AreaTotal + "', '" + self.VlrVenda + "' , '" + self.VlrAluguel + "' , '" + self.VlrIPTU + "', '" + self.VlrCondominio + "','" + self.NumRelogioAES + "', '" + self.NumRelogioSABESP + "','" + self.NumSeguro + "', '" + self.Apolice + "', '" + self.Tipo + "' )")
        
            banco.conexao.commit()
            c.close()

            return "Imóvel cadastrado com sucesso!"
        except:
            return "Ocorreu um erro na inserção do Imóvel"
示例#28
0
    def selectMatrizXModelo(self, idModelo):
        banco = Banco()
        try:

            c = banco.conexao.cursor()
            c2 = banco.conexao.cursor()

            #numero de colunas da matriz
            c.execute(
                "select max(x.nrPosicaoColuna) from matriz_x x inner join amostra a on (a.idAmostra = x.idAmostra) where a.idModelo = "
                + idModelo + "  ")

            contadorColunas = 0

            for linha in c:
                contadorColunas = linha[0]

            #Preenchimento da MatrizX
            matrizX = []

            c.execute(
                "select x.idAmostra from matriz_x x inner join amostra a on (a.idAmostra = x.idAmostra) where a.idModelo =  "
                + str(idModelo) +
                " group by x.idAmostra order by x.idAmostra asc")

            listaAmostras = []
            for regAmostras in c:
                listaAmostras.append(regAmostras[0])

            print(listaAmostras)

            for amostra in listaAmostras:
                #print(amostra)
                linhaMatriz = []

                c.execute(
                    "select x.idAmostra, x.nrSequencia, x.nrPosicaoLinha, x.nrPosicaoColuna, x.vlLinhaColuna from matriz_x x inner join amostra a on (a.idAmostra = x.idAmostra) where a.idAmostra = "
                    + str(amostra) +
                    "  order by x.nrPosicaoLinha asc, x.nrPosicaoColuna asc")

                for regDadosAmostra in c:
                    linhaMatriz.append(regDadosAmostra[4])
                #print(linhaMatriz)
                matrizX += [linhaMatriz]

            print(matrizX)

            c.close()

            return "Busca feita com sucesso!"
        except Exception:
            print(Exception)
            return "Ocorreu um erro na busca dos dados"
示例#29
0
    def selectMatrizyYNOVO(self, idModelo, conjunto):
        banco = Banco()
        try:

            c = banco.conexao.cursor()

            matrizY = []

            c.execute(
                "select y.idamostra from matrizy y "
                "inner join amostra a on (a.idamostra = y.idamostra) where a.tpamostra = '"
                + str(conjunto) + "' "
                "order by y.idamostra asc")

            listaAmostras = []
            cont = 0
            for regAmostras in c:
                listaAmostras.append(regAmostras[0])
                cont = cont + 1

            #print(listaAmostras)
            print('Qtde de Amostras - Matriz Y')
            print(cont)

            for amostra in listaAmostras:
                #print(amostra)
                linhaMatriz = []

                c.execute(
                    "select y.idamostra, y.vlreferencia from matrizy y  where "
                    "y.idamostra = " + str(amostra) +
                    " order by y.idamostra asc")

                for regDadosAmostra in c:
                    if regDadosAmostra[1] == 0E-8:
                        linhaMatriz.append('0')
                    else:
                        linhaMatriz.append(np.double(regDadosAmostra[1]))

                #print(amostra)
                #print(linhaMatriz)
                matrizY += [linhaMatriz]

            #print('MATRIZ - Y')
            #print(matrizY)

            c.close()

            return matrizY
        except Exception:
            print(Exception)
            return "Ocorreu um erro na busca dos dados"
示例#30
0
    def updateImovel(self):
        banco = Banco()
        try:
            c=banco.conexao.cursor()

            c.execute("update Imoveis set DataCadastro = '"+self.DataCadastro+"', IdProprietario = '"+self.IdProprietario+"', AreaUtil = '"+self.AreaUtil+"', AreaTotal = '"+self.AreaTotal+"', VlrVenda = '"+self.VlrVenda+"', VlrAluguel = '"+self.VlrAluguel+"', VlrIPTU = '"+self.VlrIPTU+"', VlrCondominio = '"+self.VlrCondominio+"', NumRelogioAES = '"+self.NumRelogioAES+"', NumRelogioSABESP = '"+self.NumRelogioSABESP+"', NumSeguro = '"+self.NumSeguro+"', Apolice = '"+self.Apolice+"',Tipo = '"+self.Tipo+"' where IdImovel = "+self.IdImovel+" ")
            banco.conexao.commit()
            c.close()

            return "Dados atualizado com sucesso!"

        except:
            return "Ocorreu um erro na alteração dos dados!"