74 lines
2.7 KiB
Ruby
Executable File
74 lines
2.7 KiB
Ruby
Executable File
class Origami::SalesController < BaseOrigamiController
|
|
def show
|
|
@tables = Table.all.active.order('status desc')
|
|
@rooms = Room.all.active.order('status desc')
|
|
@complete = Sale.where("DATE_FORMAT(created_at,'%Y-%m-%d') = ? and sale_status != 'new'",DateTime.now.strftime('%Y-%m-%d'))
|
|
@orders = Order.where("DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed' and source != 'quick_service'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
|
@sale = Sale.find(params[:sale_id])
|
|
@order = SaleOrder.find_by_sale_id(@sale.sale_id).order_id
|
|
@booking = BookingOrder.find_by_order_id(@order).booking_id
|
|
if Booking.find(@booking).dining_facility_id.to_i>0
|
|
@table_id = Booking.find(@booking).dining_facility_id
|
|
@dining = DiningFacility.find(@table_id)
|
|
else
|
|
@table_id = nil
|
|
@dining = nil
|
|
end
|
|
end
|
|
|
|
def add_to_existing_invoice
|
|
dining = params[:dining_id]
|
|
sale_id = params[:sale_id]
|
|
table = DiningFacility.find(dining)
|
|
existing_booking = Booking.find_by_sale_id(sale_id)
|
|
table.bookings.each do |booking|
|
|
# if !booking.checkout_at.nil?
|
|
# existing_booking.update_attributes(checkout_at: checkout_at)
|
|
# end
|
|
if booking.sale_id.nil?
|
|
order_array = []
|
|
booking.booking_orders.each do |booking_order|
|
|
|
|
booking.booking_status = 'moved'
|
|
order = Order.find(booking_order.order_id)
|
|
order.status = 'billed'
|
|
order.order_items.each do |item|
|
|
item.order_item_status = 'billed'
|
|
end
|
|
# create sale item
|
|
saleobj = Sale.find(sale_id)
|
|
order.order_items.each do |orer_item|
|
|
saleobj.add_item (orer_item)
|
|
if !orer_item.set_menu_items.nil?
|
|
saleobj.add_sub_item(orer_item.set_menu_items)
|
|
end
|
|
end
|
|
|
|
# Re-compute for add
|
|
saleobj.compute(order.source)
|
|
saleobj.save
|
|
order.save
|
|
booking.save
|
|
|
|
order_array.push(order.order_id)
|
|
|
|
end
|
|
|
|
receipt_no = Sale.find(sale_id).receipt_no
|
|
action_by = current_user.name
|
|
type = "ADD_TO_EXISTING"
|
|
|
|
remark = "#{action_by} add to existing order #{order_array} to Receipt No=>#{receipt_no} in #{table.name}"
|
|
sale_audit = SaleAudit.record_audit_sale(sale_id,remark,action_by,type )
|
|
|
|
booking_order = BookingOrder.where('booking_id=?',booking)
|
|
booking_order.each do |bo|
|
|
bo.booking_id = existing_booking.booking_id
|
|
bo.save
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|