示例#1
0
def chooseOrderOptionReports():
    optionReports = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionReports.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        reportMenuOrder()
        optionReports = input('Digite a opção desejada: ')

    optionReports = int(optionReports)

    while optionReports < 0 or optionReports > 2:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        reportMenuOrder()
        chooseOrderOptionReports()

    else:

        # Número 0 volta ao menu principal do pedidos
        if optionReports == 0:
            cleanScreem()
            headerMenu()
            orderMenu()
            chooseOptionOrderMenu()

        # Número 1 exibe na tela o relatório de todos os pedidos
        elif optionReports == 1:
            allOrderInformationReports()
            cleanScreem()
            headerMenu()
            reportMenuOrder()
            chooseOrderOptionReports()

        # Número 2 exibe na tela o relatório de todos os pedidos de acordo com o periodo informado
        elif optionReports == 2:
            allOrderBetweenDateReports()
            cleanScreem()
            headerMenu()
            reportMenuOrder()
            chooseOrderOptionReports()
示例#2
0
def chooseOptionOrderMenu():
    optionOrder = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionOrder.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        orderMenu()
        optionOrder = input('Digite a opção desejada: ')

    optionOrder = int(optionOrder)

    while optionOrder < 0 or optionOrder > 2:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        reportMenuOrder()
        chooseOptionOrderMenu()

    else:

        if optionOrder == 0:
            # Importa a função que realiza a escolha das opções do menu principal
            from source.option.principalOption import chooseOptionMenuPrincipal
            cleanScreem()
            headerMenu()
            principal()
            chooseOptionMenuPrincipal()

        elif optionOrder == 1:
            delete()
            cleanScreem()
            headerMenu()
            orderMenu()
            chooseOptionOrderMenu()

        elif optionOrder == 2:
            cleanScreem()
            headerMenu()
            reportMenuOrder()
            chooseOrderOptionReports()
def chooseOptionMaintenance():
    optionMaintenance = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionMaintenance.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerMaintenanceMenu()
        optionMaintenance = input('Digite a opção desejada novamente: ')

    optionMaintenance = int(optionMaintenance)

    while optionMaintenance < 0 or optionMaintenance > 9:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerMaintenanceMenu()
        chooseOptionMaintenance()

    else:

        # Número 0 volta ao menu principal do cliente
        if optionMaintenance == 0:
            cleanScreem()
            headerMenu()
            customerMenu()
            chooseOptionMenuCustomer()

        # Os números de 1 á 9 são utilizados para atualizar alguma informação do cliente
        else:
            update(optionMaintenance)
            cleanScreem()
            headerMenu()
            customerMaintenanceMenu()
            chooseOptionMaintenance()
