def finalizar_os(conexao): cursor = conexao.cursor() while (True): while (True): cls() print(Fore.CYAN + """ ========= Finalização de O.S. =========""") num_os = input("Insira o número da O.S. que deseja finalizar: ") validacao = validacao_os(num_os) if (validacao == 0): break if (isnumber(num_os)): num_os = int(num_os) num_os = num_os - 1 break else: print("Digite somente números! ", end="") op_invalida() sql = ''' SELECT servicos.rowid AS "Número da OS", user.nome AS "Técnico", cliente.nome AS "Nome do Cliente", servicos.problema AS "Problema", servicos.data_de_abertura AS "Data de Abertura", servicos.solucao AS "Solução", servicos.data_de_fechamento AS "Data de Fechamento", servicos.valor AS "Valor do serviço" FROM servicos INNER JOIN user ON servicos.iduser = user.rowid INNER JOIN cliente ON servicos.idcli = cliente.rowid''' cursor.execute(sql) #Atributo para retornar o resultado o Select lista = cursor.fetchall() # print(num_os) # print(lista[num_os][1]) arquivo = open(f"{num_os+1}.txt", "w") for i in range(0, len(lista[num_os])): escrita = str(lista[num_os][i]) arquivo.write(escrita + "@_@") print(Fore.GREEN + "Finalizada a ordem de serviço e feito o BKP!") arquivo.close() continuar()
def validacao_os(num_os): conexao = sqlite3.connect("infoLoja.sqlite") cursor = conexao.cursor() if (isnumber(num_os)): num_os = int(num_os) sql = "SELECT rowid, * FROM servicos" cursor.execute(sql) lista = cursor.fetchall() for i in range(0, len(lista)): if (num_os == int(f"{lista[i][0]:>1}")): # print("O.S. inexitente!! ", end="") # continuar() # print("Oi") return 0 else: print("O.S. inexitente!! ", end="") continuar() print() return 1
def alterar_os(conexao): cursor = conexao.cursor() while (True): while (True): cls() print(Fore.CYAN + """ ========= Modificação de O.S. =========""") num_os = input("Qual o número da O.S. a ser modificada? ") validacao = validacao_os(num_os) if (validacao == 0): break if (isnumber(num_os)): num_os = int(num_os) break else: print("Digite somente números! ", end="") op_invalida() sql = f""" SELECT rowid, idcli, iduser, problema, solucao, data_de_fechamento, valor FROM servicos WHERE rowid = {num_os} """ cursor.execute(sql) lista = cursor.fetchall() while (True): update = input("""O que deseja modificar? (idcli [ID do Cliente], iduser [ID do Técnico], problema, solução ou valor) """) update = update.lower() if (update == "idcli"): no_sql = "idcli" update_x = "o ID do Cliente" atual = lista[0][1] break elif (update == "iduser"): no_sql = "iduser" update_x = "o ID do Técnico" atual = lista[0][2] break elif (update == "problema"): no_sql = "problema" update_x = "o problema" atual = lista[0][3] break elif (update == "solução" or update == "solucao"): no_sql = "solucao" update_x = "a solução" atual = str(lista[0][4]) break elif (update == "valor"): no_sql = "valor" update_x = "o valor final" atual = str(lista[0][6]) break else: op_invalida() cls() print(Fore.CYAN + """ ========= Modificação de O.S. =========""") update = input( f"Deseja mesmo alterar {update_x} da {Fore.RED}O.S. {lista[0][0]}{Fore.RESET}? (S/N) " ) update = update.lower() if (update == "s"): while (True): if (atual == "None"): print("Esse atibuto ainda não está prenchido!") else: novo = input(f"Insira {update_x} novo(a): ") while (True): cls() print(Fore.CYAN + f""" ========= Modificando {update_x} =========""") print( f"Lembre-se {update_x} altual é '{Fore.CYAN}{atual}{Fore.RESET}'!" ) print(f"Voce digitou: {novo}") confirmar = input("Confirme {}: ".format(update_x)) update = input(f"Deseja mesmo alterar {update_x}? (S/N) ") update = update.lower() if (update == "n"): cls() break if (confirmar == novo): print(Fore.GREEN + "Alterando", end='', flush=True) for i in range(5): print(Fore.GREEN + '.', end='', flush=True) time.sleep(0.5) print() sql = f""" UPDATE servicos SET {no_sql} = "{confirmar}" WHERE rowid = {num_os} """ cursor.execute(sql) conexao.commit() print(f"Você alterou {update_x} da O.S. {num_os}!") break else: print("Confirmação incorreta!") continuar = input("Deseja continuar (S/N)? ") continuar = continuar.lower() if (continuar == 'n'): sair() continuar = input("Deseja alterar novamente (S/N)? ") continuar = continuar.lower() if (continuar == 'n'): break else: sair()
def excluir_cliente(conexao): cursor = conexao.cursor() while (True): cls() print(Fore.CYAN + """ ========= Exclusão de clientes =========""") rowid = input("Qual o ID do cliente que deseja excluir? ") if (isnumber(rowid)): rowid = int(rowid) break else: print("Apenas números de IDs, ", end="") op_invalida() # Select dos atributos para serem usados para a confirmação sql = """ SELECT nome, cpf, rowid FROM cliente WHERE rowid = {} """.format(rowid) cursor.execute(sql) lista = cursor.fetchall() excluir = input( f'Deseja excluir o cliente "{Fore.RED}{lista[0][0]}{Fore.RESET}" que tem o CPF "{Fore.RED}{lista[0][1]}{Fore.RESET}"?(S/N) ' ) excluir = excluir.lower() if (excluir == 's'): while (True): confirmar = input("Confirme o ID do cliente, para a exclusão: ") if (confirmar == str(lista[0][2])): print(Fore.GREEN + "Excluindo", end='', flush=True) for i in range(5): print(Fore.GREEN + '.', end='', flush=True) time.sleep(0.5) print("") sql_excluir = """ DELETE FROM cliente WHERE rowid = {} """.format(rowid) cursor.execute(sql_excluir) conexao.commit() print(Fore.RED + "Você excluiu o cliente {}!".format(rowid)) break else: print(Fore.RED + "ID incorreta!") continuar = input("Deseja continuar (S/N)? ") continuar = continuar.lower() cls() print(Fore.CYAN + """ ========= Exclusão de clientes =========""") if (continuar == 'n'): sair()
def alterar_cliente(conexao): cursor = conexao.cursor() while (True): cls() print(Fore.CYAN + """ ======== Modificação de Cliente ========""") rowid = input("Qual o ID do cliente a ser modificado? ") if (isnumber(rowid)): num_os = int(rowid) break else: print("Digite somente números! ", end="") op_invalida() sql = f""" SELECT rowid, nome, cpf, rg, celular FROM cliente WHERE rowid = {num_os} """ cursor.execute(sql) lista = cursor.fetchall() print(lista[0]) while (True): cls() print(Fore.CYAN + """ ======== Modificação de Cliente ========""") update = input("""O que deseja modificar? (Nome, CPF, RG, Celular) """) update = update.lower() if (update == "nome"): no_sql = "nome" update_x = "o Nome do Cliente" atual = lista[0][1] break elif (update == "cpf"): no_sql = "cpf" update_x = "o CPF do Técnico" atual = lista[0][2] break elif (update == "rg"): no_sql = "rg" update_x = "o RG do cliente" atual = lista[0][3] break elif (update == "celular"): no_sql = "celular" update_x = "o Celular do cliente" atual = str(lista[0][4]) break else: op_invalida() cls() print(Fore.CYAN + """ ======== Modificação de Cliente ========""") update = input( f"Deseja mesmo alterar {update_x} do {Fore.RED}cliente {lista[0][0]}{Fore.RESET}? (S/N) " ) update = update.lower() if (update == "s"): while (True): cls() print(Fore.CYAN + f""" ========= Modificando {update_x} =========""") novo = input(f"Insira {update_x} novo(a): ") while (True): cls() print(Fore.CYAN + f""" ========= Modificando {update_x} =========""") print( f"Lembre-se {update_x} altual é '{Fore.CYAN}{atual}{Fore.RESET}'!" ) print(f"Voce digitou: {novo}") confirmar = input("Confirme {}: ".format(update_x)) update = input(f"Deseja mesmo alterar {update_x}? (S/N) ") update = update.lower() if (update == "n"): cls() break if (confirmar == novo): print(Fore.GREEN + "Alterando", end='', flush=True) for i in range(5): print(Fore.GREEN + '.', end='', flush=True) time.sleep(0.5) print() sql = f""" UPDATE cliente SET {no_sql} = "{confirmar}" WHERE rowid = {rowid} """ cursor.execute(sql) conexao.commit() print(f"Você alterou {update_x} do Cliente {rowid}!") break else: print("Confirmação incorreta!") continuar = input("Deseja continuar (S/N)? ") continuar = continuar.lower() if (continuar == 'n'): sair() continuar = input("Deseja alterar novamente (S/N)? ") continuar = continuar.lower() if (continuar == 'n'): break else: sair()
def excluir_usuario(conexao): cursor = conexao.cursor() while(True): cls() print(Fore.CYAN + """ ========= Exclusão de usuários =========""") rowid = input("Qual o ID do usuario que deseja excluir? ") if(isnumber(rowid)): rowid = int(rowid) break else: print("Apenas números de IDs, ", end="") op_invalida() # Select dos atributos para serem usados para a confirmação sql = """ SELECT nome, login,senha FROM user WHERE rowid = {} """.format(rowid) cursor.execute(sql) lista = cursor.fetchall() excluir = input(f'Deseja excluir o usuário "{Fore.RED}{lista[0][0]}{Fore.RESET}" que tem o login "{Fore.RED}{lista[0][1]}{Fore.RESET}"?(S/N) ') excluir = excluir.lower() if (excluir == 's'): while(True): confirmar = input("Insira a senha para a exclusão: ") if(confirmar == lista[0][2]): print(Fore.GREEN+"Excluindo", end='', flush=True) for i in range(5): print(Fore.GREEN + '.', end='', flush=True) time.sleep(0.5) print("") sql_excluir = """ DELETE FROM user WHERE rowid = {} """.format(rowid) cursor.execute(sql_excluir) conexao.commit() print(Fore.RED + "Você excluiu o Usuário {}!".format(rowid)) break else: print(Fore.RED + "Senha incorreta") continuar = input("Deseja continuar (S/N)? ") continuar = continuar.lower() if (continuar == 'n'): sair()