|
|
|
|
@@ -1,116 +1,136 @@
|
|
|
|
|
<div class="card row">
|
|
|
|
|
<div class="table-responsive">
|
|
|
|
|
<table class="table table-bordered">
|
|
|
|
|
<thead>
|
|
|
|
|
<% if params[:from]%>
|
|
|
|
|
<tr>
|
|
|
|
|
<th colspan="17"> Sale (<%= params[:from] rescue '-' %> - <%= params[:to] rescue '-'%>)</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<% end %>
|
|
|
|
|
<tr>
|
|
|
|
|
<th style='text-align:center;'>Sr.no</th>
|
|
|
|
|
<th style='text-align:center;'>Date</th>
|
|
|
|
|
<th style='text-align:center;'>Daily Void Amount</th>
|
|
|
|
|
<th style='text-align:center;'>Daily mpu Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily master Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily visa Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily jcb Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily paypar Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily Cash Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily Credit Sales</th>
|
|
|
|
|
<th style='text-align:center;'>Daily FOC Sales</th>
|
|
|
|
|
<th style='text-align:center;'>(Daily Discount)</th>
|
|
|
|
|
<th style='text-align:center;'>Grand Total + <br/> Rounding Adj.</th>
|
|
|
|
|
<th style='text-align:center;'>Rounding Adj.</th>
|
|
|
|
|
<th style='text-align:center;'>Grand Total</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<% unless @sale_data.empty? %>
|
|
|
|
|
|
|
|
|
|
<tbody>
|
|
|
|
|
<% void = 0 %>
|
|
|
|
|
<% mpu = 0 %>
|
|
|
|
|
<% master = 0 %>
|
|
|
|
|
<% visa = 0 %>
|
|
|
|
|
<% jcb = 0 %>
|
|
|
|
|
<% paypar = 0 %>
|
|
|
|
|
<% cash = 0 %>
|
|
|
|
|
<% credit = 0 %>
|
|
|
|
|
<% foc = 0 %>
|
|
|
|
|
<% discount = 0 %>
|
|
|
|
|
<% total = 0 %>
|
|
|
|
|
<% grand_total = 0 %>
|
|
|
|
|
<% count = 1 %> <% rounding_adj = 0 %>
|
|
|
|
|
<% @sale_data.each do |sale| %>
|
|
|
|
|
<% void += sale[:void_amount] %>
|
|
|
|
|
<% mpu += sale[:mpu_amount] %>
|
|
|
|
|
<% master += sale[:master_amount] %>
|
|
|
|
|
<% visa += sale[:visa_amount] %>
|
|
|
|
|
<% jcb += sale[:jcb_amount] %>
|
|
|
|
|
<% paypar += sale[:paypar_amount] %>
|
|
|
|
|
<% cash += sale[:cash_amount] %>
|
|
|
|
|
<% credit += sale[:credit_amount] %>
|
|
|
|
|
<% foc += sale[:foc_amount] %>
|
|
|
|
|
<% discount += sale[:total_discount] %>
|
|
|
|
|
<% total += sale[:grand_total].to_f + sale[:rounding_adj].to_f %>
|
|
|
|
|
<% grand_total += sale[:grand_total].to_f %>
|
|
|
|
|
<% rounding_adj += sale[:rounding_adj].to_f %>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style='text-align:right;'><%= count %></td>
|
|
|
|
|
<td><%= sale[:sale_date].strftime("#{sale[:sale_date].day.ordinalize} %b") rescue '-' %></td>
|
|
|
|
|
<td style='color:red;text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:void_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:mpu_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:master_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:visa_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:jcb_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:paypar_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:cash_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:credit_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:foc_amount]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'>(<%= number_with_delimiter(sprintf("%.2f",sale[:total_discount]), :delimiter => ',') rescue '-'%>)</td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:grand_total].to_f + sale[:rounding_adj].to_f ), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:rounding_adj].to_f), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",sale[:grand_total]), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<% count = count + 1 %>
|
|
|
|
|
<% end %>
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<meta http-equiv="Content-type" content="application/vnd.ms-excel; charset=UTF-8">
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div class="span12">
|
|
|
|
|
<% unless @sale_data.blank? %>
|
|
|
|
|
|
|
|
|
|
<tr style="font-weight:600;">
|
|
|
|
|
<td colspan="3" style='text-align:center;'>Total</td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",mpu_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",master_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",visa_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",jcb_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",paypar_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",cash), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",credit), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",foc), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'>(<%= number_with_delimiter(sprintf("%.2f",discount), :delimiter => ',') rescue '-'%>)</td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",total), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",rounding_adj), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",grand_total), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<table class="table table-striped" id="items_table" border="0">
|
|
|
|
|
<thead>
|
|
|
|
|
|
|
|
|
|
<% total_tax = 0 %>
|
|
|
|
|
<% unless @tax.empty? %>
|
|
|
|
|
<% @tax.each do |tax| %>
|
|
|
|
|
<% total_tax += tax.tax_amount.to_f %>
|
|
|
|
|
<tr style="font-weight:600;">
|
|
|
|
|
<td colspan="12" style='text-align:right;'><%= tax.tax_name rescue '-'%></td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",tax.tax_amount), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td colspan="2"> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
<% net = total - total_tax %>
|
|
|
|
|
<tr style="font-weight:600;">
|
|
|
|
|
<td colspan="12" style='text-align:right;'>Net Amount</td>
|
|
|
|
|
<td style='text-align:right;'><%= number_with_delimiter(sprintf("%.2f",net), :delimiter => ',') rescue '-'%></td>
|
|
|
|
|
<td colspan="2"> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
<% end %>
|
|
|
|
|
</tbody>
|
|
|
|
|
<% if !params[:from].blank?%>
|
|
|
|
|
<tr>
|
|
|
|
|
<th colspan="7">From Date : <%= params[:from] %> , To Date : <%= params[:to] %></th>
|
|
|
|
|
</tr>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% if @shift_from %>
|
|
|
|
|
<tr>
|
|
|
|
|
<% if @shift_data.employee %>
|
|
|
|
|
<% cashier_name = !@shift_data.nil? ? @shift_data.employee.name : '-' %>
|
|
|
|
|
<% end %>
|
|
|
|
|
<th colspan="7">Shift Name = <%= @shift_from %> - <%= @shift_to %> ( <%= cashier_name %> )</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<% end %>
|
|
|
|
|
<tr>
|
|
|
|
|
<th> </th>
|
|
|
|
|
<th>Menu Category</th>
|
|
|
|
|
<th>Code</th>
|
|
|
|
|
<th>Product</th>
|
|
|
|
|
<th>Total Item</th>
|
|
|
|
|
<th>Unit Price</th>
|
|
|
|
|
<th>Revenue</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody>
|
|
|
|
|
|
|
|
|
|
<% acc_arr = Array.new %>
|
|
|
|
|
<% cate_arr = Array.new %>
|
|
|
|
|
|
|
|
|
|
<% sub_total = 0.0 %>
|
|
|
|
|
<% count = 0%>
|
|
|
|
|
<% total_price = 0.0 %>
|
|
|
|
|
<% cate_count = 0 %>
|
|
|
|
|
<% acc_count = 0%>
|
|
|
|
|
<% grand_total = 0%>
|
|
|
|
|
<% total_discount = 0.0 %>
|
|
|
|
|
|
|
|
|
|
<% @sale_data.order("total_item desc").each do |sale| %>
|
|
|
|
|
|
|
|
|
|
<% if !acc_arr.include?(sale.account_id) %>
|
|
|
|
|
<tr>
|
|
|
|
|
<td><b><%= sale.account_name %></b></td>
|
|
|
|
|
<td colspan="4"> </td>
|
|
|
|
|
<td>Total Price By <%= sale.account_name %></td>
|
|
|
|
|
<td>
|
|
|
|
|
<% @totalByAccount.each do |account, total| %>
|
|
|
|
|
<% if sale.account_id == account %>
|
|
|
|
|
<b><%= total %></b>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% end %>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<% acc_arr.push(sale.account_id) %>
|
|
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
<tr>
|
|
|
|
|
<td> </td>
|
|
|
|
|
<% if !cate_arr.include?(sale.menu_category_id) %>
|
|
|
|
|
<td><%= sale.menu_category_name %></td>
|
|
|
|
|
<% cate_arr.push(sale.menu_category_id) %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<td> </td>
|
|
|
|
|
<% end %>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<td><%= sale.code rescue '-' %></td>
|
|
|
|
|
<% if @item_table == 'sale' %>
|
|
|
|
|
<% if sale.item_remark == 'FOC' %>
|
|
|
|
|
<td><%= '[PROMO] '.to_s + sale.product_name.to_s rescue '-' %></td>
|
|
|
|
|
<% elsif sale.item_remark == 'FOC ITEM' %>
|
|
|
|
|
<td><%= '[DIS:QTY] '.to_s + sale.product_name.to_s rescue '-' %></td>
|
|
|
|
|
<% elsif sale.item_remark == 'DISCOUNT' %>
|
|
|
|
|
<td><%= '[DIS:TP] '.to_s + sale.product_name.to_s rescue '-' %></td>
|
|
|
|
|
<% else %>
|
|
|
|
|
<td><%= sale.product_name.to_s rescue '-' %></td>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% if sale.item_remark == 'DISCOUNT' %>
|
|
|
|
|
<td> - </td>
|
|
|
|
|
<td> - </td>
|
|
|
|
|
<td><%= sale.total_price.abs rescue '-' %></td>
|
|
|
|
|
<% total_price += sale.total_price %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<td><%= sale.total_item.abs rescue '-' %></td>
|
|
|
|
|
<td><%= sale.unit_price rescue '-' %></td>
|
|
|
|
|
<td><%= sale.grand_total.abs rescue '-' %></td>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% else %>
|
|
|
|
|
<td><%= sale.product_name.to_s rescue '-' %></td>
|
|
|
|
|
<td><%= sale.total_item.abs rescue '-' %></td>
|
|
|
|
|
<td><%= sale.unit_price rescue '-' %></td>
|
|
|
|
|
<td><%= sale.grand_total.abs rescue '-' %></td>
|
|
|
|
|
<% end %>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
<!-- sub total -->
|
|
|
|
|
<% @menu_cate_count.each do |key,value| %>
|
|
|
|
|
<% if sale.menu_category_id == key %>
|
|
|
|
|
<% count = count + 1 %>
|
|
|
|
|
<% sub_total += sale.grand_total %>
|
|
|
|
|
<% if count == value %>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="5"> </td>
|
|
|
|
|
<td>Sub Total</td>
|
|
|
|
|
<td ><span class="underline"><%= sub_total + total_price %></span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<% sub_total = 0.0%>
|
|
|
|
|
<% total_discount = total_discount + total_price %>
|
|
|
|
|
<% total_price = 0.0%>
|
|
|
|
|
<% count = 0%>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% end %>
|
|
|
|
|
<% end %>
|
|
|
|
|
<!-- end sub total -->
|
|
|
|
|
<% grand_total += sale.grand_total%>
|
|
|
|
|
<% end %>
|
|
|
|
|
<tr>
|
|
|
|
|
<td colspan="5"> </td>
|
|
|
|
|
<td>Grand Total</td>
|
|
|
|
|
<td><span class="double_underline"><%= grand_total + total_discount %></span></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
|
|
|
|
<% end %>
|
|
|
|
|
</div>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|