def excluir(self): while True: id = campoInt('Código [0 para listar]: ') reg = self.listarRegistros(id) if id != 0: break if reg: try: while True: resp = str( input( 'Tem certeza que deseja excluir o registro acima? [S/N]: ' )).strip().upper() if resp in 'SN': break if resp == 'S': conn = conectar() cursor = conn.cursor() ret = cursor.execute(f"Delete From contas Where id = {id}") conn.commit() conn.close() print('-' * 40) print(f'Registro excluído com sucesso.') print('-' * 40) else: print('-' * 40) print(f'O registro NÃO foi excluído.') print('-' * 40) except Exception as erro: print( f'Ocorreu um erro ao alterar, por favor tente novamente.')
def alterar(self): while True: id = campoInt('Código [0 para listar]: ') reg = self.listarRegistros(id) if id != 0: break if reg: try: desc = campoStr('Descrição ', 50, True, 'Descrição', reg['Descrição']) age = campoStr('Agência ', 10, True, 'Agência', reg['Agência']) num = campoStr('Número da Conta ', 20, True, 'Número da Conta', reg['Número da Conta']) conn = conectar() cursor = conn.cursor() ret = cursor.execute( f"Update contas Set descricao = '{desc}', agencia = '{age}', numero = '{num}' Where id = {id}" ) conn.commit() conn.close() print('-' * 40) print(f'Registro alterado com sucesso.') print('-' * 40) except Exception as erro: print( f'Ocorreu um erro ao alterar, por favor tente novamente.')
def alterar(self): while True: id = campoInt('Código [0 para listar]: ') reg = self.listarRegistros(id) if id != 0: break if reg: try: nome = campoStr('Nome ', 50, True, 'Nome', reg['Nome']) rua = campoStr('Nome da Rua ', 50, True, 'Nome da Rua', reg['Rua']) num = campoStr('Número ', 10, True, 'Número', reg['Número']) cep = campoStr('CEP ', 10, True, 'CEP', reg['CEP']) estado = campoStr('Estado ', 50, True, 'Estado', reg['Estado']) cidade = campoStr('Cidade ', 50, True, 'Cidade', reg['Cidade']) bairro = campoStr('Bairro ', 50, True, 'Bairro', reg['Bairro']) fone = campoStr('Fone ', 14, True, 'Fone', reg['Fone']) cpf = campoStr('CPF ', 18, True, 'CPF', reg['CPF']) email = campoStr('E-mail ', 50, True, 'E-mail', reg['E-mail']) conn = conectar() cursor = conn.cursor() ret = cursor.execute(f"Update clientes Set nome = '{nome}', rua = '{rua}', num = '{num}', cep = '{cep}'," f" estado = '{estado}', cidade = '{cidade}', bairro = '{bairro}', fone = '{fone}', cpf = '{cpf}'," f" email = '{email}' Where id = {id}") conn.commit() conn.close() print('-' * 40) print(f'Registro alterado com sucesso.') print('-' * 40) except Exception as erro: print(f'Ocorreu um erro ao alterar, por favor tente novamente.')
def alterar(self): while True: id = campoInt('Código [0 para listar]: ') reg = self.listarRegistros(id) if id != 0: break if reg: try: desc = campoStr('Descrição ', 50, True, 'Descrição', reg['Descrição']) und = campoStr('Unidade de Medida ', 10, True, 'Unidade de Medida', reg['Unidade de Medida']) preco = campoFloat('Preço ') conn = conectar() cursor = conn.cursor() ret = cursor.execute( f"Update produtos Set descricao = '{desc}', unidade = '{und}', preco = {preco} Where id = {id}" ) conn.commit() conn.close() print('-' * 40) print(f'Registro alterado com sucesso.') print('-' * 40) except Exception as erro: print( f'Ocorreu um erro ao alterar, por favor tente novamente.')
def exportar(self): id = campoInt('Informe o Código da Venda [0 = Todas]: ') reg = self.listarRegistros(id, False) if reg: arq = campoStr( 'Informe o nome do arquivo onde serão salvos os dados: ', 50) while True: dir = campoStr( 'Informe o caminho completo do arquivo [C = Cancelar]: ', 100) if dir in 'Cc' or os.path.exists(dir): break else: print('Diretório inexistente!') if dir not in 'Cc': try: dir = dir.replace('\\', '/') if dir[-1:] != '/': dir += '/' if arq[-4:] != '.txt': arq += '.txt' a = open(dir + arq, 'w') conteudo = '' for i in reg: conteudo += str(i) + '\n' regpro = self.listarRegistros(i['Código'], False, 1) for x in regpro: conteudo += ' ' + str(x) + '\n' conteudo += '\n' a.write(conteudo) a.close() print('-' * 40) print(f'Registro exportado com sucesso.') print('-' * 40) except Exception as erro: print( f'Ocorreu um erro ao exportar os dados, por favor tente novamente.' )
def consultar(self): id = campoInt('Código: ') self.listarRegistros(id)
def cadastrar(self): while True: id = campoInt( 'Informe o código do cliente [0 para listar os cadastros, -1 para cancelar a inclusão]: ' ) cadcli = CadClientes() if id == 0: CadClientes.listarRegistros(CadClientes.__init__(cadcli)) elif id == -1: return else: reg = CadClientes.listarRegistros(CadClientes.__init__(cadcli), id, False) if reg: idcli = id nomecli = reg[0]['Nome'] break proven = list() while True: id = campoInt( 'Informe o código do produto [0 para listar os cadastros, -1 para cancelar a inclusão]: ' ) cadpro = CadProdutos() if id == 0: CadProdutos.listarRegistros(CadProdutos.__init__(cadpro)) elif id == -1: return else: reg = CadProdutos.listarRegistros(CadProdutos.__init__(cadpro), id, False) if reg: qtde = campoFloat('Informe a quantidade vendida: ') reg[0]['Qtde'] = qtde proven.append(reg[0]) while True: resp = campoStr( 'Incluir outro produto? [S/N]: ').upper() if resp in 'SN': break if resp == 'N': break totven = 0 for i in proven: totven += float(i['Preço']) * i['Qtde'] try: conn = conectar() cursor = conn.cursor() ret = cursor.execute( f"Insert Into vendas(id_clientes, nome_clientes, dataven, totalven) " f"Values({idcli}, '{nomecli}', '{str(datetime.today())[:19]}', {totven})" ) ret = cursor.execute("Select max(id) From vendas") row = cursor.fetchone() for i in proven: cod = i['Código'] desc = i['Descrição'] preco = i['Preço'] qtde = i['Qtde'] ret = cursor.execute( f"Insert Into proven(id_vendas, id_produtos, descricao_produtos, preco, qtde, total_item) " f"Values({row[0]}, {cod}, '{desc}', {preco}, {qtde}, {float(preco) * qtde})" ) conn.commit() print('-' * 40) print(f'Registro incluído com sucesso.') print('-' * 40) except Exception as erro: conn.rollback() print(f'Ocorreu um erro ao inserir, por favor tente novamente.') finally: conn.close()