emenu api integrated

This commit is contained in:
Min Zeya Phyo
2017-04-19 18:37:07 +06:30
parent a717791a7c
commit c4e76c53b2
23 changed files with 158 additions and 55 deletions

View File

@@ -6,7 +6,7 @@ class Order < ApplicationRecord
has_many :assigned_order_items
#internal references attributes for business logic control
attr_accessor :items, :guest, :table_id, :new_booking, :booking_type, :employee_name
attr_accessor :items, :guest, :table_id, :new_booking, :booking_type, :employee_name, :booking_id
#Main Controller method to create new order - validate all inputs and generate new order
@@ -25,7 +25,9 @@ class Order < ApplicationRecord
:checkin_at => Time.now.utc, :checkin_by => self.employee_name,
:booking_status => "new" })
else
booking = Booking.find(self.booking_id)
if (self.booking_id.to_i > 0 )
booking = Booking.find(self.booking_id)
end
end
@@ -41,7 +43,7 @@ class Order < ApplicationRecord
#Send order to queue one it done!
process_order_queue
return true
return true, booking
end
@@ -59,8 +61,8 @@ class Order < ApplicationRecord
if self.items
#loop to add all items to order
self.items.each do |item|
menu_item = MenuItem.search_by_item_code(item[:item_code])
menu_item = MenuItem.search_by_item_code(item[:item_instance_code])
Rails.logger.debug menu_item
set_order_items = nil
##If menu Item set item - must add child items to order as well, where price is only take from menu_item
if (menu_item[:type] == "SetMenuItem")
@@ -69,8 +71,8 @@ class Order < ApplicationRecord
if (menu_item)
OrderItem.processs_item(menu_item[:item_instance_code], menu_item[:name],
item[:qty],item[:price], item[:options], set_order_items, self.id,
OrderItem.processs_item(menu_item[:item_code], menu_item[:name],
item[:quantity],menu_item[:price], item[:options], set_order_items, self.id,
self.employee_name)
end
end
@@ -87,9 +89,9 @@ class Order < ApplicationRecord
end
def update_items_status_to_billed(items)
if (items)
if (items.nil?)
##Update the order status to ensure that reflect the stage
order.order_items.each do |item|
self.order_items.each do |item|
item.order_item_status = "billed"
item.save
end