merge with crm

This commit is contained in:
Yan
2017-06-30 16:04:57 +06:30
6 changed files with 105 additions and 90 deletions

View File

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

View File

@@ -92,6 +92,11 @@ class Ability
can :moving, :movetable
can :move_dining, :moveroom
can :first_bill, :payment
can :show, :payment
can :create, :payment
can :reprint, :payment
elsif user.role == "accountant"

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
def get_cash_amount
cash = 0.0
self.sale_payments.each do |pay|
@@ -487,7 +544,6 @@ end
end
end
private
def generate_custom_id

View File

@@ -20,8 +20,8 @@ class ShiftSale < ApplicationRecord
#if current_user
#find open shift where is open today and is not closed and login by current cashier
today_date = DateTime.now.strftime("%Y-%m-%d")
puts today_date
shift = ShiftSale.where("Date(shift_started_at)=#{today_date} and shift_started_at is not null and shift_closed_at is null and employee_id = #{current_user}").take
shift = ShiftSale.where("DATE(shift_started_at)= #{ today_date } and shift_started_at is not null and shift_closed_at is null and employee_id = #{current_user}").take
return shift
#end

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>Card Payment</th>
<th>Grand Total +
<br/>Rounding Adj</th>
<th>Rounding Adj</th>
<!-- <th>FOC Payment</th> -->
<th>Other Payment</th>
<!-- <th>Grand Total
<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",total) rescue '-'%></b></td> -->
<!-- <td><b><%= sprintf("%.2f",rounding_adj) rescue '-'%></b></td> -->
<td><b><%= sprintf("%.2f",g_total) rescue '-'%></b></td>
</tr>
</tbody>
@@ -109,52 +112,3 @@
</div>
<script>
$(function(){
var check_arr = [];
var search = '<%= params[:period_type] %>';
if(search){
if(parseInt(search) == 0){
search_by_period();
}
else{
search_by_date();
}
}else{
search_by_period();
}
$('#sel_period').change(function(){
search_by_period();
});
function search_by_period(){
var period = $('#sel_period').val();
var period_type = 0;
var from = "";
var to = "";
}
$('#from').change(function(){
search_by_date();
});
$('#to').change(function(){
search_by_date();
});
function search_by_date(){
var from = $('#from').val();
var to = $('#to').val();
var period = 0;
var period_type = 1;
if(to != '' && from != ''){
shift_name = from + ',' + to;
check_arr.push(to);
// console.log(check_arr.length)
if(check_arr.length == 1){
}
if(check_arr.length == 3){
check_arr = [];
}
}
}
});
</script>