update sale item for set menu
This commit is contained in:
@@ -98,6 +98,9 @@ class Sale < ApplicationRecord
|
||||
|
||||
order.order_items.each do |item|
|
||||
add_item(item)
|
||||
if item.set_menu_items != "[]"
|
||||
add_sub_item(item.set_menu_items)
|
||||
end
|
||||
end
|
||||
|
||||
link_order_sale(order.id)
|
||||
@@ -144,6 +147,9 @@ class Sale < ApplicationRecord
|
||||
|
||||
items.each do |item|
|
||||
add_item(item)
|
||||
if item.set_menu_items != "[]"
|
||||
add_sub_item(item.set_menu_items)
|
||||
end
|
||||
|
||||
#this will result in multiple orders belonging in multiple invoices - because of spilt invoices.
|
||||
link_order_sale(item.order_id, taxable)
|
||||
@@ -181,6 +187,35 @@ class Sale < ApplicationRecord
|
||||
self.sale_items << sale_item
|
||||
end
|
||||
|
||||
def add_sub_item (item)
|
||||
#check if the item is on promotion
|
||||
JSON.parse(item).each do |item|
|
||||
|
||||
#save sale item
|
||||
sale_item = SaleItem.new
|
||||
|
||||
#pull
|
||||
instance = MenuItemInstance.find_by_item_instance_code(item["item_instance_code"])
|
||||
menu_item = instance.menu_item
|
||||
|
||||
sale_item.product_code = menu_item.item_code
|
||||
sale_item.item_instance_code = item["item_instance_code"]
|
||||
sale_item.product_name = instance.item_instance_name
|
||||
sale_item.product_alt_name = menu_item.alt_name
|
||||
sale_item.account_id = menu_item.account_id
|
||||
sale_item.remark = nil
|
||||
|
||||
sale_item.qty = item["quantity"]
|
||||
sale_item.unit_price = item["price"]
|
||||
sale_item.taxable_price = sale_item.qty * sale_item.unit_price
|
||||
sale_item.is_taxable = menu_item.taxable
|
||||
|
||||
sale_item.price = sale_item.qty * sale_item.unit_price
|
||||
|
||||
self.sale_items << sale_item
|
||||
end
|
||||
end
|
||||
|
||||
def create_saleitem_diningcharges(chargeObj, block_count, diningprice, dining_name, dining_time)
|
||||
sale_item = SaleItem.new
|
||||
sale_item.product_code = chargeObj.item_code
|
||||
|
||||
Reference in New Issue
Block a user