update shiftsale

This commit is contained in:
Aung Myo
2017-06-30 14:15:04 +06:30
parent 1d08954a76
commit 43b9bdc168
4 changed files with 95 additions and 35 deletions

View File

@@ -1,4 +1,4 @@
class Reports::ShiftsaleController < ApplicationController
class Reports::ShiftsaleController < BaseReportController
# authorize_resource :class => false
def index

View File

@@ -448,6 +448,63 @@ def self.get_by_shiftsales(from,to)
return ShiftSale.where("(shift_started_at between ? and ? OR shift_closed_at between ? and ? )", from, to, from, to)
end
# def self.get_by_shiftsales(employee,from,to)
# shift_sales = ShiftSale.select('shift_sales.id, cs.name as cashier_station_name, shift_sales.shift_started_at as opening_date, shift_sales.shift_closeed_at as closing_date')
# .joins(" INNER JOIN cashier_terminals cs ON cs.id = shift_sales.cashier_terminal_id")
# .where("shift_sales.employee_id = ? and (shift_sales.shift_started_at between ? and ? OR shift_sales.shift_closeed_at between ? and ? )", employee, from, to, from, to)
# .order("shift_sales.id DESC")
# sale_arr = Array.new
# shift_sales.each do |shift|
# all_total= Sale.select("grand_total,sr.payment_method, sr.payment_amount, rounding_adjustment")
# .joins("join employees e on sales.cashier_id = e.id join shift_sales sh on sh.id = sales.shift_sale_id")
# .joins("INNER JOIN (select * from sale_payments group by sale_payments.sale_id, sale_payments.payment_method) sr ON sr.sale_id = sales.sale_id")
# .where("sales.shift_sale_id =? and sales.sale_status = 'completed' and sales.total_amount != 0",shift.id)
# void = Sale.select("SUM(sales.grand_total) AS grand_total")
# .joins("join shift_sales sh on sh.id = sales.shift_sale_id")
# .where('sales.sales_status = "void" and sales.total_amount != 0 and sales.shift_sale_id = ?', shift.id)
# .sum(:grand_total)
# cash = all_total.select('sr.payment_type')
# .where('sr.payment_type = "cash"')
# .sum(:amount)
# credit = all_total.where('sr.payment_type = "credit"')
# .sum(:amount)
# accept_credit = all_total.select('ci.amout')
# .joins("INNER JOIN credit_items ci ON ci.sale_id = sales.id")
# .where('sr.payment_type = "credit"')
# .sum(:amout)
# foc = all_total.where('sales.payment_type = "foc" and sales.sales_status = "completed"')
# .sum(:grand_total)
# card = all_total.select('payment_type')
# .where('sr.payment_type = "card"')
# .sum(:amount).to_f
# rounding_adj = all_total.sum(:rounding_adjustment)
# discount = all_total.sum(:discount_amount)
# void = void.nil? ? 0 : void
# cash = cash.nil? ? 0 : cash
# credit = credit.nil? ? 0 : credit
# foc = foc.nil? ? 0 : foc
# card = card.nil? ? 0 : card
# accept_credit = accept_credit.nil? ? 0 : accept_credit
# # all_payments = void.to_d + cash.to_d + credit.to_d + foc.to_d + card.to_d + accept_credit.to_d
# all_payments = cash.to_d + credit.to_d + foc.to_d + card.to_d + accept_credit.to_d
# payments = { void_amount: void, cash_amount: cash, credit_amount: credit,accept_credit_amount: accept_credit, foc_amount: foc, card_amount: card, grand_total: all_payments , cashier_station_name: shift.cashier_station_name, opening_date: shift.opening_date, closing_date: shift.closing_date, rounding_adj: rounding_adj }
# sale_arr.push(payments)
# end
# return sale_arr
# end
private
def generate_custom_id

View File

@@ -42,7 +42,7 @@
<li><%= link_to "Daily Sale Report", reports_dailysale_index_path, :tabindex =>"-1" %></li>
<li><%= link_to "Sales Item Report", reports_saleitem_index_path, :tabindex =>"-1" %></li>
<li><%= link_to "Receipt Report", reports_receipt_no_index_path, :tabindex =>"-1" %></li>
<!-- <li><%= link_to "Shift Sale Report", reports_shiftsale_index_path, :tabindex =>"-1" %></li> -->
<li><%= link_to "Shift Sale Report", reports_shiftsale_index_path, :tabindex =>"-1" %></li>
</ul>
</li>
</ul>

View File

