add to existing order

This commit is contained in:
Myat Zin Wai Maw
2019-12-18 10:15:24 +06:30
parent 8af99742a3
commit 16485875c1
10 changed files with 119 additions and 111 deletions

View File

@@ -305,5 +305,56 @@ class Foodcourt::AddordersController < BaseFoodcourtController
return from
end
def add_to_existing_order
if params[:booking_id].present? && params[:sale_id].present?
booking = Booking.find(params[:booking_id])
saleobj =Sale.find(params[:sale_id])
order =saleobj.orders[0]
items_arr = []
JSON.parse(params[:order_items]).each { |i|
i["item_instance_code"] = i["item_instance_code"].downcase.to_s
if i["item_instance_code"].include? "ext"
is_extra_time = true
arr_exts = i["item_instance_code"].split("_")
if arr_exts[1].match(/^(\d)+$/)
time = arr_exts[1].to_i*60*i["quantity"].to_i
extra_time = Time.at(time)
end
end
if i["parent_order_item_id"];
items = {"order_item_id": i["order_item_id"],"item_instance_code": i["item_instance_code"],"quantity": i["quantity"],"parent_order_item_id": i["parent_order_item_id"],"options": JSON.parse(i["options"])}
else
items = {"order_item_id": i["order_item_id"],"item_instance_code": i["item_instance_code"],"quantity": i["quantity"],"options": JSON.parse(i["options"])}
end
items_arr.push(items)
}
order.items = items_arr
order.new_booking = false
order.booking_id = booking.booking_id
@status, booking = order.generate
order_array = []
items_arr.each do |item|
order_item =order.order_items.where("item_instance_code=?",item[:item_instance_code]).last
saleobj.add_item (order_item)
if !order_item.set_menu_items.nil?
saleobj.add_sub_item(order_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)
receipt_no = saleobj.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}"
sale_audit = SaleAudit.record_audit_sale(saleobj.sale_id,remark,action_by,type )
end
result = {:status=> @status}
render :json => result.to_json
end
end