diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index dbd84007..cbca1424 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -1,20 +1,12 @@ class Origami::HomeController < BaseOrigamiController def index - @order = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, - order_items.id as order_items_id,dining_facilities.name as table_name") - .joins("left join booking_orders on booking_orders.order_id = orders.id - left join bookings on bookings.id = booking_orders.id - left join dining_facilities on dining_facilities.id = bookings.dining_facility_id - left join order_items on order_items.order_id = orders.id") - .where("orders.order_type=? and dining_facilities.is_active=?","dine_in",true) - .group("orders.id") + @order_table = Order.get_order_table() + @order_rooms = Order.get_order_rooms() + @orders = Order.get_orders() end def show - @order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price") - .joins("left join orders on orders.id = order_items.order_id") - .where("order_items.order_id=?",params[:order_id]) - # render :json => @order_details.to_json - str = [] + str = [] + @order_details = OrderItem.get_order_items_details(params[:order_id]) @order_details.each do |ord_detail| str.push(ord_detail) end diff --git a/app/models/dining_facility.rb b/app/models/dining_facility.rb index 692c6591..9a4f7a75 100644 --- a/app/models/dining_facility.rb +++ b/app/models/dining_facility.rb @@ -1,6 +1,9 @@ class DiningFacility < ApplicationRecord belongs_to :zone + TABLE_TYPE = "Table" + ROOM_TYPE = "Room" + default_scope { order('order_by asc') } scope :active, -> {where(is_active: true)} diff --git a/app/models/order.rb b/app/models/order.rb index 0bec3a1e..273cd62c 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -201,4 +201,38 @@ class Order < ApplicationRecord #Send to background job for processing OrderQueueProcessorJob.perform_later(self.id) end + + #Origami: Cashier : to view order type Table + def self.get_order_table + order_table = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, + order_items.id as order_items_id,dining_facilities.name as table_name") + .joins("left join booking_orders on booking_orders.order_id = orders.id + left join bookings on bookings.id = booking_orders.id + left join dining_facilities on dining_facilities.id = bookings.dining_facility_id + left join order_items on order_items.order_id = orders.id") + .where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true) + .group("orders.id") + end + #Origami: Cashier : to view order type Room + def self.get_order_rooms + order_rooms = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, + order_items.id as order_items_id,dining_facilities.name as room_name") + .joins("left join booking_orders on booking_orders.order_id = orders.id + left join bookings on bookings.id = booking_orders.id + left join dining_facilities on dining_facilities.id = bookings.dining_facility_id + left join order_items on order_items.order_id = orders.id") + .where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,"dine_in",true) + .group("orders.id") + end + #Origami: Cashier : to view orders + def self.get_orders + orders = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, + order_items.id as order_items_id,dining_facilities.name as table_or_room_name") + .joins("left join booking_orders on booking_orders.order_id = orders.id + left join bookings on bookings.id = booking_orders.id + left join dining_facilities on dining_facilities.id = bookings.dining_facility_id + left join order_items on order_items.order_id = orders.id") + .where("dining_facilities.is_active=?",true) + .group("orders.id") + end end diff --git a/app/models/order_item.rb b/app/models/order_item.rb index afba7d7e..f839ad99 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -33,4 +33,10 @@ class OrderItem < ApplicationRecord end + #Origami : Cashier : to show order items details + def self.get_order_items_details(order_id) + order_details = OrderItem.select("order_items.item_name,order_items.qty,order_items.price,(order_items.qty*order_items.price) as total_price") + .joins("left join orders on orders.id = order_items.order_id") + .where("order_items.order_id=?",order_id) + end end diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index ec523494..e79900ab 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -22,70 +22,16 @@
- <% @order.each do |order| %> -
+ + <% @order_table.each do |order_table| %> +
- - -

<%=order.table_name%>

- -

<%=order.total_price%>

+

<%=order_table.table_name%>

+

<%=order_table.total_price%>

<%end %> -
@@ -94,46 +40,16 @@
-
+ <% @order_rooms.each do |order_room| %> +
+
-

Card title that wraps to a new line

-

This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.

-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.

-
- - Someone famous in Source Title - -
-
-
-
-
-

Card title

-

This card has supporting text below as a natural lead-in to additional content.

-

Last updated 3 mins ago

-
-
-
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat.

-
- - Someone famous in Source Title - -
-
-
-
-
-

Card title

-

This card has supporting text below as a natural lead-in to additional content.

-

Last updated 3 mins ago

+ <% tablename = order_room.room_name%> +

<%=order_room.room_name%>

+

<%=order_room.total_price%>

+ <%end %>
@@ -144,27 +60,15 @@
- - - - +
+ <%end %>
@@ -179,7 +83,7 @@
-
ORDER DETAILS <% if @order_details%>- Table 4<%end%>
+
ORDER DETAILS
@@ -194,7 +98,7 @@
- +
-
@@ -218,27 +122,6 @@ Sub Total
@@ -262,11 +145,21 @@
- \ No newline at end of file + + + \ No newline at end of file