示例#1
0
def aceptar_rechazar(comanda, menu):
    print('NUEVA COMANDA PENDIENTE:')
    print('Mesa {}:'.format(comanda.num_mesa))
    #preparamos un diccionario de productos y cantidades que van alterar su stock
    productos = {}
    for id_producto, cantidad in comanda.dict_pedido.items():
        for prod in menu:
            if prod['id_producto'] == int(id_producto):
                #encontramos ese producto en el menú
                print('{} X {}, tenemos {}'.format(cantidad, prod['nombre'],
                                                   prod['stock']))
                #cargamos los id_producto y cantidad a restar en un diccionario,
                #si se acepta la comanda, sus stocks deben cambiar.
                productos[id_producto] = productos.get(id_producto,
                                                       0) + cantidad
                break
    print('Aclaraciones: {}'.format(comanda.notas))
    aceptar = input(
        'Pulsa "A" para ACEPTAR esta comanda, o "R" para RECHAZAR: ').upper()
    if aceptar == 'A':
        #ACEPTADO: cambia el estado de la comanda
        comanda.estado = 'ACEPTADO'
        #resta el stock del producto en la lista menu
        for id_producto, cantidad in productos.items():
            for producto in menu:
                if producto['id_producto'] == int(id_producto):
                    producto['stock'] -= cantidad
                    #convertimos el diccionario producto en un objeto
                    producto = restaurante.dict_a_obj(producto, 'p')
                    #guardamos el producto con el stock actualizado en el archivo menu.json
                    producto.guardar()
                    break
    elif aceptar == 'R':
        comanda.estado = 'RECHAZADO'
    comanda.guardar()
示例#2
0
def comprobar_pendientes(menu):
    comandas = restaurante.cargar_comandas()
    #buscamos comandas pendientes de hoy
    for comanda in comandas:
        ahora = datetime.datetime.now()
        hoy = '{}/{}/{}'.format(ahora.day, ahora.month, ahora.year)
        if comanda['estado'] == 'PENDIENTE' and comanda['fecha'] == hoy:
            comanda = restaurante.dict_a_obj(comanda, 'c')
            aceptar_rechazar(comanda, menu)
    #actualizamos la lista del menú porque al aceptar comandas se actualizaron los stocks
    menu = restaurante.cargar_menu()
    #mostramos en pantalla la lista de trabajo de cocina
    mostrar_aceptadas(menu)
示例#3
0
def listo(num_mesa):
    #busca entre las comandas aceptadas de hoy el num_mesa y cambia su estado a LISTO
    comandas = restaurante.cargar_comandas()
    ahora = datetime.datetime.now()
    hoy = '{}/{}/{}'.format(ahora.day, ahora.month, ahora.year)
    for comanda in comandas:
        if comanda['num_mesa'] == num_mesa and comanda[
                'estado'] == 'ACEPTADO' and comanda['fecha'] == hoy:
            #crea el objeto comanda
            comanda = restaurante.dict_a_obj(comanda, 'c')
            comanda.estado = 'LISTO'
            comanda.guardar()
            break
    comprobar_pendientes(menu)
示例#4
0
def abrir_comanda(menu):
    id_comanda = input('Escribe el número de la comanda que quieres ver: ')
    comandas = restaurante.cargar_comandas()

    for elemento in comandas:
        if elemento['id_comanda'] == int(id_comanda):
            comanda = restaurante.dict_a_obj(elemento, 'c')
            break
    print_comanda(comanda, menu)
    editar = input('¿Quieres editar esta comanda? Y/N: ').upper()
    if editar == 'Y':
        editar_comanda(comanda, menu)
    else:
        volver = input('¿Quieres buscar otra comanda? Y/N: ').upper()
        if volver == 'Y':
            abrir_comanda(menu)
示例#5
0
def mostrar_aceptadas(menu):
    #llama a cargar_comandas para tener la lista actualizada
    comandas = restaurante.cargar_comandas()
    #muestra las comandas aceptadas de hoy
    print('COMANDAS EN PREPARACIÓN:')
    for comanda in comandas:
        ahora = datetime.datetime.now()
        hoy = '{}/{}/{}'.format(ahora.day, ahora.month, ahora.year)
        if comanda['estado'] == 'ACEPTADO' and comanda['fecha'] == hoy:
            comanda = restaurante.dict_a_obj(comanda, 'c')
            print('\n---------------------------')
            print('Mesa {}'.format(comanda.num_mesa))
            print('Hora: {}'.format(comanda.hora))
            for id_producto, cantidad in comanda.dict_pedido.items():
                for prod in menu:
                    if prod['id_producto'] == int(id_producto):
                        print('{} X {}'.format(cantidad, prod['nombre']))
            print('Aclaraciones: {}'.format(comanda.notas))
    print('\n---------------------------')
    num_mesa = input('Escribe el número de la mesa que tengas lista: ')
    listo(num_mesa)
    #llama a comprobar pendientes para reiniciar todo el proceso
    comprobar_pendientes(menu)