change menu category for sale_items
This commit is contained in:
@@ -94,6 +94,14 @@ class MenuCategory < ApplicationRecord
|
||||
return false
|
||||
end
|
||||
|
||||
def self.get_menu_category(item_code)
|
||||
menu_category = MenuCategory.joins(" JOIN menu_items mi ON mi.menu_category_id = menu_categories.id")
|
||||
.where("mi.item_code = '#{item_code}'")
|
||||
.first()
|
||||
|
||||
return menu_category
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# def generate_menu_category_code
|
||||
|
||||
@@ -249,12 +249,11 @@ class Sale < ApplicationRecord
|
||||
|
||||
def add_item (item)
|
||||
#check if the item is on promotion
|
||||
menu_category = MenuCategory.get_menu_category(item.item_code) #get menu category for menu items
|
||||
|
||||
#save sale_audit
|
||||
sale_item = SaleItem.new
|
||||
menu_category = MenuCategory.joins(" JOIN menu_items mi ON mi.menu_category_id = menu_categories.id")
|
||||
.where("mi.item_code = '#{item.item_code}'")
|
||||
.first()
|
||||
|
||||
#pull
|
||||
sale_item.menu_category_code = menu_category.code
|
||||
sale_item.menu_category_name = menu_category.name
|
||||
@@ -278,14 +277,17 @@ class Sale < ApplicationRecord
|
||||
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
|
||||
menu_category = MenuCategory.get_menu_category(menu_item.item_code) #get menu category for menu items
|
||||
|
||||
sale_item.menu_category_code = menu_category.code
|
||||
sale_item.menu_category_name = menu_category.name
|
||||
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
|
||||
@@ -994,23 +996,26 @@ def self.get_item_query(type)
|
||||
elsif type == "promotion"
|
||||
sale_type = "i.status = 'promotion'"
|
||||
end
|
||||
query = Sale.select("acc.title as account_name,mi.account_id,
|
||||
query = Sale.select("acc.title as account_name,
|
||||
i.item_instance_code as item_code,i.account_id as account_id, " +
|
||||
"SUM(i.qty * i.unit_price) as grand_total,
|
||||
SUM(i.qty) as total_item,i.qty as qty," +
|
||||
"i.status as status_type,i.remark as remark,"+
|
||||
"i.unit_price,i.price as price,i.product_name as product_name,mc.name as " +
|
||||
"menu_category_name,mc.id as menu_category_id ")
|
||||
"i.unit_price,i.price as price,i.product_name as product_name, " +
|
||||
"i.menu_category_name,i.menu_category_code as menu_category_id ")
|
||||
|
||||
query = query.joins("JOIN sale_items i ON i.sale_id = sales.sale_id" +
|
||||
" JOIN menu_item_instances mii ON i.item_instance_code = mii.item_instance_code" +
|
||||
" JOIN menu_items mi ON mi.id = mii.menu_item_id" +
|
||||
" JOIN shift_sales sh ON sh.`id` = sales.shift_sale_id" +
|
||||
" JOIN menu_categories mc ON mc.id = mi.menu_category_id ")
|
||||
# query = query.joins("JOIN sale_items i ON i.sale_id = sales.sale_id" +
|
||||
# " JOIN menu_item_instances mii ON i.item_instance_code = mii.item_instance_code" +
|
||||
# " JOIN menu_items mi ON mi.id = mii.menu_item_id" +
|
||||
# " JOIN shift_sales sh ON sh.`id` = sales.shift_sale_id" +
|
||||
# " JOIN menu_categories mc ON mc.id = mi.menu_category_id ")
|
||||
|
||||
query = query.joins("JOIN sale_items i ON i.sale_id = sales.sale_id" +
|
||||
" JOIN shift_sales sh ON sh.`id` = sales.shift_sale_id")
|
||||
# "JOIN employee_accesses ea ON ea.`employee_id` = sales.cashier_id ")
|
||||
query = query.joins(" JOIN accounts acc ON acc.id = mi.account_id")
|
||||
query = query.joins(" JOIN accounts acc ON acc.id = i.account_id")
|
||||
query = query.where("#{sale_type}")
|
||||
query = query.group("acc.title,i.account_id,i.menu_category_code,i.product_name,i.unit_price")
|
||||
query = query.group("acc.title,i.account_id,i.menu_category_code,i.menu_category_name,i.product_name,i.unit_price")
|
||||
.order("acc.title desc, i.account_id desc, i.menu_category_code desc, i.unit_price asc")
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user