@@ -35,16 +35,17 @@
<tr>
<th>Cashier Station</th>
<th>Cashier Name</th>
<th>Shift Name</th>
<th>Void Amount</th>
<!-- <th>Void Amount</th> -->
<th>Cash Payment</th>
<th>Credit Charges</th>
<!-- <th>Credit Charges</th> -->
<th>Credit Payment</th>
<th>FOC Payment</th>
<!-- <th>FOC Payment</th> -->
<th>Card Payment</th>
<th>Grand Total +
<br/>Rounding Adj</th>
<th>Rounding Adj</th>
<!-- <br/>Rounding Adj --></th>
<!-- <th>Rounding Adj</th> -->
<th>Grand Total</th>
</tr>
</thead>
@@ -58,48 +59,50 @@
<% total = 0%>
<% rounding_adj = 0%>
<% g_total = 0 %>
<% @sale_data.each do |result| %>
<% @sale_data.each do |result|%>
<tr>
<td>
<%= result[:cashier_station_name] rescue '-'%>
<%= result.cashier_terminal.name rescue '-'%>
</td>
<td><%= result[:shift_started_at].strftime("%e %b %I:%M%p") rescue '-' %> -
<%= result[:shift_closed_at].strftime("%e %b %I:%M%p") rescue '-' %>
<td>
<%= result.employee.name rescue '-'%>
</td>
<td><%= result.shift_started_at.strftime("%e %b %I:%M%p") rescue '-' %> -
<%= result.shift_closed_at.strftime("%e %b %I:%M%p") rescue '-' %>
</td>
<!-- <td style='color:red;'>(<%= sprintf "%.2f",result[:void_amount].to_f.to_d rescue '-'%>)</td> -->
<td><%= sprintf "%.2f",result[:cash_amount].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:credit_amount].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:accept_credit_amount].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:foc_amount].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:card_amount].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:grand_total].to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result[:rounding_adj].to_f.to_d rescue '-'%></td>
<% grand_total = result[:grand_total].to_f - result[:rounding_adj].to_f %>
<td><%= sprintf "%.2f",grand_total.to_f.to_d rescue '-'%></td>
<!-- <td style='color:red;'>(<%= sprintf "%.2f",result.void_amount.to_f.to_d rescue '-'%>)</td> -->
<td><%= sprintf "%.2f",result.cash_sales.to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result.credit_sales.to_f.to_d rescue '-'%></td>
<!-- <td><%= sprintf "%.2f",result.accept_credit_amount.to_f.to_d rescue '-'%></td> -->
<!-- <td><%= sprintf "%.2f",result.foc_amount.to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result.card_amount.to_f.to_d rescue '-'%></td> -->
<td><%= sprintf "%.2f",result.other_sales.to_f.to_d rescue '-'%></td>
<td><%= sprintf "%.2f",result.grand_total.to_f.to_d rescue '-'%></td>
<!-- <td><%= sprintf "%.2f",result.rounding_adj.to_f.to_d rescue '-'%></td> -->
<% grand_total = result.grand_total.to_f %>
<td><%= sprintf "%.2f",grand_tota.to_f.to_d rescue '-'%></td>
</tr>
<% void += result[:void_amount].to_f %>
<% cash += result[:cash_amount].to_f %>
<% credit += result[:credit_amount].to_f %>
<% accept_credit += result[:accept_credit_amount].to_f %>
<% foc += result[:foc_amount].to_f %>
<% card += result[:card_amount].to_f %>
<% total += result[:grand_total].to_f %>
<% rounding_adj += result[:rounding_adj].to_f %>
<% cash += result.cash_sales.to_f %>
<% credit += result.credit_sales.to_f %>
<% card += result.other_sales.to_f %>
<% total += result.grand_total.to_f %>
<% g_total += grand_total.to_f %>
<% end %>
<tr style="border-top: 3px solid grey;">
<td colspan="2"></td>
<td style='color:red;'><b>(<%= sprintf("%.2f",void) rescue '-'%>)</b></td>
<td colspan="3"></td>
<!-- <td style='color:red;'><b>(<%= sprintf("%.2f",void) rescue '-'%>)</b></td> -->
<td><b><%= sprintf("%.2f",cash) rescue '-'%></b></td>
<td><b><%= sprintf("%.2f",credit) rescue '-'%></b></td>
<td><b><%= sprintf("%.2f",accept_credit) rescue '-'%></b></td>
<td><b><%= sprintf("%.2f",foc) rescue '-'%></b></td>
<!-- <td><b><%= sprintf("%.2f",accept_credit) rescue '-'%></b></td> -->
<!-- <td><b><%= sprintf("%.2f",foc) rescue '-'%></b></td> -->
<td><b><%= sprintf("%.2f",card) rescue '-'%></b></td>
<td><b><%= sprintf("%.2f",total) rescue '-'%></b></td>
<td><b><%= sprintf("%.2f",rounding_adj) rescue '-'%></b></td>
<!-- <td><b><%= sprintf("%.2f",rounding_adj) rescue '-'%></b></td> -->
<td><b><%= sprintf("%.2f",g_total) rescue '-'%></b></td>
</tr>
</tbody>