product sale query
This commit is contained in:
@@ -861,45 +861,23 @@ def self.get_by_shift_items(shift_sale_range, shift, from, to, status)
|
||||
end
|
||||
|
||||
#product sale report query
|
||||
def self.get_menu_item_query()
|
||||
query = MenuItem.select("acc.id as account_id, acc.title as account_name,
|
||||
i.item_instance_code as item_code, " +
|
||||
"i.qty as qty," +
|
||||
"i.product_name as product_name,
|
||||
def self.get_menu_item_query(order_by)
|
||||
query = MenuItem.unscoped.select("acc.id as account_id,
|
||||
acc.title as account_name,
|
||||
mii.item_instance_code as item_code, " +
|
||||
"(CASE WHEN si.qty > 0 THEN SUM(si.qty) ELSE 0 END) as total_item," +
|
||||
"(CASE WHEN si.unit_price > 0 THEN si.unit_price ELSE mii.price END) as unit_price," +
|
||||
"(CASE WHEN (si.qty * si.unit_price) > 0 THEN (si.qty * si.unit_price) ELSE 0 END) as grand_total," +
|
||||
"mii.price as unit_price, menu_items.name as product_name,
|
||||
mc.name as" +
|
||||
" menu_category_name,mc.id as menu_category_id ")
|
||||
|
||||
query = query.joins(" LEFT JOIN menu_item_instances mii ON i.item_instance_code = mii.item_instance_code" +
|
||||
" LEFT JOIN menu_items mi ON mi.id = mii.menu_item_id" +
|
||||
" LEFT JOIN menu_categories mc ON mc.id = mi.menu_category_id" +
|
||||
" LEFT JOIN accounts acc ON acc.id = mi.account_id")
|
||||
query = query.group("acc.title,mi.account_id,mi.menu_category_id,mi.name,mii.price")
|
||||
.order("acc.title desc, mi.account_id desc, mi.menu_category_id desc, mii.price asc")
|
||||
end
|
||||
|
||||
def self.get_by_items(shift_sale_range, shift, from, to)
|
||||
query = self.get_menu_item_query()
|
||||
|
||||
puts "query"
|
||||
total_grand_total = 0
|
||||
|
||||
# if shift.present?
|
||||
# query = query.where("sales.shift_sale_id IN (?)",shift.to_a)
|
||||
|
||||
# # total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f
|
||||
|
||||
# ### => get all sales range in shift_sales
|
||||
# elsif shift_sale_range.present?
|
||||
# query = query.where("sales.shift_sale_id IN (?)",shift_sale_range.to_a)
|
||||
|
||||
# # total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f
|
||||
|
||||
# else
|
||||
# query = query.where("sales.receipt_date between ? and ?",from,to)
|
||||
# # total_grand_total = total_cash_amount.to_f + total_card_amount.to_f + total_credit_amount.to_f
|
||||
# end
|
||||
|
||||
return query, total_grand_total
|
||||
" menu_category_name,mc.id as menu_category_id, si.remark as status_type, si.price as price ")
|
||||
.joins(" LEFT JOIN menu_item_instances mii ON menu_items.id = mii.menu_item_id" +
|
||||
" LEFT JOIN menu_categories mc ON mc.id = menu_items.menu_category_id" +
|
||||
" LEFT JOIN accounts acc ON acc.id = menu_items.account_id" +
|
||||
" LEFT JOIN sale_items si ON si.item_instance_code = mii.item_instance_code" +
|
||||
" LEFT JOIN sales s ON s.sale_id = si.sale_id")
|
||||
.group("mc.id, menu_items.name, si.qty, (CASE WHEN si.unit_price > 0 THEN si.unit_price ELSE mii.price END)")
|
||||
.order("si.qty #{order_by}, menu_items.menu_category_id desc")
|
||||
end
|
||||
#product sale report query
|
||||
|
||||
|
||||
Reference in New Issue
Block a user