diff --git a/app/models/sale.rb b/app/models/sale.rb index 4a12715f..32f196ff 100755 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -851,10 +851,10 @@ 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 != '' THEN SUM(si.qty) ELSE 0 END) as total_item," + + "(CASE WHEN si.qty IS NOT NULL THEN SUM(si.qty) ELSE 0 END) as total_item," + "(CASE WHEN si.unit_price != mii.price 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, mii.item_instance_name as product_name, + "(CASE WHEN si.qty IS NOT NULL THEN (SUM(si.qty) * si.unit_price) ELSE 0 END) as grand_total," + + "mii.price as unit_price, (CASE WHEN si.product_name IS NOT NULL THEN si.product_name ELSE mii.item_instance_name END) as product_name, mc.name as" + " menu_category_name,mc.id as menu_category_id, si.remark as status_type, si.price as price ") @@ -863,7 +863,8 @@ def self.get_menu_item_query(order_by) " 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, mii.item_instance_name, (CASE WHEN si.unit_price > 0 THEN si.unit_price ELSE mii.price END)") + .where("(CASE WHEN s.sale_status IS NOT NULL THEN s.sale_status='completed' ELSE 1 END)") + .group("mc.id, (CASE WHEN si.product_name IS NOT NULL THEN si.product_name ELSE mii.item_instance_name END)") .order("si.qty #{order_by}, menu_items.menu_category_id #{order_by}") end #product sale report query diff --git a/app/views/reports/product_sale/index.html.erb b/app/views/reports/product_sale/index.html.erb index a62e0d73..ffad886a 100755 --- a/app/views/reports/product_sale/index.html.erb +++ b/app/views/reports/product_sale/index.html.erb @@ -47,7 +47,6 @@ <%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %> <%= t("views.right_panel.detail.unit_price") %> <%= t("views.right_panel.detail.total") %> - <%= t("views.right_panel.detail.remark") %> @@ -59,24 +58,28 @@ <% total_qty = 0 %> <% @sale_data.each do |sale| %> + <% grand_total += sale.grand_total %> <% if sale.status_type != "Discount" && sale.status_type != "foc" total_qty += sale.total_item - grand_total += sale.grand_total end %> <% if sale.status_type == "foc" && sale.price > 0 total_qty += sale.total_item - grand_total += sale.grand_total end %>   + <% if !cate_arr.include?(sale.menu_category_id) %> <%= sale.menu_category_name %> + <% cate_arr.push(sale.menu_category_id) %> + <% else %> + <% cate_arr = Array.new %> +   + <% end %> <%= sale.item_code rescue '-' %> <%= sale.product_name rescue '-' %> <%= sale.total_item rescue '-' %> <%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%> <%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %> - <%= sale.status_type rescue '' %> @@ -86,7 +89,7 @@ Total <%= total_qty %> - <%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %> + <%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %> <% end %>