diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index fd37fb2d..c6247962 100755
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -219,3 +219,13 @@ function export_to(path)
var form_params = $("#frm_report").serialize();
window.location = path+"?"+ form_params;
}
+
+/* chartkick js YAxis value override */
+Chart.scaleService.updateScaleDefaults('linear', {
+ ticks: {
+ callback: function (value, index, values) {
+ return value/1000 + 'k';
+ }
+ }
+});
+/* chartkick js YAxis value override */
\ No newline at end of file
diff --git a/app/assets/javascripts/channels/order.js b/app/assets/javascripts/channels/order.js
index 87b08c4a..9326b2cc 100755
--- a/app/assets/javascripts/channels/order.js
+++ b/app/assets/javascripts/channels/order.js
@@ -13,7 +13,11 @@ App.order = App.cable.subscriptions.create('OrderChannel', {
$('.table_'+data.table.id).removeClass('green');
$('.table_'+data.table.id).addClass('blue');
$('.new_text_'+data.table.id).removeClass('hide')
- }else{
+ }else if(data.type == 'move'){
+ $('.table_'+data.table).removeClass('blue');
+ $('.table_'+data.table).addClass('green');
+ $('.table_'+data.change_to).addClass('blue');
+ }else{
$('.table_'+data.table.id).removeClass('red');
$('.table_'+data.table.id).addClass('green');
$('.new_text_'+data.table.id).html('');
diff --git a/app/controllers/origami/moveroom_controller.rb b/app/controllers/origami/moveroom_controller.rb
index 8f1430a6..09ece35f 100755
--- a/app/controllers/origami/moveroom_controller.rb
+++ b/app/controllers/origami/moveroom_controller.rb
@@ -7,8 +7,8 @@ class Origami::MoveroomController < BaseOrigamiController
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
- @complete = Sale.all
- @orders = Order.all.order('date desc')
+ @complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
+ @orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
@status_order = ""
@status_sale = ""
@@ -34,25 +34,25 @@ class Origami::MoveroomController < BaseOrigamiController
end
end
@status_order = 'order'
- else
- sale = Sale.find(booking.sale_id)
- if sale.sale_status != "completed" && sale.sale_status != "waste" && sale.sale_status != "spoile"
- @sale_array.push(sale)
- if @status_order == 'order'
- @status_order = 'sale'
- end
- @booking= booking
- @date = sale.created_at
- @status_sale = 'sale'
- @obj_sale = sale
- @customer = sale.customer
- accounts = @customer.tax_profiles
- @account_arr =[]
- accounts.each do |acc|
- account = TaxProfile.find(acc)
- @account_arr.push(account)
- end
- end
+ # else
+ # sale = Sale.find(booking.sale_id)
+ # if sale.sale_status != "completed" && sale.sale_status != "waste" && sale.sale_status != "spoile"
+ # @sale_array.push(sale)
+ # if @status_order == 'order'
+ # @status_order = 'sale'
+ # end
+ # @booking= booking
+ # @date = sale.created_at
+ # @status_sale = 'sale'
+ # @obj_sale = sale
+ # @customer = sale.customer
+ # accounts = @customer.tax_profiles
+ # @account_arr =[]
+ # accounts.each do |acc|
+ # account = TaxProfile.find(acc)
+ # @account_arr.push(account)
+ # end
+ # end
end
end
end
diff --git a/app/controllers/origami/movetable_controller.rb b/app/controllers/origami/movetable_controller.rb
index 7efdd46c..6e91c0d3 100755
--- a/app/controllers/origami/movetable_controller.rb
+++ b/app/controllers/origami/movetable_controller.rb
@@ -7,52 +7,74 @@ class Origami::MovetableController < BaseOrigamiController
@tables = Table.all.active.order('status desc')
@rooms = Room.all.active.order('status desc')
- @complete = Sale.all
- @orders = Order.all.order('date desc')
+ @complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
+ @orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
@dining = DiningFacility.find(params[:dining_id])
@status_order = ""
@status_sale = ""
@sale_array = Array.new
+
+ # if !bookings.nil?
+ # bookings.each do | booking |
+ # if booking.sale_id.nil? && booking.booking_status != 'moved'
+ # booking_array.push(booking)
+ # end
+
+ # booking.booking_orders.each do |booking_order|
+ # order = Order.find(booking_order.order_id)
+ # if order.status == 'new'
+ # order.order_items.each do |order_item|
+ # order_items.push(order_item)
+ # end
+ # end
+ # end
+ # end
+ # end
@dining.bookings.each do |booking|
if booking.sale_id.nil?
@order_items = Array.new
- booking.booking_orders.each do |booking_order|
- order = Order.find(booking_order.order_id)
- @obj_order = order
- @customer = order.customer
- @date = order.created_at
- @booking= booking
- order.order_items.each do |item|
- @order_items.push(item)
- end
- accounts = @customer.tax_profiles
- @account_arr =[]
- accounts.each do |acc|
- account = TaxProfile.find(acc)
- @account_arr.push(account)
- end
- end
+ if booking.booking_status != 'moved'
+ booking.booking_orders.each do |booking_order|
+ order = Order.find(booking_order.order_id)
+ @obj_order = order
+ @customer = order.customer
+ @date = order.created_at
+ @booking= booking
+ if order.status == 'new'
+ order.order_items.each do |item|
+ @order_items.push(item)
+ end
+ end
+
+ accounts = @customer.tax_profiles
+ @account_arr =[]
+ accounts.each do |acc|
+ account = TaxProfile.find(acc)
+ @account_arr.push(account)
+ end
+ end
+ end
@status_order = 'order'
- else
- sale = Sale.find(booking.sale_id)
- if sale.sale_status != "completed" && sale.sale_status != "waste" && sale.sale_status != "spoile"
- @sale_array.push(sale)
- if @status_order == 'order'
- @status_order = 'sale'
- end
- @booking= booking
- @date = sale.created_at
- @status_sale = 'sale'
- @obj_sale = sale
- @customer = sale.customer
- accounts = @customer.tax_profiles
- @account_arr =[]
- accounts.each do |acc|
- account = TaxProfile.find(acc)
- @account_arr.push(account)
- end
- end
+ # else
+ # sale = Sale.find(booking.sale_id)
+ # if sale.sale_status != "completed" && sale.sale_status != "waste" && sale.sale_status != "spoile"
+ # @sale_array.push(sale)
+ # if @status_order == 'order'
+ # @status_order = 'sale'
+ # end
+ # @booking= booking
+ # @date = sale.created_at
+ # @status_sale = 'sale'
+ # @obj_sale = sale
+ # @customer = sale.customer
+ # accounts = @customer.tax_profiles
+ # @account_arr =[]
+ # accounts.each do |acc|
+ # account = TaxProfile.find(acc)
+ # @account_arr.push(account)
+ # end
+ # end
end
end
end
@@ -104,6 +126,20 @@ class Origami::MovetableController < BaseOrigamiController
printer.print_move_table(print_settings,@to,@from ,@shop,@date,@type,@moved_by,order_items)
end
end
- end
+ end
+
+ type = 'move'
+ from = getCloudDomain #get sub domain in cloud mode
+ ActionCable.server.broadcast "order_channel",table: change_from,type:type,from:from ,change_to:change_to
+ end
+
+ #get cloud domain
+ def getCloudDomain
+ from = ""
+ if ENV["SERVER_MODE"] == 'cloud'
+ from = request.subdomain + "." + request.domain
+ end
+
+ return from
end
end
diff --git a/app/models/promotion.rb b/app/models/promotion.rb
index 5bc6a686..4271045e 100755
--- a/app/models/promotion.rb
+++ b/app/models/promotion.rb
@@ -139,11 +139,10 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_code(promo_product)
item = OrderItem.where("item_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first
end
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion", item.price,source)
-
- puts "Charged - " + charge_qty.to_s
- puts "FOC - " + foc_qty.to_s
+ if !item.nil?
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion", item.price,source)
+ end
end
# AA - 10 # 3 # BB # orderList, #S34345
def self.give_promotion_second_product(orderitem_count, foc_min_qty, promo_product, orderitem, sale_id)
@@ -155,9 +154,10 @@ class Promotion < ApplicationRecord
end
# item = OrderItem.find_by_item_instance_code(promo_product)
item = OrderItem.where("item_instance_code = '#{promo_product}' and order_id = '#{orderitem[0][1]}'").first
-
- source = Order.find(item.order_id).source
- update_existing_item(promotion_qty, item, sale_id, "promotion", item.price,source)
+ if !item.nil?
+ source = Order.find(item.order_id).source
+ update_existing_item(promotion_qty, item, sale_id, "promotion", item.price,source)
+ end
end
@@ -190,15 +190,21 @@ class Promotion < ApplicationRecord
foc_qty = orderitem[1].to_i / foc_min_qty
# item = OrderItem.find_by_item_instance_code(orderitem[0][0])
item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source)
+ if !item.nil?
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source)
+ end
+
else
foc_qty = orderitem[1].to_i / foc_min_qty
# foc_qty = find_second_item_qty(sale_id, promo_product.item_code)
# item = OrderItem.find_by_item_instance_code(promo_product.item_code)
item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source)
+ if !item.nil?
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion nett off", promo_product.net_off,source)
+ end
+
end
end
@@ -208,9 +214,12 @@ class Promotion < ApplicationRecord
foc_qty = orderitem[1].to_i / foc_min_qty
# item = OrderItem.find_by_item_instance_code(orderitem[0][0]) # need to specify with menu item instance
item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
- price = item.price.to_i - promo_product.net_price.to_i
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source)
+ if !item.nil?
+ price = item.price.to_i - promo_product.net_price.to_i
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source)
+ end
+
else
order_qty = find_second_item_qty(sale_id, promo_product.item_code)# need to check for qty
foc_qty = orderitem[1].to_i / foc_min_qty
@@ -220,9 +229,12 @@ class Promotion < ApplicationRecord
end
# item = OrderItem.find_by_item_instance_code(promo_product.item_code)
item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
- price = item.price - promo_product.net_price
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source)
+ if !item.nil?
+ price = item.price - promo_product.net_price
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion nett price", price,source)
+ end
+
end
end
@@ -233,10 +245,13 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_instance_code(orderitem[0][0])
item = OrderItem.where("item_instance_code = '#{orderitem[0][0]}' and order_id = '#{orderitem[0][1]}'").first
# total = orderitem[1].to_i * item.price
- total = item.price
- price = calculate_discount(total, promo_product.percentage)
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion discount", price,source)
+ if !item.nil?
+ total = item.price
+ price = calculate_discount(total, promo_product.percentage)
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion discount", price,source)
+ end
+
else
order_qty = find_second_item_qty(sale_id, promo_product.item_code) #need to check
foc_qty = orderitem[1].to_i / foc_min_qty
@@ -248,10 +263,12 @@ class Promotion < ApplicationRecord
# item = OrderItem.find_by_item_instance_code(promo_product.item_code)
item = OrderItem.where("item_instance_code = '#{promo_product.item_code}' and order_id = '#{orderitem[0][1]}'").first
# total = item.price * foc_qty
- total = item.price
- price = calculate_discount(total, promo_product.percentage)
- source = Order.find(item.order_id).source
- update_existing_item(foc_qty, item, sale_id, "promotion discount", price,source)
+ if !item.nil?
+ total = item.price
+ price = calculate_discount(total, promo_product.percentage)
+ source = Order.find(item.order_id).source
+ update_existing_item(foc_qty, item, sale_id, "promotion discount", price,source)
+ end
end
end
diff --git a/app/views/api/orders/view_orders.json.jbuilder b/app/views/api/orders/view_orders.json.jbuilder
index dd72a3a3..9118b87f 100755
--- a/app/views/api/orders/view_orders.json.jbuilder
+++ b/app/views/api/orders/view_orders.json.jbuilder
@@ -36,6 +36,7 @@ if (@booking)
end
json.order_items order_items do |item|
+ total_set_menu = 0
# For YGN BBQ
if item.item_code.include? ("PSA_")
adult_count += item.qty
@@ -46,6 +47,7 @@ if (@booking)
child_spent += (item.price * item.qty)
end
# End YGN BBQ
+
json.order_items_id item.order_items_id
json.order_id item.order_id
json.item_code item.item_code
@@ -57,7 +59,16 @@ if (@booking)
json.options item.options
json.remark item.remark
json.item_status item.order_item_status
- @total_amount = @total_amount + (item.price * item.qty)
+
+ #start set menu item price
+ if !item.set_menu_items.nil? && item.set_menu_items != '[]'
+ JSON.parse(item.set_menu_items).each do |item_instance|
+ total_set_menu += (item_instance["quantity"].to_f * item_instance["price"].to_f).to_f
+ end
+ end
+ #end set menu item price
+
+ @total_amount = @total_amount + (item.price * item.qty) + total_set_menu
end
end
diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb
index 63553122..a5fe8f67 100755
--- a/app/views/origami/home/show.html.erb
+++ b/app/views/origami/home/show.html.erb
@@ -284,6 +284,7 @@
unless @order_items.nil? || @order_items.empty?
count = 0
@order_items.each do |order_item|
+ set_item_prices = 0
count += 1
sub_total = sub_total + (order_item.price * order_item.qty)
@@ -301,7 +302,8 @@
<% end %>
<% if !order_item.set_menu_items.nil? && order_item.set_menu_items != '[]'
- JSON.parse(order_item.set_menu_items).each do |item_instance| %>
+ JSON.parse(order_item.set_menu_items).each do |item_instance|
+ set_item_prices += (item_instance["quantity"].to_f * item_instance["price"].to_f).to_f %>
<%= item_instance["item_instance_name"] %>
<% if !item_instance["options"].nil? && !item_instance["options"].empty? %>
@@ -313,10 +315,11 @@
<% end %>
<% end
+ sub_total += set_item_prices
end %>