67 lines
2.7 KiB
Ruby
67 lines
2.7 KiB
Ruby
class Reports::IndutyController < BaseReportController
|
|
authorize_resource :class => false
|
|
def index
|
|
@commissioners = Commissioner.where("shop_code='#{@shop.shop_code}'") #.where("is_active='1'")
|
|
|
|
from, to = get_date_range_from_params
|
|
|
|
@shift_sale_range = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED).where("shift_sales.shop_code='#{@shop.shop_code}'")
|
|
|
|
@shift = ''
|
|
if params[:shift_name].to_i != 0
|
|
shift_sale = ShiftSale.find(params[:shift_name])
|
|
if to.blank?
|
|
@shift = ShiftSale.where("shift_started_at = ? and shift_closed_at is NULL and shop_code='#{@shop.shop_code}' ",shift_sale.shift_started_at)
|
|
else
|
|
|
|
@shift = ShiftSale.where("shift_started_at = ? and shift_closed_at = ? and shop_code='#{@shop.shop_code}' ",shift_sale.shift_started_at, shift_sale.shift_closed_at)
|
|
end
|
|
end
|
|
|
|
@commissioner = params[:commissioner]
|
|
@induty_data = InDuty.get_induty_by_shift(@shift_sale_range,@shift,from,to,@commissioner).where("sales.shop_code='#{@shop.shop_code}'")
|
|
|
|
@from = from
|
|
@to = to
|
|
# get printer info
|
|
# @print_settings = PrintSetting.get_precision_delimiter()
|
|
|
|
if @shift.present?
|
|
@shift.each do |sh|
|
|
@shift_from = sh.shift_started_at.nil? ? '-' : sh.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
@shift_to = sh.shift_closed_at.nil? ? '-' : sh.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
@shift_data = sh
|
|
end
|
|
end
|
|
|
|
respond_to do |format|
|
|
format.html
|
|
format.xls
|
|
end
|
|
end
|
|
|
|
def show
|
|
from, to = get_date_range_from_params
|
|
|
|
@induty_data = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED).where("shift_sales.shop_code='#{@shop.shop_code}'")
|
|
@commissioner = params[:commissioner]
|
|
|
|
date_arr = Array.new
|
|
@induty_data.each do |induty|
|
|
local_opening_date = induty.opening_date.nil? ? '-' : induty.opening_date.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
local_closing_date = induty.closing_date.nil? ? '-' : induty.closing_date.utc.getlocal.strftime("%e %b %I:%M%p")
|
|
opening_date = induty.opening_date.nil? ? '-' : induty.opening_date.utc
|
|
closing_date = induty.closing_date.nil? ? '-' : induty.closing_date.utc
|
|
shift_id = induty.id.nil? ? '-' : induty.id
|
|
str = {:shift_id => shift_id, :local_opening_date => local_opening_date, :local_closing_date => local_closing_date, :opening_date => opening_date, :closing_date => closing_date}
|
|
date_arr.push(str)
|
|
end
|
|
|
|
out = {:status => 'ok', :message => date_arr}
|
|
|
|
respond_to do |format|
|
|
format.json { render json: out }
|
|
end
|
|
end
|
|
end
|