79 lines
2.6 KiB
Ruby
Executable File
79 lines
2.6 KiB
Ruby
Executable File
class Origami::ShiftsController < ApplicationController#BaseOrigamiController
|
|
def index
|
|
end
|
|
|
|
def show
|
|
@shift = ShiftSale.current_open_shift(current_user.id)
|
|
end
|
|
|
|
def new
|
|
@float = Lookup.where('lookup_type=?','float_value')
|
|
@terminal = CashierTerminal.all
|
|
end
|
|
|
|
def create
|
|
opening_balance = params[:opening_balance]
|
|
cashier_terminal = params[:cashier_terminal]
|
|
@shift = ShiftSale.new
|
|
@shift.create(opening_balance,cashier_terminal, current_user)
|
|
end
|
|
|
|
def update_shift
|
|
closing_balance = params[:closing_balance]
|
|
shift_id = params[:shift_id]
|
|
@shift = ShiftSale.find_by_id(shift_id)
|
|
if @shift
|
|
@shift.shift_closed_at = DateTime.now.utc
|
|
@shift.closing_balance = closing_balance.to_f
|
|
@shift.save
|
|
|
|
unique_code = "CloseCashierPdf"
|
|
shop_details = Shop.find(1)
|
|
#get tax
|
|
shift_obj = ShiftSale.where('id =?',@shift.id)
|
|
@sale_taxes = Sale.get_separate_tax(shift_obj,from=nil,to=nil,type='')
|
|
#other payment details for mpu or visa like card
|
|
@other_payment = ShiftSale.get_by_shift_other_payment(@shift)
|
|
|
|
# Calculate price_by_accounts
|
|
@total_amount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'amount')
|
|
@total_discount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'discount')
|
|
@total_member_discount = ShiftSale.get_total_member_discount(@shift)
|
|
# get printer info
|
|
print_settings = PrintSetting.find_by_unique_code(unique_code)
|
|
|
|
printer = Printer::CashierStationPrinter.new(print_settings)
|
|
|
|
printer.print_close_cashier(print_settings,@shift,shop_details,@sale_taxes,@other_payment,@total_amount_by_account,@total_discount_by_account,@total_member_discount)
|
|
|
|
|
|
end
|
|
Employee.logout(session[:session_token])
|
|
session[:session_token] = nil
|
|
end
|
|
|
|
def edit
|
|
end
|
|
|
|
def sale_summary
|
|
@shift = ShiftSale.current_open_shift(current_user.id)
|
|
|
|
# @shift = ShiftSale.find_by_id(shift_id)
|
|
if @shift
|
|
#get tax
|
|
shift_obj = ShiftSale.where('id =?',@shift.id)
|
|
@sale_taxes = Sale.get_separate_tax(shift_obj,from=nil,to=nil,type='')
|
|
#other payment details for mpu or visa like card
|
|
@other_payment = ShiftSale.get_by_shift_other_payment(@shift)
|
|
|
|
# Calculate price_by_accounts
|
|
@total_amount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'amount')
|
|
@total_discount_by_account = ShiftSale.calculate_total_price_by_accounts(@shift,'discount')
|
|
@total_member_discount = ShiftSale.get_total_member_discount(@shift)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|