sale item report and rebate balance

This commit is contained in:
Aung Myo
2017-06-19 11:54:34 +06:30
parent faa6beb243
commit 675d83c80f
16 changed files with 391 additions and 137 deletions

View File

@@ -147,4 +147,5 @@ $(function(){
});
</script>

View File

@@ -32,16 +32,16 @@
<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;'>Void Amount</th>
<th style='text-align:center;'>Mpu Sales</th>
<th style='text-align:center;'>Master Sales</th>
<th style='text-align:center;'>Visa Sales</th>
<th style='text-align:center;'>Jcb Sales</th>
<th style='text-align:center;'>Paypar Sales</th>
<th style='text-align:center;'>Cash Sales</th>
<th style='text-align:center;'>Credit Sales</th>
<th style='text-align:center;'>FOC Sales</th>
<th style='text-align:center;'>(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>

View File

@@ -10,16 +10,16 @@
<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;'>Void Amount</th>
<th style='text-align:center;'>Mpu Sales</th>
<th style='text-align:center;'>Master Sales</th>
<th style='text-align:center;'>Visa Sales</th>
<th style='text-align:center;'>Jcb Sales</th>
<th style='text-align:center;'>Paypar Sales</th>
<th style='text-align:center;'>Cash Sales</th>
<th style='text-align:center;'>Credit Sales</th>
<th style='text-align:center;'>FOC Sales</th>
<th style='text-align:center;'>(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>

View File

@@ -1,20 +0,0 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li>Receipt List Report</li>
</ul>
</div>
<div class="container">
<%= render :partial=>'shift_sale_report_filter',
:locals=>{ :period_type => true, :shift_name => false, :report_path =>reports_receipt_no_index_path} %>
<hr />
</div>
<div class="container">
<div class="row">
<div class="col-md-12 text-right">
<a href="javascript:export_to('<%=reports_receipt_no_index_path%>.xls')" class = "btn btn-default">Export to Excel</a>
</div>
</div>
</div>

View File

@@ -18,7 +18,8 @@
<option value="9">Last year</option>
</select>
</div>
<div class="form-group col-md-2">
<input type="hidden" name="report_type" value="sale_item" id="sel_sale_type">
<!-- <div class="form-group col-md-2">
<label>Select Type</label>
<select name="sale_type" id="sel_sale_type" class="form-control">
<option value="0">All Sale Type</option>
@@ -28,7 +29,7 @@
<option value="4">Taxes Only</option>
<option value="5">Other Amount Only</option>
</select>
</div>
</div> -->
<div class="form-group col-md-3">
<!-- <label class="">Select Shift Period</label> -->
<label class="">From</label>
@@ -143,69 +144,13 @@ $(function(){
$('#frm_report').submit();
// window.location = url;
});
function export_to(path)
{
var form_params = $("#frm_report").serialize();
window.location = path+"?"+ form_params;
}
var item = $('#item').val();
var payment_type = $('#payment_type');
if(item == 'order'){
$('#cashier').hide();
$('#waiter').show();
if(payment_type){
$('#payment_type').hide();
}
}
else if(item == 'sale'){
$('#waiter').hide();
$('#cashier').show();
}
else{
$('#waiter').hide();
$('#cashier').show();
$("#item").val('sale');
}
});
//Reset the form to pervious values
$("#branch").val(<%=params[:branch]%>);
$("#waiter").val("<%=params[:waiter]%>");
$("#cashier").val(<%=params[:cashier]%>);
$("#product").val(<%=params[:product]%>);
$("#singer").val(<%=params[:singer]%>);
$("#item").val('<%=params[:item]%>');
$("#guest_role").val('<%=params[:guest_role]%>');
$("#from").val("<%=params[:from]%>");
$("#to").val("<%=params[:to]%>");
$("#sel_period").val(<%=params[:period]%>);
$("#sel_sale_type").val(<%=params[:sale_type]%>);
<% if params[:period_type] == 1 || params[:period_type] == "1" %>
$("#rd_period_type_1").attr("checked","checked");
<% else %>
$("#rd_period_type_0").attr("checked","checked");
<% end %>
$(".btn-group button").removeClass("active");
<% report_type = params[:report_type].blank? ? "0" : params[:report_type] %>
$("#btn_report_type_<%= report_type %>").addClass("active");
$('#item').change(function(){
var item = $('#item').val();
var payment_type = $('#payment_type');
if(item == 'sale'){
$('#waiter').hide();
$('#cashier').show();
if(payment_type){
$('#payment_type').show();
}
}
else{
$('#cashier').hide();
$('#waiter').show();
if(payment_type){
$('#payment_type').hide();
}
}
});
</script>

