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()
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()
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()
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()