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 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: 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 listarRegistros(self, id=0, imp=True): try: conn = conectar() cursor = conn.cursor() if id == 0: ret = cursor.execute( f"Select id, descricao, agencia, numero From contas") else: ret = cursor.execute( f"Select id, descricao, agencia, numero From contas Where id = {id}" ) row = cursor.fetchone() if not row: print('-' * 40) print('Não há registros!') print('-' * 40) return False else: if imp: if id == 0: print('=' * 40) else: print('-' * 40) while row: reg = { 'Código': row[0], 'Descrição': row[1], 'Agência': row[2], 'Número da Conta': row[3] } print(reg) print('-' * 40) row = cursor.fetchone() if id == 0: print('=' * 40) return reg else: lista = list() while row: reg = { 'Código': row[0], 'Descrição': row[1], 'Agência': row[2], 'Número da Conta': row[3] } lista.append(reg) row = cursor.fetchone() return lista conn.close() except Exception as erro: print( f'Ocorreu um erro na consulta dos dados, por favor tente novamente.' ) return False
def cadastrar(self): desc = campoStr('Descrição ', 50) age = campoStr('Agência ', 10) num = campoStr('Número da Conta ', 20) try: conn = conectar() cursor = conn.cursor() ret = cursor.execute( f"Insert Into contas(descricao, agencia, numero) Values('{desc}', '{age}', '{num}')" ) conn.commit() conn.close() print('-' * 40) print(f'Registro incluído com sucesso.') print('-' * 40) except Exception as erro: print(f'Ocorreu um erro ao inserir, por favor tente novamente.')
def cadastrar(self): desc = campoStr('Descrição ', 50) und = campoStr('Unidade de Medida ', 10) preco = campoFloat('Preço: ') try: conn = conectar() cursor = conn.cursor() ret = cursor.execute( f"Insert Into produtos(descricao, unidade, preco) Values('{desc}', '{und}', {preco})" ) conn.commit() conn.close() print('-' * 40) print(f'Registro incluído com sucesso.') print('-' * 40) except Exception as erro: print(f'Ocorreu um erro ao inserir, por favor tente novamente.')
def listarRegistros(self, id=0, imp=True): try: conn = conectar() cursor = conn.cursor() if id == 0: ret = cursor.execute(f"Select id, nome, rua, num, cep, estado," f" cidade, bairro, fone, cpf, email From clientes") else: ret = cursor.execute(f"Select id, nome, rua, num, cep, estado," f" cidade, bairro, fone, cpf, email From clientes Where id = {id}") row = cursor.fetchone() if not row: print('-' * 40) print('Não há registros!') print('-' * 40) return False else: if imp: if id == 0: print('=' * 40) else: print('-' * 40) while row: reg = {'Código': row[0], 'Nome': row[1], 'Rua': row[2], 'Número': row[3], 'CEP': row[4], 'Estado': row[5], 'Cidade': row[6], 'Bairro': row[7], 'Fone': row[8], 'CPF': row[9], 'E-mail': row[10]} print(reg) print('-' * 40) row = cursor.fetchone() if id == 0: print('=' * 40) return reg else: lista = list() while row: reg = {'Código': row[0], 'Nome': row[1], 'Rua': row[2], 'Número': row[3], 'CEP': row[4], 'Estado': row[5], 'Cidade': row[6], 'Bairro': row[7], 'Fone': row[8], 'CPF': row[9], 'E-mail': row[10]} lista.append(reg) row = cursor.fetchone() return lista conn.close() except Exception as erro: print(f'Ocorreu um erro na consulta dos dados, por favor tente novamente.') return False
def cadastrar(self): nome = campoStr('Nome ', 50) rua = campoStr('Nome da Rua ', 50) num = campoStr('Número ', 10) cep = campoStr('CEP ', 10) estado = campoStr('Estado ', 50) cidade = campoStr('Cidade ', 50) bairro = campoStr('Bairro ', 50) fone = campoStr('Fone ', 14) cpf = campoStr('CPF ', 18) email = campoStr('E-mail ', 50) try: conn = conectar() cursor = conn.cursor() ret = cursor.execute(f"Insert Into clientes(nome, rua, num, cep, estado, cidade, bairro, fone, cpf, email)" f" Values('{nome}', '{rua}', '{num}', '{cep}', '{estado}', " f"'{cidade}', '{bairro}', '{fone}', '{cpf}', '{email}')") conn.commit() conn.close() print('-' * 40) print(f'Registro incluído com sucesso.') print('-' * 40) except Exception as erro: print(f'Ocorreu um erro ao inserir, por favor tente novamente.')
def listarRegistros(self, id=0, imp=True, item=0): try: conn = conectar() cursor = conn.cursor() if id == 0: if item == 0: ret = cursor.execute( f"Select id, nome_clientes, dataven, totalven From vendas" ) else: ret = cursor.execute( f"Select id, descricao_produtos, preco, qtde, total_item From proven" ) else: if item == 0: ret = cursor.execute( f"Select id, nome_clientes, dataven, totalven From vendas Where id = {id}" ) else: ret = cursor.execute( f"Select id_produtos, descricao_produtos," f" preco, qtde, total_item From proven Where id_vendas = {id}" ) row = cursor.fetchone() if not row: print('-' * 40) print('Não há registros!') print('-' * 40) return False else: if imp: if id == 0: print('=' * 40) else: print('-' * 40) while row: if item == 0: reg = { 'Código': row[0], 'Nome do Cliente': row[1], 'Data da Venda': row[2], 'Total': row[3] } else: reg = { 'Código do Produto': row[0], 'Descrição': row[1], 'Preço': row[2], 'Qtde': row[3], 'Total do Item': row[4] } print(reg) print('-' * 40) row = cursor.fetchone() if id == 0: print('=' * 40) return reg else: lista = list() while row: if item == 0: reg = { 'Código': row[0], 'Nome do Cliente': row[1], 'Data da Venda': row[2], 'Total': row[3] } else: reg = { 'Código': row[0], 'Descrição': row[1], 'Preço': row[2], 'Qtde': row[3], 'Total do Item': row[4] } lista.append(reg) row = cursor.fetchone() return lista conn.close() except Exception as erro: print( f'Ocorreu um erro na consulta dos dados, por favor tente novamente.' ) return False
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()