From 98795478b15d889b37f6904f9a8c982f355f91d6 Mon Sep 17 00:00:00 2001 From: phyusin Date: Tue, 27 Feb 2018 17:46:02 +0630 Subject: [PATCH] add product sale data --- app/models/sale.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/models/sale.rb b/app/models/sale.rb index f42b62a0..d8a91daf 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -846,6 +846,27 @@ def self.get_by_shift_items(shift_sale_range, shift, from, to, status) return query,other_charges, discount_query , total_cash_amount , total_card_amount , total_credit_amount , total_foc_amount , total_grand_total , change_amount end +#product sale report query +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, 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 #{order_by}") +end +#product sale report query + def self.get_shift_sales_by_receipt_no(shift_sale_range,shift,from,to,payment_type) ## => left join -> show all sales although no orders if payment_type.blank?