diff --git a/app/controllers/reports/shiftsale_controller.rb b/app/controllers/reports/shiftsale_controller.rb index 5f13857d..6d8df8c6 100644 --- a/app/controllers/reports/shiftsale_controller.rb +++ b/app/controllers/reports/shiftsale_controller.rb @@ -1,4 +1,4 @@ -class Reports::ShiftsaleController < ApplicationController +class Reports::ShiftsaleController < BaseReportController # authorize_resource :class => false def index diff --git a/app/models/ability.rb b/app/models/ability.rb index 17c93020..12ce2174 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -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" diff --git a/app/models/sale.rb b/app/models/sale.rb index a05455c2..6ab83279 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -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 diff --git a/app/models/shift_sale.rb b/app/models/shift_sale.rb index 5d459f09..66c20ff2 100644 --- a/app/models/shift_sale.rb +++ b/app/models/shift_sale.rb @@ -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 diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index 558d35dd..fd951d6c 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -42,7 +42,7 @@