View File

@@ -0,0 +1,141 @@
<div class="page-header">
<ul class="breadcrumb">
<li><a href="<%= %>">Home</a></li>
<li>Daily Sale Report</li>
</ul>
</div>
<div class="container">
<%= render :partial=>'shift_sale_report_filter',
:locals=>{ :period_type => true, :shift_name => false, :report_path =>reports_sale_item_index_path} %>
<hr />
</div>
<div class="container">
<div class="row">
<div class="col-md-12 text-right">
<a href="javascript:export_to('<%=reports_sale_item_index_path%>.xls')" class = "btn btn-default">Export to Excel</a>
</div>
</div>
</div>
<div class="container margin-top-20">
<div class="card row">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Date</th>
<th id="date"></th>
</tr>
<tr>
<th>Menu Category</th>
<th>Code</th>
<th>Product</th>
<th>Total Item</th>
<th>Unit Price</th>
<th>Revenue</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
<script type="text/javascript">
$(function(){
var cate = [];
var y;
var count = 0;
var sub_total = 0;
var sub_total_arr = [];
<% @sale_data.each do |result| %>
count = count + 1;
if(count == 1)
$('#date').append('<%= result.date_name rescue '-'%>');
y = $.inArray(<%= result.menu_category_id %>, cate);
if(y == -1){
//add sub total row
sub_total_arr.push(sub_total);
var total_row = '<tr><td colspan="4"></td>'+
'<td > Sub Total</td> ' +
'<td><span class="underline">'+ sub_total +'</span></td>'+
'</tr>';
if(count != 1){
$('.table').append(total_row);
sub_total = 0;
}
cate.push(<%= result.menu_category_id %>);
var th = '<tr><td colspan="6"><%= result.menu_category_name rescue '-'%></td></tr>';
var tr = '<tr>'+
'<td></td>'+
'<td><%= result.code rescue '-'%></td>' +
'<td><%= result.product_name rescue '-'%></td>' +
'<td><%= result.total_item.to_i rescue '-'%></td>' +
'<td><%= number_with_precision(result.unit_price, :precision => 0) rescue '-'%></td>'+
'<td><%= number_with_precision(result.grand_total, :precision => 0) rescue '-'%>'+
'</td>'+
'</tr>';
$('.table').append(th);
$('.table').append(tr);
sub_total = parseInt(sub_total) + parseInt(<%= result.grand_total rescue '-'%>);
}
else{
var tr = '<tr>'+
'<td></td>'+
'<td><%= result.code rescue '-'%></td>' +
'<td><%= result.product_name rescue '-'%></td>' +
'<td><%= result.total_item.to_i rescue '-'%></td>' +
'<td><%= number_with_precision(result.unit_price, :precision => 0) rescue '-'%></td>'+
'<td><%= number_with_precision(result.grand_total, :precision => 0) rescue '-'%></td></tr>';
$('.table').append(tr);
sub_total = parseInt(sub_total) + parseInt(<%= result.grand_total rescue '-'%>);
}
<% end %>
last_line_subtotal(sub_total);
sub_total_arr.push(parseInt(sub_total));
grand_total(sub_total_arr);
})
function last_line_subtotal(sub_total){
var total_row = '<tr><td colspan="4"></td>'+
'<td > Sub Total</td> ' +
'<td><span class="underline">'+ sub_total +'</span></td>'+
'</tr>';
$('.table').append(total_row);
}
function grand_total(sub_total_arr){
var total = 0;
for(var i=0; i< sub_total_arr.length; i++){
//total_1 = (total_1) + (sub_total_arr[i]);
total = parseInt(total) + parseInt(sub_total_arr[i]);
}
var row = '<tr><td colspan="4"></td>'+
'<td > Grand Total</td> ' +
'<td><span class="double_underline">'+ total +'</span></td>'+
'</tr>';
$('.table').append(row);
}
</script>

View File

@@ -0,0 +1,116 @@
<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 %>
<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>
<% 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">&nbsp;</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">&nbsp;</td>
</tr>
<% end %>
</tbody>
<% end %>
</table>
</div>
</div>