示例#4
0
def request():
    try:
        count = 0
        total = 0
        list_itensOrder = []
        namePizzas = []

        clientPhone = str(input('Digite o telefone do cliente: '))

        # Importa função para buscar cliente pelo número de telefone
        from source.db.tblCustomer import searchClientByPhone
        oneClient = searchClientByPhone(clientPhone)

        while not oneClient:
            print('\nCliente não encontrado!')
            resp = str(input('Deseja fazer a busca novamente (S/N) ?'))
            resp = resp.upper()

            while 'S' != resp != 'N':
                print('\nResposta incorreta!')
                resp = str(input('Deseja fazer a busca novamente (S/N) ?'))
                resp = resp.upper()

            else:
                if resp == 'S':
                    clientPhone = str(input('Digite o telefone do cliente: '))
                    oneClient = searchClientByPhone(clientPhone)

            if resp == 'N':
                cleanScreem()
                headerMenu()
                principal()

                # Importa a função que realiza a escolha das opções do menu principal
                from source.option.principalOption import chooseOptionMenuPrincipal
                chooseOptionMenuPrincipal()

        else:

            orderPizzaCustomer(oneClient[0])

            # Cria o pedido no banco de dados
            saveOrder(oneClient[0], str(datetime.now().date()), str(datetime.now().time()))

            qtdPizzas = input('Digite a quantidade de pizzas do pedido: ')

            # Valida se apenas números foram digitados
            while not qtdPizzas.isnumeric():
                print('A quantidade de pizzas não pode conter letras!')
                qtdPizzas = input('Digite a quantidade de pizzas do pedido novamente: ')

            qtdPizzas = int(qtdPizzas)

            # Realiza um loop com base na quantidade pizza pedida pelo usúario
            while(count < qtdPizzas):
                codPizza = input('Digite o codigo da pizza: ')

                # Valida se apenas números foram digitados
                while not codPizza.isnumeric():
                    print('O código da pizza não pode conter letras!')
                    codPizza = input('Digite o codigo da pizza novamente: ')

                codPizza = int(codPizza)

                listPizzaByCod = selectPizzaByCod(codPizza)

                while not listPizzaByCod or listPizzaByCod[4] == 1:
                    print('Pizza não encontrada ou inativa!')
                    codPizza = int(input('Digite o codigo da pizza novamente: '))
                    listPizzaByCod = selectPizzaByCod(codPizza)

                print('\n')
                namePizzas.append(listPizzaByCod[1])

                print('\n[1] - Médio')
                print('[2] - Grande')
                print('[3] - Gigante')
                sizePizza = input('Digite o código do tamanho da pizza: ')

                # Valida se apenas números foram digitado
                while not sizePizza.isnumeric():
                    print('O código do tamanho só pode conter números!')
                    sizePizza = input('Digite o código do tamanho da pizza novamente: ')

                sizePizza = int(sizePizza)

                print('\n')

                while sizePizza < 1 or sizePizza > 3:
                    print('\nCódigo inválido!')
                    print('\n[1] - Médio')
                    print('[2] - Grande')
                    print('[3] - Gigante')
                    sizePizza = int(input('Digite o código do tamanho da pizza novamente: '))
                    print('\n')

                else:

                    # Recebe o preço unitário da pizza
                    uniPrice = listPizzaByCod[4]

                    # Calcula o total da pizza
                    totalPrice = calculatePizzaValue(sizePizza, listPizzaByCod[3])

                    # Recebe código do pedido, busca realizada no banco
                    codOrder = selectCodOrder()

                    item = [codOrder[0], codPizza, sizePizza, uniPrice, totalPrice]

                    list_itensOrder.append(item)

                    # Recebe o total somando todos os itens
                    total = total + totalPrice

                    count += 1

            # Exibe na tela o total do pedido
            print('')
            print('----------------------')
            print('- Total: {:.2f}'.format(total))
            print('----------------------')

            customerMoney = input('Digite o valor em dinheiro que o cliente irá entregar: ')

            # Valida se apenas números foram digitados
            while not customerMoney.replace('.', '').isnumeric():
                print('Valor inválido!')
                customerMoney = input('Digite o valor em dinheiro que o cliente irá entregar novamente: ')

            customerMoney = float(customerMoney)

            while customerMoney < total:
                print('O valor digitado não pode ser menor que o total do pedido!')
                customerMoney = input('Digite o valor em dinheiro que o cliente irá entregar novamente: ')
                customerMoney = float(customerMoney)

            # Armazena o troco do pedido
            rest = customerMoney - total

            delivery = datetime.now() + timedelta(minutes=40)
            delivery = delivery.strftime('%H:%M')

            # Atualiza o total no pedido do cliente
            updateTotal(codOrder[0], total)

            list_itensOrder = tuple(list_itensOrder)

            # Importa função para salvar os itens do pedido
            from source.db.tblOrderItems import saveOrderItems

            # Salva os itens
            saveOrderItems(list_itensOrder)

            # Exibe na tela a nota do pedido
            print('\n')
            print('-'*55)
            print('- Nota\n')
            print('- Código do Pedido:', codOrder[0])
            print('- Nome do Cliente:', oneClient[1])

            for name in namePizzas:
                print('- Item:', name)

            print('- Valor total: {:.2f}'.format(total))
            print('- Troco: {:.2f}'.format(rest))
            print('- Horario aproximado de entrega:', delivery)
            print('-' * 55)

            input('\nPressione qualquer tecla para continuar...')

    except _sqlite3.OperationalError as error:
        print('\nNão foi realizar o pedido!')
        print('Erro: ', error)
        input('\nPressione enter para continuar...')
def chooseOptionMenuPizza():
    optionPizza = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionPizza.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        pizzaMenu()
        optionPizza = input('Digite a opção desejada: ')

    optionPizza = int(optionPizza)

    while optionPizza < 0 or optionPizza > 4:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        pizzaMenu()
        chooseOptionMenuPizza()

    else:

        # Número 0 volta ao menu principal
        if optionPizza == 0:
            # Importa a função que realiza a escolha das opções do menu principal
            from source.option.principalOption import chooseOptionMenuPrincipal
            cleanScreem()
            headerMenu()
            principal()
            chooseOptionMenuPrincipal()

        # Número 1 para cadastrar a pizza
        elif optionPizza == 1:
            pizzaRegister()
            cleanScreem()
            headerMenu()
            pizzaMenu()
            chooseOptionReportsPizza()

        # número 2 para entrar no menu de manutenção de pizza
        elif optionPizza == 2:
            cleanScreem()
            headerMenu()
            pizzaMaintenanceMenu()
            chooseOptionMaintenancePizza()

        elif optionPizza == 3:
            deactivatePizza()
            cleanScreem()
            headerMenu()
            pizzaMenu()
            chooseOptionMenuPizza()

        # número 4 para entrar no menu de relatório de pizza
        elif optionPizza == 4:
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()
def chooseOptionReportsPizza():
    optionReports = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionReports.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        pizzaReportsMenu()
        optionReports = input('Digite a opção desejada: ')

    optionReports = int(optionReports)

    while optionReports < 0 or optionReports > 5:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        pizzaReportsMenu()
        chooseOptionReportsPizza()

    else:

        # Número 0 volta ao menu principal de pizza
        if optionReports == 0:
            cleanScreem()
            headerMenu()
            pizzaMenu()
            chooseOptionMenuPizza()

        # Número 1 exibe na tela o relatório de todas as pizzas
        elif optionReports == 1:
            allPizzaInformationReports()
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()

        # Número 2 exibe na tela o relatório de uma pizza
        elif optionReports == 2:
            onePizzaInformationReports()
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()

        # Número 3 exibe na tela o relatório de todas as pizzas ativas
        elif optionReports == 3:
            allPizzaActiveReports()
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()

        # Número 4 exibe na tela o relatório de todas as pizzas inativas
        elif optionReports == 4:
            allPizzaInactiveReports()
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()

        # Número 5 exibe na tela o relatório da quantidade de pizzas cadastradas
        elif optionReports == 5:
            quantityPizzaReports()
            cleanScreem()
            headerMenu()
            pizzaReportsMenu()
            chooseOptionReportsPizza()
