Merge branch 'foodcourt' of gitlab.com:code2lab/SXRestaurant into foodcourt
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -8,6 +8,15 @@ class Foodcourt::FoodCourtController < ApplicationController
|
||||
end
|
||||
|
||||
def index
|
||||
if params[:sale_id].present?
|
||||
sale =Sale.find(params[:sale_id])
|
||||
if sale
|
||||
@sale_id =sale.sale_id
|
||||
@booking_id =sale.bookings[0].booking_id
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
today = DateTime.now
|
||||
day = Date.today.wday
|
||||
@menus = []
|
||||
|
||||
@@ -6,7 +6,7 @@ class Foodcourt::HomeController < BaseFoodcourtController
|
||||
@webview = check_mobile
|
||||
@tables = Table.unscoped.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
|
||||
@rooms = Room.unscoped.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
|
||||
@complete = Sale.completed_sale("cashier",@shop.shop_code)
|
||||
@complete = Sale.completed_sale("cashier")
|
||||
@orders = Order.includes("sale_orders").where("shop_code='#{@shop.shop_code}' and DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed' and source != 'quick_service'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
||||
|
||||
@customers = Customer.pluck("customer_id, name")
|
||||
@@ -21,7 +21,7 @@ class Foodcourt::HomeController < BaseFoodcourtController
|
||||
@webview = check_mobile
|
||||
@tables = Table.unscoped.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
|
||||
@rooms = Room.unscoped.all.active.where("shop_code='#{@shop.shop_code}'").order('status desc')
|
||||
@complete = Sale.completed_sale("cashier",@shop.shop_code)
|
||||
@complete = Sale.completed_sale("cashier")
|
||||
@orders = Order.includes("sale_orders").where("shop_code='#{@shop.shop_code}' and DATE_FORMAT(date,'%Y-%m-%d') = ? and status != 'billed' and source != 'quick_service'",DateTime.now.strftime('%Y-%m-%d')).order('date desc')
|
||||
@customers = Customer.pluck("customer_id, name")
|
||||
@shift = ShiftSale.current_open_shift(current_user)
|
||||
|
||||
@@ -38,19 +38,6 @@ class Foodcourt::SaleEditController < BaseFoodcourtController
|
||||
|
||||
# re-calc tax
|
||||
saleObj = Sale.find(saleitemObj.sale_id)
|
||||
|
||||
|
||||
# booking = Booking.find_by_sale_id(saleitemObj.sale_id)
|
||||
# booking.booking_orders.each do |bo|
|
||||
# order = Order.find(bo.order_id)
|
||||
# order.order_items.each do |o|
|
||||
# if saleitemObj.product_code == o.item_code
|
||||
# o.qty = saleitemObj.qty * -1
|
||||
# o.price = saleitemObj.price * -1
|
||||
# o.save
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
# FOr Sale Audit
|
||||
action_by = current_user.name
|
||||
if access_code != "null" && current_user.role == "cashier"
|
||||
@@ -99,26 +86,6 @@ class Foodcourt::SaleEditController < BaseFoodcourtController
|
||||
ProductCommission.create_product_commission(@newsaleitem, saleitemObj)
|
||||
end
|
||||
|
||||
# def item_edit
|
||||
# saleitemId = params[:sale_item_id]
|
||||
# update_qty = params[:update_qty]
|
||||
# update_price = params[:update_price]
|
||||
# saleitemObj = SaleItem.find(saleitemId)
|
||||
# saleitemObj.status = 'void'
|
||||
# saleitemObj.save
|
||||
# @newsaleitem = SaleItem.new
|
||||
# @newsaleitem = saleitemObj.dup
|
||||
# @newsaleitem.save
|
||||
# @newsaleitem.qty = update_qty
|
||||
# @newsaleitem.price = update_price
|
||||
# @newsaleitem.unit_price = update_price
|
||||
# @newsaleitem.taxable_price = update_price
|
||||
# @newsaleitem.is_taxable = 0
|
||||
# @newsaleitem.remark = 'edit'
|
||||
# @newsaleitem.product_name = saleitemObj.product_name + " - updated"
|
||||
# @newsaleitem.save
|
||||
# end
|
||||
|
||||
def item_edit
|
||||
saleitemId = params[:sale_item_id]
|
||||
update_qty = params[:update_qty]
|
||||
@@ -149,20 +116,6 @@ class Foodcourt::SaleEditController < BaseFoodcourtController
|
||||
|
||||
saleitemObj.save
|
||||
|
||||
# re-calc tax
|
||||
# saleObj = Sale.find(saleitemObj.sale_id)
|
||||
|
||||
# order_id = SaleOrder.find_by_sale_id(saleitemObj.sale_id).order_id
|
||||
# order = Order.find(order_id)
|
||||
|
||||
# order.order_items.each do |o|
|
||||
# if saleitemObj.product_code == o.item_code
|
||||
# o.qty = update_qty
|
||||
# o.price = update_price
|
||||
# o.save
|
||||
# end
|
||||
# end
|
||||
|
||||
sale.compute_by_sale_items(sale.total_discount, nil, order_source)
|
||||
|
||||
ProductCommission.edit_product_commission(saleitemObj,sale.shop_code)
|
||||
|
||||
Reference in New Issue
Block a user