From 3a21d85a4bc2eb81719e123770ca7ac23d8ddee4 Mon Sep 17 00:00:00 2001 From: phyusin Date: Fri, 19 Jan 2018 16:06:58 +0630 Subject: [PATCH] add set_menu_item in origami and oqs --- app/assets/javascripts/OQS.js | 19 ++++++++-- app/controllers/oqs/home_controller.rb | 40 +++++++++++++++++++-- app/controllers/origami/home_controller.rb | 9 +++++ app/controllers/origami/rooms_controller.rb | 9 +++++ app/views/oqs/home/index.html.erb | 9 ++++- app/views/origami/home/show.html.erb | 18 ++++++++-- app/views/origami/rooms/show.html.erb | 18 ++++++++-- 7 files changed, 112 insertions(+), 10 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 6068b53f..3de713c7 100755 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -66,7 +66,13 @@ $(document).on('turbolinks:load', function() { var date = new Date(data[field]["created_at"]); var show_date = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear() + ' ' + date.getHours()+ ':' + date.getMinutes(); - + var set_menu_items = data[field]["set_menu_items"]; + var set_instance_items = ""; + if(set_menu_items.length > 0){ + $.each(set_menu_items, function(k,val){ + set_instance_items += '
'+val+''; + }); + } row ='
' +'
' +'
' @@ -78,6 +84,7 @@ $(document).on('turbolinks:load', function() { +'

' +''+ data[field]["item_name"] +'- ' +' [x'+ data[field]["qty"] +'] ' + +set_instance_items +'

' +'

'+ options +'

' @@ -137,9 +144,15 @@ $(document).on('turbolinks:load', function() { for (i = 0; i < res.length; i++) { var data = JSON.stringify(res[i]); var parse_data = JSON.parse(data); - + var set_menu_items = parse_data.set_menu_items; + var set_instance_items = ""; + if(set_menu_items.length > 0){ + $.each(set_menu_items, function(k,val){ + set_instance_items += '
'+val+''; + }); + } var order_item_row = "" + - "" + parse_data.item_name + "" + + "" + parse_data.item_name + set_instance_items + "" + "" + parse_data.qty + "" + ""; $("#oqs-order-details-table").children("tbody").append(order_item_row); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 656f3e85..07df2504 100755 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -12,6 +12,20 @@ class Oqs::HomeController < BaseOqsController @filter = params[:filter] @queue_completed_item = completed_order(@filter) + if !@queue_completed_item.empty? + @queue_completed_item.each do |queue_item| + if !queue_item.set_menu_items.empty? + instance_item_sets = JSON.parse(queue_item.set_menu_items) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + end + queue_item.set_menu_items = arr_instance_item_sets + end + end + end + if !@filter.nil? @count = queue_items_count_query(false,@filter) @count.each do |count| @@ -70,6 +84,17 @@ class Oqs::HomeController < BaseOqsController OrderItem.where("order_id='#{ order_no }'").find_each do |oi| items.push(oi) + if !items.empty? + items.each do |item| + instance_item_sets = JSON.parse(item.set_menu_items) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + end + item.set_menu_items = arr_instance_item_sets + end + end end render :json => items.to_json @@ -79,6 +104,17 @@ class Oqs::HomeController < BaseOqsController oqs_id = params[:id] filter = params[:filter] items = queue_items_query(false,oqs_id,filter) + if !items.empty? + items.each do |item| + instance_item_sets = JSON.parse(JSON.parse(item.set_menu_items)) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + end + item.set_menu_items = arr_instance_item_sets + end + end render :json => items.to_json end @@ -115,7 +151,7 @@ class Oqs::HomeController < BaseOqsController oqs.is_active, oqpz.zone_id, df.name as zone, df.type as table_type, odt.order_id, odt.item_code, odt.item_name, - odt.price, odt.qty, odt.item_order_by, odt.options, + odt.price, odt.qty, odt.item_order_by, odt.options, odt.set_menu_items, cus.name as customer_name, odt.created_at") .joins(" left join order_queue_stations as oqs on oqs.id = assigned_order_items.order_queue_station_id left join order_queue_process_by_zones as oqpz on oqpz.order_queue_station_id = oqs.id @@ -134,7 +170,7 @@ class Oqs::HomeController < BaseOqsController # Completed Order def completed_order(filter) - query = AssignedOrderItem.select("assigned_order_items.assigned_order_item_id, oqs.id as station_id, oqs.station_name, oqs.is_active, oqpz.zone_id, df.name as zone, df.type, odt.order_id, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, odt.options, cus.name as customer_name, odt.created_at") + query = AssignedOrderItem.select("assigned_order_items.assigned_order_item_id, oqs.id as station_id, oqs.station_name, oqs.is_active, oqpz.zone_id, df.name as zone, df.type, odt.order_id, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, odt.options, odt.set_menu_items, cus.name as customer_name, odt.created_at") .joins(" left join order_queue_stations as oqs on oqs.id = assigned_order_items.order_queue_station_id left join order_queue_process_by_zones as oqpz on oqpz.order_queue_station_id = oqs.id left join orders as od ON od.order_id = assigned_order_items.order_id diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 7a98ec47..8af0759d 100755 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -41,6 +41,15 @@ class Origami::HomeController < BaseOrigamiController @date = order.created_at @booking= booking order.order_items.each do |item| + if !item.set_menu_items.empty? + instance_item_sets = JSON.parse(item.set_menu_items) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + end + item.set_menu_items = arr_instance_item_sets + end @order_items.push(item) end accounts = @customer.tax_profiles diff --git a/app/controllers/origami/rooms_controller.rb b/app/controllers/origami/rooms_controller.rb index 5e5b42cb..60f93d85 100755 --- a/app/controllers/origami/rooms_controller.rb +++ b/app/controllers/origami/rooms_controller.rb @@ -35,6 +35,15 @@ class Origami::RoomsController < BaseOrigamiController @date = order.created_at @booking = booking order.order_items.each do |item| + if !item.set_menu_items.empty? + instance_item_sets = JSON.parse(item.set_menu_items) + arr_instance_item_sets = Array.new + instance_item_sets.each do |instance_item| + item_instance_name = MenuItemInstance.find_by_item_instance_code(instance_item["item_instance_code"]).item_instance_name + arr_instance_item_sets.push(item_instance_name) + end + item.set_menu_items = arr_instance_item_sets + end @order_items.push(item) end end diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index 2fd7f45d..2f851919 100755 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -82,7 +82,14 @@ [x <%= qid.qty %> - ] + ] + <% if !qid.set_menu_items.empty? + qid.set_menu_items.each do |item_instance|%> +
+ <%= item_instance %> + + <% end + end %>


<%= qid.options == "[]"? "" : qid.options %>

diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 91f25ad2..294b2bcf 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -251,7 +251,14 @@ # unless order_item.price == 0 %> <%= count %> - <%= order_item.item_name %> + + <%= order_item.item_name %> + <% if !order_item.set_menu_items.empty? + order_item.set_menu_items.each do |item_instance| %> +
<%= item_instance %> + <% end + end %> + <%= order_item.qty %> <%= order_item.qty*order_item.price %> @@ -324,7 +331,14 @@ <%= count %> - <%= order_item.item_name %> + + <%= order_item.item_name %> + <% if !order_item.set_menu_items.empty? + order_item.set_menu_items.each do |item_instance| %> +
<%= item_instance %> + <% end + end %> + <%= order_item.qty %> <%= order_item.qty*order_item.price %> diff --git a/app/views/origami/rooms/show.html.erb b/app/views/origami/rooms/show.html.erb index af581777..4dc92c53 100755 --- a/app/views/origami/rooms/show.html.erb +++ b/app/views/origami/rooms/show.html.erb @@ -244,7 +244,14 @@ # unless order_item.price == 0 %> <%= count %> - <%= order_item.item_name %> + + <%= order_item.item_name %> + <% if !order_item.set_menu_items.empty? + order_item.set_menu_items.each do |item_instance| %> +
<%= item_instance %> + <% end + end %> + <%= order_item.qty %> <%= order_item.qty*order_item.price %> @@ -306,7 +313,14 @@ <%= count %> - <%= order_item.item_name %> + + <%= order_item.item_name %> + <% if !order_item.set_menu_items.empty? + order_item.set_menu_items.each do |item_instance| %> +
<%= item_instance %> + <% end + end %> + <%= order_item.qty %> <%= order_item.qty*order_item.price %>