Files
sx-fc/app/views/api/orders/view_orders.json.jbuilder
2018-03-15 14:25:19 +06:30

84 lines
2.3 KiB
Ruby
Executable File

if (@booking)
json.success true
json.booking_id @booking.booking_id
json.status @booking.booking_status
if Sale.exists?(@booking.sale_id)
json.sale_status Sale.find(@booking.sale_id).sale_status
else
json.sale_status ""
end
json.checkin_at @booking.checkin_at.strftime("%d-%m-%Y")
json.checkin_by @booking.checkin_by
json.table_name @booking.dining_facility.name
if @booking.type == "TableBooking"
json.table_id @booking.dining_facility_id
else
json.room_id @booking.dining_facility_id
end
@total_amount = 0.00
@total_tax = 0.00
# For YGN BBQ
adult_count = 0
child_count = 0
adult_spent = 0
child_spent = 0
# End YGN BBQ
if @booking.booking_orders
order_items = []
@booking.booking_orders.each do |bo|
order = Order.find(bo.order_id)
if (order.status == "new")
order_items = order_items + order.order_items
end
end
json.order_items order_items do |item|
# For YGN BBQ
if item.item_code.include? ("PSA_")
adult_count += item.qty
adult_spent += (item.price * item.qty)
end
if item.item_code.include? ("PSC_")
child_count += item.qty
child_spent += (item.price * item.qty)
end
# End YGN BBQ
json.order_items_id item.order_items_id
json.order_id item.order_id
json.item_code item.item_code
json.item_instance_code item.item_instance_code
json.item_name item.item_name
json.set_menu_items item.set_menu_items
json.price item.price
json.qty item.qty
json.options item.options
json.remark item.remark
json.item_status item.order_item_status
@total_amount = @total_amount + (item.price * item.qty)
end
end
# For YGN BBQ
# if adult_count > 0
# json.per_adult_spent adult_spent + ((adult_spent/adult_count) * 0.05)
# else
json.per_adult_spent 0
# end
# if child_count > 0
# json.per_child_spent child_spent + ((child_spent/child_count) * 0.05)
# else
json.per_child_spent 0
# end
# End YGN BBQ
json.sub_total @total_amount
json.commerical_tax @total_amount * 0.05
json.total @total_amount + (@total_amount * 0.05)
else
json.success false
end