diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 90c96f65..e0148deb 100755 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -26,7 +26,33 @@ class Origami::HomeController < BaseOrigamiController @shop = Shop::ShopDetail @membership = MembershipSetting::MembershipSetting @payment_methods = PaymentMethodSetting.all - + + @order_items_count = Hash.new + bookings = Booking.all + if !bookings.nil? + bookings.each do |booking| + if booking.sale_id.nil? && booking.booking_status != 'moved' + if !booking.booking_orders.empty? + booking.booking_orders.each do |booking_order| + order = Order.find(booking_order.order_id) + if !order.order_items.empty? + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, order.order_items.count) + end + end + end + end + else + sale = Sale.find(booking.sale_id) + if sale.sale_status !='completed' + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, sale.sale_items.count) + end + end + end + end + end + @dining.bookings.active.each do |booking| if booking.sale_id.nil? && booking.booking_status != 'moved' @order_items = Array.new @@ -65,7 +91,6 @@ class Origami::HomeController < BaseOrigamiController else sale = Sale.find(booking.sale_id) if sale.sale_status != "completed" && sale.sale_status != 'void' - @sale_array.push(sale) if @status_order == 'order' @status_order = 'sale' diff --git a/app/controllers/origami/orders_controller.rb b/app/controllers/origami/orders_controller.rb index 22a1e802..f4b11fc5 100755 --- a/app/controllers/origami/orders_controller.rb +++ b/app/controllers/origami/orders_controller.rb @@ -12,5 +12,31 @@ class Origami::OrdersController < BaseOrigamiController @sale_status = sale.sale_status end end + + @order_items_count = Hash.new + bookings = Booking.all + if !bookings.nil? + bookings.each do |booking| + if booking.sale_id.nil? && booking.booking_status != 'moved' + if !booking.booking_orders.empty? + booking.booking_orders.each do |booking_order| + order = Order.find(booking_order.order_id) + if !order.order_items.empty? + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, order.order_items.count) + end + end + end + end + else + sale = Sale.find(booking.sale_id) + if sale.sale_status !='completed' + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, sale.sale_items.count) + end + end + end + end + end end end diff --git a/app/controllers/origami/rooms_controller.rb b/app/controllers/origami/rooms_controller.rb index 701d0c2f..a0f23cb2 100755 --- a/app/controllers/origami/rooms_controller.rb +++ b/app/controllers/origami/rooms_controller.rb @@ -22,6 +22,32 @@ class Origami::RoomsController < BaseOrigamiController @shop = Shop::ShopDetail @membership = MembershipSetting::MembershipSetting @payment_methods = PaymentMethodSetting.all + + @order_items_count = Hash.new + bookings = Booking.all + if !bookings.nil? + bookings.each do |booking| + if booking.sale_id.nil? && booking.booking_status != 'moved' + if !booking.booking_orders.empty? + booking.booking_orders.each do |booking_order| + order = Order.find(booking_order.order_id) + if !order.order_items.empty? + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, order.order_items.count) + end + end + end + end + else + sale = Sale.find(booking.sale_id) + if sale.sale_status !='completed' + if !@order_items_count.key?(booking.dining_facility_id) + @order_items_count.store(booking.dining_facility_id, sale.sale_items.count) + end + end + end + end + end @room.bookings.active.each do |booking| if booking.sale_id.nil? && booking.booking_status != 'moved' diff --git a/app/models/printer/order_queue_printer.rb b/app/models/printer/order_queue_printer.rb index 04ad5896..4a8b1653 100755 --- a/app/models/printer/order_queue_printer.rb +++ b/app/models/printer/order_queue_printer.rb @@ -52,7 +52,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker end # Query for per order - def print_order_summary(print_settings,oqs, order_id, order_items, print_status) + def print_order_summary(print_settings,oqs, order_id, order_items, print_status, before_updated_qty="", options="") #Use CUPS service #Generate PDF #Print @@ -76,20 +76,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker # check for item not to show #if odi.price != 0 - pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name,before_updated_qty) if !order_slim_pdf.empty? order_slim_pdf.each do |order_item_slim| if order_item_slim[0] == 'OrderSlimPdf' if order_item_slim[1] == '1' - pdf = OrderItemSlimPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name) + pdf = OrderItemSlimPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name,before_updated_qty) else - pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name,before_updated_qty) end elsif order_item_slim[0] == 'OrderSetPdf' if order_item_slim[1] == '1' - pdf = OrderSetItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name) + pdf = OrderSetItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name,before_updated_qty) else - pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi_item[0], print_status, options, oqs.use_alternate_name,before_updated_qty) end end end @@ -109,20 +109,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker # For Print Order Summary else filename = "tmp/order_summary_#{order_id}" + ".pdf" - pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name,before_updated_qty) if !order_slim_pdf.empty? order_slim_pdf.each do |order_summary_slim| if order_summary_slim[0] == 'OrderSlimPdf' if order_summary_slim[1] == '1' - pdf = OrderSummarySlimPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name) + pdf = OrderSummarySlimPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name,before_updated_qty) else - pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name,before_updated_qty) end elsif order_summary_slim[0] == 'OrderSetPdf' if order_summary_slim[1] == '1' - pdf = OrderSummarySetPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name) + pdf = OrderSummarySetPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name,before_updated_qty) else - pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status, order_items, oqs.use_alternate_name,before_updated_qty) end end end @@ -143,7 +143,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker end # Print for orders in booking - def print_booking_summary(print_settings,oqs, booking_id, print_status) + def print_booking_summary(print_settings,oqs, booking_id, print_status,before_updated_qty="") # Must be one print if print_settings.print_copies == 0 print_settings.print_copies = 1 @@ -162,20 +162,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker # check for item not to show #if odi.price != 0 - pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name,before_updated_qty) if !order_slim_pdf.empty? order_slim_pdf.each do |order_item_slim| if order_item_slim[0] == 'OrderSlimPdf' if order_item_slim[1] == '1' - pdf = OrderItemSlimPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name) + pdf = OrderItemSlimPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name,before_updated_qty) else - pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name,before_updated_qty) end elsif order_item_slim[0] == 'OrderSetPdf' if order_item_slim[1] == '1' - pdf = OrderSetItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name) + pdf = OrderSetItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name,before_updated_qty) else - pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name) + pdf = OrderItemPdf.new(print_settings,odi, print_status, options,oqs.use_alternate_name,before_updated_qty) end end end @@ -198,20 +198,20 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker # For Print Order Summary else filename = "tmp/booking_summary_#{booking_id}" + ".pdf" - pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name,before_updated_qty) if !order_slim_pdf.empty? order_slim_pdf.each do |order_summary_slim| if order_summary_slim[0] == 'OrderSlimPdf' if order_summary_slim[1] == '1' - pdf = OrderSummarySlimPdf.new(print_settings,order, print_status,oqs.use_alternate_name) + pdf = OrderSummarySlimPdf.new(print_settings,order, print_status,oqs.use_alternate_name,before_updated_qty) else - pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name,before_updated_qty) end elsif order_summary_slim[0] == 'OrderSetPdf' if order_summary_slim[1] == '1' - pdf = OrderSummarySetPdf.new(print_settings,order, print_status,oqs.use_alternate_name) + pdf = OrderSummarySetPdf.new(print_settings,order, print_status,oqs.use_alternate_name,before_updated_qty) else - pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name) + pdf = OrderSummaryPdf.new(print_settings,order, print_status,oqs.use_alternate_name,before_updated_qty) end end end diff --git a/app/views/home/dashboard.html.erb b/app/views/home/dashboard.html.erb index eb1bdecd..104c4c67 100755 --- a/app/views/home/dashboard.html.erb +++ b/app/views/home/dashboard.html.erb @@ -155,7 +155,7 @@ <% if !(@total_payment_methods.nil?) %> <% @total_payment_methods.each do |payment| %> <% if !@sale_data[0].empty? %> - <% if payment.payment_method != 'mpu' && payment.payment_method != 'visa' && payment.payment_method != 'master' && payment.payment_method != 'jcb' %> + <% if payment.payment_method != 'mpu' && payment.payment_method != 'visa' && payment.payment_method != 'master' && payment.payment_method != 'jcb' && payment.payment_method != 'unionpay' %> <%= payment.payment_method.to_s.capitalize %> Sale : diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 48da04e3..d4a897e2 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -40,7 +40,7 @@
- <% @tables.each do |table| %> + <% @tables.each do |table| %> <% if table.status == 'occupied' %> <% if table.get_booking.nil? %> <% if table.get_checkout_booking.nil? %> @@ -50,6 +50,11 @@ <% end %>
<%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> billed
@@ -61,7 +66,12 @@
<% end %>
- <%= table.name %> + <%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> new
@@ -87,6 +97,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> billed
@@ -94,6 +109,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> new
diff --git a/app/views/origami/orders/show.html.erb b/app/views/origami/orders/show.html.erb index 00cfe727..d98e9bc2 100755 --- a/app/views/origami/orders/show.html.erb +++ b/app/views/origami/orders/show.html.erb @@ -5,7 +5,7 @@
-
+
<% @complete.each do |sale| %>
- <%= sale.receipt_no %><%= sale.sale_status %> -
-
- <% end %> -
-
+ <%= sale.receipt_no %><%= sale.sale_status %> +
+
+ <% end %> +
+
- -
-
- <% @tables.each do |table| %> - <% if table.status == 'occupied' %> + +
+
+ <% @tables.each do |table| %> + <% if table.status == 'occupied' %> <% if table.get_booking.nil? %> <% if table.get_checkout_booking.nil? %>
@@ -47,6 +47,11 @@ <% end %>
<%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> billed
@@ -58,25 +63,30 @@
<% end %>
- <%= table.name %> + <%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> new
<% end %> - <% else %> -
-
- <%= table.name %> - new + <% else %> +
+
+ <%= table.name %> + new +
-
- <% end %> - <% end %> -
-
+ <% end %> + <% end %> +
+
- -
+ +
<% @rooms.each do |room| %> <% if room.status == 'occupied' %> @@ -84,6 +94,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> billed
@@ -91,6 +106,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> new
@@ -103,159 +123,160 @@
<% end %> - <% end %> -
-
- - -
-
- <% @orders.each do |order| %> -
-
- <% - order_status = "" - sale_order = SaleOrder.find_by_order_id(order) - if sale_order - unless sale_order.sale_id.nil? - sale = Sale.find(sale_order.sale_id) - order_status = sale.sale_status - if order_status == 'new' - order_status = order.status - end - end - else - order_status = order.status - end - %> - <%= order.order_id %> <% if !order_status.empty? %>| <%= order_status %> <% end %> -
-
- <% end %> -
-
- -
-
- - - - - -
-
-
-
ORDERS DETAILS
-
-
-
-
- Order No: <%= @order.order_id %> - -
-
- Date: <%= @order.created_at.utc.getlocal.getlocal.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%> -
-
-
-
- Customer : -
- -
-
"> -
- - - - - - - - - - <% - sub_total = 0 - @order.order_items.each do |sale_item| - sub_total = sub_total + sale_item.price - %> - <% unless sale_item.price <= 0 %> - - - - - - <% - end - end - %> - -
ItemsQTYPrice
<%= sale_item.item_name %><%= sale_item.qty %><%= sale_item.price %>
-
-
- -
-
+ <% end %> +
- -
- - <% if @sale_status != 'completed' %> - - <% end %> - + +
+
+ <% @orders.each do |order| %> +
+
+ <% + order_status = "" + sale_order = SaleOrder.find_by_order_id(order) + if sale_order + unless sale_order.sale_id.nil? + sale = Sale.find(sale_order.sale_id) + order_status = sale.sale_status + if order_status == 'new' + order_status = order.status + end + end + else + order_status = order.status + end + %> + <%= order.order_id %> <% if !order_status.empty? %>| <%= order_status %> <% end %> +
+
+ <% end %> +
+
+ +
+ + + + + +
+
+
+
ORDERS DETAILS
+
+
+
+
+ Order No: <%= @order.order_id %> + +
+
+ Date: <%= @order.created_at.utc.getlocal.getlocal.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%> +
+
+
+
+ Customer :
+ +
+
"> +
+ + + + + + + + + + <% + sub_total = 0 + @order.order_items.each do |sale_item| + sub_total = sub_total + sale_item.price + %> + <% unless sale_item.price <= 0 %> + + + + + + <% + end + end + %> + +
ItemsQTYPrice
<%= sale_item.item_name %><%= sale_item.qty %><%= sale_item.price %>
+
+
+ +
+
+
+ + +
+ + <% if @sale_status != 'completed' %> + + <% end %> + +
diff --git a/app/views/origami/rooms/show.html.erb b/app/views/origami/rooms/show.html.erb index c32bfe86..9c32b914 100755 --- a/app/views/origami/rooms/show.html.erb +++ b/app/views/origami/rooms/show.html.erb @@ -50,6 +50,11 @@ <% end %>
<%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> billed
@@ -61,6 +66,11 @@ <% end %>
<%= table.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(table.id) %> + (Orders : <%= @order_items_count[table.id] %>) + <% end %> + <% end %> new
@@ -87,6 +97,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> billed
@@ -95,6 +110,11 @@
<%= room.name %> + <% if !@order_items_count.nil? %> + <% if @order_items_count.key?(room.id) %> + (Orders : <%= @order_items_count[room.id] %>) + <% end %> + <% end %> new