Merge branch 'master' of bitbucket.org:code2lab/sxrestaurant

This commit is contained in:
Yan
2018-02-21 10:12:19 +06:30
13 changed files with 154 additions and 118 deletions

View File

@@ -6,7 +6,8 @@ class Api::BillController < Api::ApiController
@status = false
@error_message = "Order ID or Booking ID is require to request for a bill."
if shift_by_terminal = ShiftSale.current_open_shift(get_cashier[0].id)
# if shift_by_terminal = ShiftSale.current_open_shift(get_cashier[0].id)
if !ShiftSale.current_shift.nil?
#create Bill by Booking ID
table = 0
if (params[:booking_id])
@@ -41,8 +42,8 @@ class Api::BillController < Api::ApiController
end
# Bind shift sale id to sale
@sale_data.shift_sale_id = shift_by_terminal.id
@sale_data.save
# @sale_data.shift_sale_id = shift_by_terminal.id
# @sale_data.save
Promotion.promo_activate(@sale)

View File

@@ -93,6 +93,11 @@ class ApplicationController < ActionController::Base
@current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token]
end
# Get current Cashier
def get_cashier
@cashier = Employee.where("role = 'cashier' AND token_session <> ''")
end
def current_company
begin
return Company.first

View File

@@ -27,37 +27,40 @@ class Origami::HomeController < BaseOrigamiController
@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)
else
@order_items_count[booking.dining_facility_id] += order.order_items.count
end
end
end
end
else
if !booking.sale_id.nil?
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)
else
@order_items_count[booking.dining_facility_id] += sale.sale_items.count
end
end
end
end
end
end
# bookings = Booking.all
# if !bookings.nil?
@order_items_count = Hash.new
# 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)
# else
# @order_items_count[booking.dining_facility_id] += order.order_items.count
# end
# end
# end
# end
# else
# if !booking.sale_id.nil?
# 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)
# else
# @order_items_count[booking.dining_facility_id] = sale.sale_items.count
# end
# end
# end
# end
# end
# end
puts "@order_items_count"
puts @order_items_count.to_json
@dining.bookings.active.each do |booking|
if booking.sale_id.nil? && booking.booking_status != 'moved'

View File

@@ -13,36 +13,36 @@ class Origami::OrdersController < BaseOrigamiController
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)
else
@order_items_count[booking.dining_facility_id] += order.order_items.count
end
end
end
end
else
if !booking.sale_id.nil?
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)
else
@order_items_count[booking.dining_facility_id] += sale.sale_items.count
end
end
end
end
end
end
# bookings = Booking.all
# if !bookings.nil?
# @order_items_count = Hash.new
# 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)
# else
# @order_items_count[booking.dining_facility_id] += order.order_items.count
# end
# end
# end
# end
# else
# if !booking.sale_id.nil?
# 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)
# else
# @order_items_count[booking.dining_facility_id] = sale.sale_items.count
# end
# end
# end
# end
# end
# end
end
end

View File

@@ -5,16 +5,15 @@ class Origami::RequestBillsController < ApplicationController
@sale = Sale.new
sale_order=SaleOrder.new
if shift = ShiftSale.current_open_shift(current_user.id)
# if shift = ShiftSale.current_open_shift(current_user.id)SSS
if !ShiftSale.current_shift.nil?
order_id = params[:id] # order_id
bk_order = BookingOrder.find_by_order_id(order_id)
check_booking = Booking.find_by_booking_id(bk_order.booking_id)
if check_booking.sale_id.nil?
# Create Sale if it doesn't exist
# puts "current_login_employee"
# puts current_login_employee.name
@status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee, cashier = nil)
@status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee, current_user)
@sale_data = Sale.find_by_sale_id(@sale_id)
@sale_items = SaleItem.where("sale_id=?",@sale_id)
else
@@ -23,8 +22,8 @@ class Origami::RequestBillsController < ApplicationController
end
# Bind shift sale id to sale
@sale_data.shift_sale_id = shift.id
@sale_data.save
# @sale_data.shift_sale_id = shift.id
# @sale_data.save
# Promotion Activation
Promotion.promo_activate(@sale)
@@ -55,4 +54,10 @@ class Origami::RequestBillsController < ApplicationController
# printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer.name, item_price_by_accounts,member_info,shop_details)
end
#Shop Name in Navbor
helper_method :shop_detail
def shop_detail
@shop = Shop.first
end
end

View File

@@ -22,38 +22,38 @@ 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)
else
@order_items_count[booking.dining_facility_id] += order.order_items.count
end
end
end
end
else
if !booking.sale_id.nil?
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)
else
@order_items_count[booking.dining_facility_id] += sale.sale_items.count
end
end
end
end
end
end
# bookings = Booking.all
# if !bookings.nil?
@order_items_count = Hash.new
# 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)
# else
# @order_items_count[booking.dining_facility_id] += order.order_items.count
# end
# end
# end
# end
# else
# if !booking.sale_id.nil?
# 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)
# else
# @order_items_count[booking.dining_facility_id] = sale.sale_items.count
# end
# end
# end
# end
# end
# end
@room.bookings.active.each do |booking|
if booking.sale_id.nil? && booking.booking_status != 'moved'

View File

@@ -40,16 +40,25 @@ class Origami::VoidController < BaseOrigamiController
# end
table_avaliable = true
table_count = 0
table = sale.bookings[0].dining_facility
table.bookings.each do |booking|
if !booking.sale.nil?
if booking.sale.sale_status == 'new'
if booking.booking_status != 'moved'
if booking.sale_id
if booking.sale.sale_status != 'completed' && booking.sale.sale_status != 'void'
table_avaliable = false
table_count += 1
else
table_avaliable = true
end
else
table_avaliable = false
table_count += 1
end
end
end
if table_avaliable
if table_avaliable && table_count == 0
table.status = 'available'
table.save
end