diff --git a/Gemfile.lock b/Gemfile.lock index 6916f408..6936e5f1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,9 +48,9 @@ GEM sass (>= 3.4.19) builder (3.2.3) byebug (9.0.6) - coffee-rails (4.2.1) + coffee-rails (4.2.2) coffee-script (>= 2.2.0) - railties (>= 4.0.0, < 5.2.x) + railties (>= 4.0.0) coffee-script (2.4.1) coffee-script-source execjs @@ -97,7 +97,7 @@ GEM minitest (5.10.2) multi_json (1.12.1) mysql2 (0.4.6) - nio4r (2.0.0) + nio4r (2.1.0) nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) diff --git a/app/assets/javascripts/origami/request_bills.coffee b/app/assets/javascripts/origami/request_bills.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/origami/request_bills.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/origami/request_bills.scss b/app/assets/stylesheets/origami/request_bills.scss new file mode 100644 index 00000000..20719090 --- /dev/null +++ b/app/assets/stylesheets/origami/request_bills.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the origami/RequestBills controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index 0aea3cf6..be600853 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -40,6 +40,7 @@ class Api::OrdersController < Api::ApiController #Create Table Booking or Room Booking if !params["booking_id"].nil? && params[:booking_id].to_i > 0 @order.new_booking = false + # @order.new_booking = true @order.booking_id = params[:booking_id] end diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 8cbc8e55..cbca1424 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -1,6 +1,15 @@ class Origami::HomeController < BaseOrigamiController def index + @order_table = Order.get_order_table() + @order_rooms = Order.get_order_rooms() + @orders = Order.get_orders() end def show + str = [] + @order_details = OrderItem.get_order_items_details(params[:order_id]) + @order_details.each do |ord_detail| + str.push(ord_detail) + end + render :json => str.to_json end end diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb new file mode 100644 index 00000000..c202d4dc --- /dev/null +++ b/app/controllers/origami/request_bills_controller.rb @@ -0,0 +1,13 @@ +class Origami::RequestBillsController < BaseOrigamiController + def show + @sale = Sale.new + check_order = Order.find_by_id(params[:id]) + if check_order + @order_details = OrderItem.get_order_items_details(check_order.id) + @order_details = OrderItem.get_order_items_details(check_order.id) + @status, @sale_id = @sale.generate_invoice_from_order(check_order.id, nil,current_login_employee.name) + @sale_data = Sale.find_by_id(@sale_id) + @sale_items = SaleItem.where("sale_id=?",@sale_id) + end + end +end diff --git a/app/helpers/origami/request_bills_helper.rb b/app/helpers/origami/request_bills_helper.rb new file mode 100644 index 00000000..a33f7c3e --- /dev/null +++ b/app/helpers/origami/request_bills_helper.rb @@ -0,0 +1,2 @@ +module Origami::RequestBillsHelper +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..5011276c 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -201,4 +201,40 @@ 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 + from = Time.now.beginning_of_day.utc + to = Time.now.end_of_day.utc + 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=? and orders.date between ? and ?",true,from,to) + .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/models/sale.rb b/app/models/sale.rb index 37819c9b..88f0d846 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -188,7 +188,8 @@ class Sale < ApplicationRecord sale_tax.tax_name = tax.name sale_tax.tax_rate = tax.rate #include or execulive - sale_tax.tax_payable_amount = total_taxable * tax.rate + # sale_tax.tax_payable_amount = total_taxable * tax.rate + sale_tax.tax_payable_amount = total_taxable * tax.rate / 100 #new taxable amount total_taxable = total_taxable + sale_tax.tax_payable_amount diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 051c9a26..7dcc1ba8 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -1,4 +1,4 @@ -
This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
+ <% if @order_table %> + <% @order_table.each do |order_table| %> +<%=order_table.total_price%>
+--Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
- -
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.
- -
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 a ante.
- -
This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.
-Last updated 3 mins ago
-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.
- -
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.
- -
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.total_price%>
This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
-This card has supporting text below as a natural lead-in to additional content.
-Last updated 3 mins ago
-This card has supporting text below as a natural lead-in to additional content.
-Last updated 3 mins ago
+<%=order.total_price%>
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| - Menu Items Name @ 50.00 - | -- 5 - | -- 250.00 - | -
| + + | ++ + | ++ + | +
| Sub-Total | -750.00 | -||
| Discounts | -(-250.00) | -||
| Service Tax | -50.00 | -||
| Commercial Tax | -39.50 | -||
| Grand Total | -589.50 | +Sub Total | +
| Items | +QTY + | Price + |
|---|
| + <%=sale_item.product_name%>@<%=sale_item.unit_price%> + | ++ <%=sale_item.qty%> + | ++ <%=(sale_item.qty*sale_item.unit_price)%> + | +