change menu category for sale_items

This commit is contained in:
phyusin
2018-12-26 13:40:35 +06:30
parent b557e17558
commit 60e1c211d3
2 changed files with 27 additions and 14 deletions

View File

@@ -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

View File

@@ -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