107 lines
3.4 KiB
Ruby
Executable File
107 lines
3.4 KiB
Ruby
Executable File
class Origami::MovetableController < BaseOrigamiController
|
|
|
|
authorize_resource :class => false
|
|
|
|
def move_dining
|
|
@tables = Table.all.active.order('status desc')
|
|
@rooms = Room.all.active.order('status desc')
|
|
@complete = Sale.all
|
|
@orders = Order.all.order('date desc')
|
|
@dining = DiningFacility.find(params[:dining_id])
|
|
|
|
@status_order = ""
|
|
@status_sale = ""
|
|
@sale_array = Array.new
|
|
@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
|
|
@status_order = 'order'
|
|
else
|
|
sale = Sale.find(booking.sale_id)
|
|
if sale.sale_status != "completed"
|
|
@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
|
|
|
|
def moving
|
|
change_to = params[:change_to] #new
|
|
change_from = params[:change_from] #original
|
|
bookings = Booking.where('dining_facility_id=?',change_from)
|
|
|
|
booking_array = Array.new
|
|
order_items = 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
|
|
|
|
@get_type = Booking.update_dining_facility(booking_array,change_to,change_from)
|
|
|
|
# get printer info
|
|
@from = (DiningFacility.find(change_from)).name
|
|
@to = (DiningFacility.find(change_to)).name
|
|
@type = (DiningFacility.find(change_to)).type
|
|
@moved_by = @current_user.name
|
|
@date = DateTime.now
|
|
@shop = Shop.first
|
|
unique_code = "MoveTablePdf"
|
|
pdf_no = PrintSetting.where(:unique_code => unique_code).count
|
|
#print_settings = PrintSetting.find_by_unique_code(unique_code)
|
|
printer_array = []
|
|
printer_array = PrintSetting.where(:unique_code => unique_code)
|
|
|
|
for i in 0..pdf_no
|
|
if i != pdf_no
|
|
print_settings = printer_array[i]
|
|
printer = Printer::ReceiptPrinter.new(print_settings)
|
|
printer.print_move_table(print_settings,@to,@from ,@shop,@date,@type,@moved_by,order_items)
|
|
end
|
|
end
|
|
end
|
|
end
|