def main():
    cleanScreem()
    headerMenu()
    principal()
    chooseOptionMenuPrincipal()
def chooseOptionMenuCustomer():
    optionCustomer = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionCustomer.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerMenu()
        optionCustomer = input('Digite a opção desejada: ')

    optionCustomer = int(optionCustomer)

    while optionCustomer < 0 or optionCustomer > 4:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerMenu()
        chooseOptionMenuCustomer()

    else:

        # Número 0 volta ao menu principal
        if optionCustomer == 0:
            # Importa a função que realiza a escolha das opções do menu principal
            from source.option.principalOption import chooseOptionMenuPrincipal
            cleanScreem()
            headerMenu()
            principal()
            chooseOptionMenuPrincipal()


        # Número 1 para cadastrar o cliente
        elif optionCustomer == 1:
            customerRegister()
            cleanScreem()
            headerMenu()
            customerMenu()
            chooseOptionMenuCustomer()

        # número 2 para entrar no menu de manutenção do cliente
        elif optionCustomer == 2:
            cleanScreem()
            headerMenu()
            customerMaintenanceMenu()
            chooseOptionMaintenance()

        elif optionCustomer == 3:
            deleteCustomer()
            cleanScreem()
            headerMenu()
            customerMenu()
            chooseOptionMenuCustomer()

        # número 4 para entrar no menu de relatório de cliente
        elif optionCustomer == 4:
            cleanScreem()
            headerMenu()
            customerReportsMenu()
            chooseOptionReports()
def chooseOptionReports():
    optionReports = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not optionReports.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerReportsMenu()
        optionReports = input('Digite a opção desejada: ')

    optionReports = int(optionReports)

    while optionReports < 0 or optionReports > 3:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        customerReportsMenu()
        chooseOptionReports()

    else:

        # Número 0 volta ao menu principal do cliente
        if optionReports == 0:
            cleanScreem()
            headerMenu()
            customerMenu()
            chooseOptionMenuCustomer()

        # Número 1 exibe na tela o relatório de todos os clientes
        elif optionReports == 1:
            allClientInformationReports()
            cleanScreem()
            headerMenu()
            customerReportsMenu()
            chooseOptionReports()

        # Número 2 exibe na tela o relatório de um cliente
        elif optionReports == 2:
            oneCustomerInformationReports()
            cleanScreem()
            headerMenu()
            customerReportsMenu()
            chooseOptionReports()

        # Número 3 exibe na tela o relatório da quantidade de clientes cadastrados
        elif optionReports == 3:
            quantityCustomerReports()
            cleanScreem()
            headerMenu()
            customerReportsMenu()
            chooseOptionReports()
示例#10
0
def chooseOptionMenuPrincipal():
    option = input('Digite a opção desejada: ')

    # Valida se apenas números foram digitados
    while not option.isnumeric():
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        principal()
        option = input('Digite a opção desejada: ')

    option = int(option)

    while option < 0 or option > 5:
        print('Opção Inválida!')
        input('Pressione enter para continuar...')
        cleanScreem()
        headerMenu()
        principal()
        option = int(input('Digite a opção desejada: '))

    else:

        if option == 0:
            # Importado para sair do programa
            import sys
            sys.exit()

        # Número 1 realiza o pedido
        elif option == 1:
            request()
            cleanScreem()
            headerMenu()
            principal()
            chooseOptionMenuPrincipal()

        # Número 2 entra no menu de pedidos
        elif option == 2:
            cleanScreem()
            headerMenu()
            orderMenu()
            chooseOptionOrderMenu()

        # Número 3 entra no menu de pizza
        elif option == 3:
            cleanScreem()
            headerMenu()
            pizzaMenu()
            chooseOptionMenuPizza()

        # Número 4 volta ao menu de cliente
        elif option == 4:
            cleanScreem()
            headerMenu()
            customerMenu()
            chooseOptionMenuCustomer()

        elif option == 5:
            # Importa função de criação do banco de dados
            from source.db.createdb import dbcreate
            dbcreate()
            cleanScreem()
            headerMenu()
            principal()
            chooseOptionMenuPrincipal()