check product sale query
This commit is contained in:
@@ -851,10 +851,10 @@ def self.get_menu_item_query(order_by)
|
|||||||
query = MenuItem.unscoped.select("acc.id as account_id,
|
query = MenuItem.unscoped.select("acc.id as account_id,
|
||||||
acc.title as account_name,
|
acc.title as account_name,
|
||||||
mii.item_instance_code as item_code, " +
|
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.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," +
|
"(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, mii.item_instance_name as product_name,
|
"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" +
|
mc.name as" +
|
||||||
" menu_category_name,mc.id as menu_category_id, si.remark as status_type,
|
" menu_category_name,mc.id as menu_category_id, si.remark as status_type,
|
||||||
si.price as price ")
|
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 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 sale_items si ON si.item_instance_code = mii.item_instance_code" +
|
||||||
" LEFT JOIN sales s ON s.sale_id = si.sale_id")
|
" 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}")
|
.order("si.qty #{order_by}, menu_items.menu_category_id #{order_by}")
|
||||||
end
|
end
|
||||||
#product sale report query
|
#product sale report query
|
||||||
|
|||||||
@@ -47,7 +47,6 @@
|
|||||||
<th><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %></th>
|
<th><%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.item") %></th>
|
||||||
<th><%= t("views.right_panel.detail.unit_price") %></th>
|
<th><%= t("views.right_panel.detail.unit_price") %></th>
|
||||||
<th><%= t("views.right_panel.detail.total") %></th>
|
<th><%= t("views.right_panel.detail.total") %></th>
|
||||||
<th><%= t("views.right_panel.detail.remark") %></th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="tbd_data">
|
<tbody id="tbd_data">
|
||||||
@@ -59,24 +58,28 @@
|
|||||||
<% total_qty = 0 %>
|
<% total_qty = 0 %>
|
||||||
|
|
||||||
<% @sale_data.each do |sale| %>
|
<% @sale_data.each do |sale| %>
|
||||||
|
<% grand_total += sale.grand_total %>
|
||||||
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
<% if sale.status_type != "Discount" && sale.status_type != "foc"
|
||||||
total_qty += sale.total_item
|
total_qty += sale.total_item
|
||||||
grand_total += sale.grand_total
|
|
||||||
end %>
|
end %>
|
||||||
<% if sale.status_type == "foc" && sale.price > 0
|
<% if sale.status_type == "foc" && sale.price > 0
|
||||||
total_qty += sale.total_item
|
total_qty += sale.total_item
|
||||||
grand_total += sale.grand_total
|
|
||||||
end %>
|
end %>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
|
<% if !cate_arr.include?(sale.menu_category_id) %>
|
||||||
<td><%= sale.menu_category_name %></td>
|
<td><%= sale.menu_category_name %></td>
|
||||||
|
<% cate_arr.push(sale.menu_category_id) %>
|
||||||
|
<% else %>
|
||||||
|
<% cate_arr = Array.new %>
|
||||||
|
<td> </td>
|
||||||
|
<% end %>
|
||||||
<td><%= sale.item_code rescue '-' %></td>
|
<td><%= sale.item_code rescue '-' %></td>
|
||||||
<td><%= sale.product_name rescue '-' %></td>
|
<td><%= sale.product_name rescue '-' %></td>
|
||||||
<td><%= sale.total_item rescue '-' %></td>
|
<td><%= sale.total_item rescue '-' %></td>
|
||||||
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
<td><%= number_with_precision(sale.unit_price , precision:precision.to_i,delimiter:delimiter) rescue '-'%></td>
|
||||||
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %></td>
|
<td><%= number_with_precision(sale.grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %></td>
|
||||||
<td><%= sale.status_type rescue '' %></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<!-- sub total -->
|
<!-- sub total -->
|
||||||
<!-- end sub total -->
|
<!-- end sub total -->
|
||||||
@@ -86,7 +89,7 @@
|
|||||||
<td><strong>Total</strong></td>
|
<td><strong>Total</strong></td>
|
||||||
<td><strong><%= total_qty %></strong></td>
|
<td><strong><%= total_qty %></strong></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td colspan="2"><strong><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %></strong></td>
|
<td><strong><%= number_with_precision(grand_total , precision:precision.to_i,delimiter:delimiter) rescue '-' %></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
Reference in New Issue
Block a user