Пример #1
0
def relatorio_os_mes(conexao):
    cursor = conexao.cursor()

    mes = input(
        "Insira o o número do mês que deseja ver o relatório de Ordens de Serviço criadas: "
    )

    sql = """
    SELECT servicos.rowid, servicos.data_de_abertura, user.nome FROM servicos
    INNER JOIN user 
    ON servicos.iduser = user.rowid

    """
    cursor.execute(sql)

    lista = cursor.fetchall()

    cls()
    # print(lista)
    print(Fore.CYAN + """
       == Relatório de criação mensal de O.S. =""")
    print(Fore.RED + "    |OS|\t|  Técnico  |\t|Data de Abertura|")
    for i in range(0, len(lista)):
        posicao = str(lista[i])
        if (posicao[8:10] == mes):
            print(
                f"    |{posicao[1]} |\t|{posicao[25:-2]:<5}|\t|{posicao[5:21]:>15}|"
            )

    continuar()
Пример #2
0
def fechar_os(conexao):
    cls()
    print(Fore.CYAN + """
            ============ Fechar de O.S. ============""")
    num_os = int(input("Insira o número da O.S. que deseja finalizar: "))
    solucao = input("Insira a solução: ")
    data_de_fechamento = datetime.now()
    data_de_fechamento = data_de_fechamento
    data_hora = data_de_fechamento.strftime('%d/%m/%Y %H:%M')

    valor = input("Valor total dos serviços: ")
    cursor = conexao.cursor()

    sql2 = f"""
    UPDATE servicos SET solucao="{solucao}" WHERE rowid = {num_os};"""
    sql3 = f"""
    UPDATE servicos SET data_de_fechamento="{data_hora}" WHERE rowid = {num_os};"""
    sql4 = f"""
    UPDATE servicos SET valor={valor} WHERE rowid = {num_os}; """

    cursor.execute(sql2)
    cursor.execute(sql3)
    cursor.execute(sql4)
    conexao.commit()
    print(Fore.RED + "Dados inseridos com sucesso!")
    continuar()
Пример #3
0
def visualizar_os():
    num_os = int(input("Insira o número da O.S. que deseja visualizar: "))

    arquivo = open(f"{num_os}.txt", "r")
    conteudo = arquivo.readline()
    x = conteudo.split("@_@")
    #Print Configurado para o formato de os, futuramente gerar formatod HTML e criar o print com For
    print(
        """
   |--------------------------------------------------------------
   | """, Fore.RED + """OS: """, f"""{x[0]}""",
        Fore.RED + """\t\t\tData de Entrada:""", f""" {x[4]:<}
   |--------------------------------------------------------------
   |""", Fore.RED + """Técnico:""", f"""{x[1]}                 """,
        Fore.RED + """Cliente:""", f""" {x[2]}
""", """  |--------------------------------------------------------------
   |""", Fore.RED + """Problema:""", """
   |""", f"""{x[3]:<}
   |--------------------------------------------------------------
   |""", Fore.RED + """Solução:
  """, f"""| {x[5]}
   |--------------------------------------------------------------
   |""", Fore.RED + """Valor:""", f""" {x[7]}           """,
        Fore.RED + """Data de Saída: """, f"""{x[6]}
   |--------------------------------------------------------------""")

    arquivo.close()

    continuar()
Пример #4
0
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()
Пример #5
0
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
Пример #6
0
def inserir_os(conexao):
    cursor = conexao.cursor()

    print(Fore.CYAN + """
    =========== Inserção de O.S. ===========""")
    idcli = int(input("Insira o número de cadastro do cliente desejado: "))
    iduser = int(input("Insira o número de cadastro do técnico: "))
    problema = input("Qual o problema? ")
    data_de_abertura = datetime.now()
    data_hora = data_de_abertura.strftime('%d/%m/%Y %H:%M')

    sql = f"""
    INSERT INTO servicos (idcli, iduser, problema, data_de_abertura) VALUES(
      {idcli},
      {iduser},
      "{problema}",
      "{data_hora}"
    );"""
    cursor.execute(sql)

    conexao.commit()
    print(Fore.RED + "O.S. criada com sucesso!")

    continuar()
Пример #7
0
def listar_cliente(conexao):
    print(Fore.CYAN + """
    =========== Lista de clientes ===========""")
    cursor = conexao.cursor()
    sql = """
    SELECT rowid, nome, cpf, celular FROM cliente 
    """

    cursor.execute(sql)
    # Atributo para retornar o resultado o Select
    lista = cursor.fetchall()
    usuario = int(input("Insira o cliente específico que deseja ver: "))
    # Print dos atributos principais do usuário
    print(Fore.RED + "ID\t Nome\t \t\t CPF \t\t\t Celular")

    for i in lista:
        if (i[0] == usuario):
            print(Back.RED + f'{i[0]}\t', Back.RED + f'{i[1]:<13}\t\t',
                  Back.RED + f'{i[2]:<13}\t\t', Back.RED + f'{i[3]:<13}')
        else:
            print(f'{i[0]}\t', f'{i[1]:<13}\t\t', f'{i[2]:<13}\t\t',
                  f'{i[3]:<13}')

    continuar()
Пример #8
0
                #Menu inicial, ir para Usuários ou OSs
                menus.menu_inicial()
                opcao = input("Insira a opção: ")

                if (opcao == "1"):
                    while (True):
                        cls()
                        #Entrando no menu usuário
                        menus.menu_usuario()
                        opcao = input("Insira a opção: ")

                        #Escolhida a opção que entra no menu de cdastro de usuário
                        if (opcao == "1"):
                            cls()
                            user.inserirUser(conexao)
                            continuar()

                        #Escolhida a opção que entra no menu de Exclusão de usuário
                        elif (opcao == "2"):
                            cls()
                            user.excluir_usuario(conexao)
                            continuar()

                        #Escolhida a opção que entra no menu de alterar dados do usuário de usuário
                        elif (opcao == "3"):
                            cls()
                            user.update_usuario(conexao)

                        #Escolhida a opção que entra no menu de listar usuários
                        elif (opcao == "4"):
                            cls()