improve receipt/details reports and implement number formatting

1) eager load reports for receipt/details
2) introduce number_format lookups to replace print_settings for number formatting
3) implement NumberFormattable concern, reference number_format lookups or print_settings if not exist, to get number format settings and number formatting
4) replace rails NumberHelper.number_with_precision with NumberFormattable.number_format hopefully to reduce overhead, formatting numbers for huge lists of data
This commit is contained in:
Thein Lin Kyaw
2019-11-25 23:17:53 +06:30
parent a36e170d94
commit 3c1cc737b5
71 changed files with 1338 additions and 1898 deletions

View File

@@ -45,18 +45,6 @@
<tbody>
<% if @print_settings.precision.to_i > 0
precision = @print_settings.precision
else
precision = 0
end
#check delimiter
if @print_settings.delimiter
delimiter = ","
else
delimiter = ""
end
%>
<% receipt_arr = Array.new %>
<% menu_cat_arr = Array.new %>
<% footer_arr = Array.new %>
@@ -79,8 +67,8 @@
<td><%= sale.product_name %></td>
<td><%= sale.product_code.to_i %></td>
<td><%= sale.qty.to_i %></td>
<td><%= number_with_precision(sale.unit_price, precision:precision.to_i,delimiter:delimiter) %></td>
<td><%= number_with_precision(sale.price, precision:precision.to_i,delimiter:delimiter) %></td>
<td><%= number_format(sale.unit_price, precision:precision.to_i,delimiter:delimiter) %></td>
<td><%= number_format(sale.price, precision:precision.to_i,delimiter:delimiter) %></td>
</tr>
@@ -91,13 +79,13 @@
<td colspan="2" style="text-align:right"> <strong>Total Qty: </strong></td>
<td>
<span class="underline" style="text-align:right">
<strong><%= number_with_precision(waste_and_spoil_item_count, precision:precision.to_i,delimiter:delimiter) %></strong>
<strong><%= number_format(waste_and_spoil_item_count, precision:precision.to_i,delimiter:delimiter) %></strong>
<% waste_and_spoil_item_count = 0%>
</span></td>
<td style="text-align:right"> <strong>Grand Total: </strong></td>
<td >
<span class="underline" style="text-align:right">
<strong><%= number_with_precision(grand_total, precision:precision.to_i,delimiter:delimiter) %></strong>
<strong><%= number_format(grand_total, precision:precision.to_i,delimiter:delimiter) %></strong>
</span>
</td>
</tr>