From 840e260c28a065437b5af3ee00cf44f869e58892 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 4 Dec 2017 18:44:18 +0630 Subject: [PATCH] add for ygn bbq --- .../api/check_in_process_controller.rb | 14 +++++++ .../api/orders/view_orders.json.jbuilder | 39 +++++++++++++++---- config/routes.rb | 3 +- db/seeds.rb | 17 +++++++- 4 files changed, 63 insertions(+), 10 deletions(-) diff --git a/app/controllers/api/check_in_process_controller.rb b/app/controllers/api/check_in_process_controller.rb index 0baa258a..7b60f7cc 100644 --- a/app/controllers/api/check_in_process_controller.rb +++ b/app/controllers/api/check_in_process_controller.rb @@ -1,5 +1,19 @@ class Api::CheckInProcessController < Api::ApiController + def check_in_time + if params[:dining_id] + dining_facility = DiningFacility.find(params[:dining_id]) + booking = dining_facility.get_booking + if !booking.nil? + check_in_time = booking.checkin_at.utc.getlocal.strftime("%Y-%m-%d %H:%M") + check_out_time = booking.checkout_at.utc.getlocal.strftime("%Y-%m-%d %H:%M") + render :json => { :status => true, :check_in_time => check_in_time, :check_out_time => check_out_time } + else + render :json => { :status => false, :error_message => "No current booking!" } + end + end + end + def check_in_process if params[:dining_id] dining_facility = DiningFacility.find(params[:dining_id]) diff --git a/app/views/api/orders/view_orders.json.jbuilder b/app/views/api/orders/view_orders.json.jbuilder index b2c960af..28de2657 100755 --- a/app/views/api/orders/view_orders.json.jbuilder +++ b/app/views/api/orders/view_orders.json.jbuilder @@ -28,19 +28,42 @@ if (@booking) end end + # For YGN BBQ + adult_count = 0 + child_count = 0 + adult_spent = 0 + child_spent = 0 + # End YGN BBQ + json.order_items order_items do |item| - json.item_instance_code item.item_code - json.item_name item.item_name - json.price item.price - json.qty item.qty - json.options item.options - json.remark item.remark - json.item_status item.order_item_status - @total_amount = @total_amount + (item.price * item.qty) + # For YGN BBQ + if item.item_code == "P00001" + adult_count += item.qty + adult_spent += (item.price * item.qty) + end + if item.item_code == "P00002" + child_count += item.qty + child_spent += (item.price * item.qty) + end + # End YGN BBQ + json.item_code item.item_code + json.item_instance_code item.item_instance_code + json.item_name item.item_name + json.price item.price + json.qty item.qty + json.options item.options + json.remark item.remark + json.item_status item.order_item_status + @total_amount = @total_amount + (item.price * item.qty) end end + # For YGN BBQ + json.per_adult_spent (adult_spent / adult_count) * 0.05 + json.per_child_spent (child_spent / child_count) * 0.05 + # End YGN BBQ + json.sub_total @total_amount json.commerical_tax @total_amount * 0.05 json.total @total_amount + (@total_amount * 0.05) diff --git a/config/routes.rb b/config/routes.rb index 2013033c..f03cd4e9 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -68,7 +68,8 @@ scope "(:locale)", locale: /en|mm/ do end namespace :origami do - post "check_in/:dining_id" => "check_in_process#check_in_process" + get "check_in/:dining_id" => "check_in_process#check_in_time" + post "check_in" => "check_in_process#check_in_process" post "request_time" => "check_in_process#request_time" end end diff --git a/db/seeds.rb b/db/seeds.rb index 03c2fb5b..8e0240be 100755 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -130,13 +130,17 @@ food = Account.create({title: "Food", account_type: "0"}) beverage = Account.create({title: "Beverage", account_type: "1"}) product = Account.create({title: "Product", account_type: "2"}) +# YGN BBQ +person = Account.create({title: "Person", account_type: "3"}) +# END + #Default Menu Options menu_options = MenuItemOption.create([{option_type: "Spicy", name: "Less Spicy", value: "less_spicy"},{option_type: "Spicy", name: "Spicy", value: "spicy"},{option_type: "Spicy", name: "Super Spicy", value: "super_spicy"}]) menu_options = MenuItemOption.create([{option_type: "Oil", name: "Less Oil", value: "less_oil"},{name: "No MSG", value: "no_msg"},{option_type: "Sweet", name: "Less Sweet", value: "less_sweet"}]) menu_pkg_options = MenuItemOption.create([{option_type: "Package", name: "Bottle", value: "Bottle"},{option_type: "Package", name: "Can", value: "can"}]) # #Default Menu Category - menu_category1 = MenuCategory.create({menu: menu, code:"C001", name: "Soup Base", alt_name: "Soup_base", order_by: 1, is_available: 1, created_by: "SYSTEM DEFAULT"}) + menu_category1 = MenuCategory.create({menu: menu, code:"C001", name: "Person", alt_name: "Person", order_by: 1, is_available: 1, created_by: "SYSTEM DEFAULT"}) # menu_category2 = MenuCategory.create({menu: menu, code:"C005", name: "Beef & Mutton", alt_name: "Beef_and_mutton", order_by: 2,created_by: "SYSTEM DEFAULT"}) # menu_category3 = MenuCategory.create({menu: menu, code:"C006", name: "Pork", alt_name: "Pork", order_by: 3,created_by: "SYSTEM DEFAULT"}) # menu_category4 = MenuCategory.create({menu: menu, code:"C006", name: "Chicken", alt_name: "Chicken", order_by: 1, menu_category_id: menu_category3.id, created_by: "SYSTEM DEFAULT"}) @@ -154,6 +158,17 @@ menu_pkg_options = MenuItemOption.create([{option_type: "Package", name: "Bottle # menu_category2_menu_item1 = SimpleMenuItem.create({item_code:"I008", name: "Default Menu Item Name 1", alt_name: "Alternate Menu Item Name 1",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 2 , account: food}) # menu_category2_menu_item2 = SimpleMenuItem.create({item_code:"I009", name: "Default Menu Item Name 2", alt_name: "Alternate Menu Item Name 2",menu_category: menu_category2 , min_selectable_item: 1, max_selectable_item:1, min_qty: 3 , account: food}) +# YGN BBQ +menu_item_attribute_adult = MenuItemAttribute.create({attribute_type:"person", name: "Adult", value: "adult"}) +menu_item_attribute_child = MenuItemAttribute.create({attribute_type:"person", name: "Child", value: "child"}) + + menu_category1_menu_item0 = SimpleMenuItem.create({item_code:"P00001", name: "Adult", alt_name: "",menu_category: menu_category1 , min_qty: 1, account: person, :item_attributes => "['1']", created_by: "System" }) + menu_item0_instance = MenuItemInstance.create({item_instance_name:"",item_instance_code:"PI0001", menu_item: menu_category1_menu_item0, price:15000.00, is_on_promotion:false, is_default:true, :item_attributes => "['1']" }) + + menu_category1_menu_item1 = SimpleMenuItem.create({item_code:"P00002", name: "Child", alt_name: "",menu_category: menu_category1 , min_qty: 1, account: person, :item_attributes => "['2']", created_by: "System" }) + menu_item1_instance = MenuItemInstance.create({item_instance_name:"",item_instance_code:"PI0002", menu_item: menu_category1_menu_item1, price:10000.00, is_on_promotion:false, is_default:true, :item_attributes => "['2']" }) +# END + menu_item_attribute_size_small = MenuItemAttribute.create({attribute_type:"size", name: "Small", value: "small"}) menu_item_attribute_size_medium = MenuItemAttribute.create({attribute_type:"size",name: "Medium", value: "medium"}) menu_item_attribute_size_large = MenuItemAttribute.create({attribute_type:"size", name: "Large", value: "large"})