class Reports::ShiftsaleController < BaseReportController
	authorize_resource :class => false
  
  def index

    from, to  = get_date_range_from_params
    @shift = ''
    if params[:shift_name].to_i != 0
            @shift = ShiftSale.find(params[:shift_name])
    end
    @sale_data = Sale.get_by_shiftsales(from,to,@shift) 
    @from       = from
    @to         = to
    if @shift.present?

          @shift_from = @shift.shift_started_at.nil? ? '-' : @shift.shift_started_at.utc.getlocal.strftime("%e %b %I:%M%p")
          @shift_to = @shift.shift_closed_at.nil? ? '-' : @shift.shift_closed_at.utc.getlocal.strftime("%e %b %I:%M%p")
          @shift_data = @shift
    end
    # get printer info
    @print_settings = PrintSetting.get_precision_delimiter()
	  respond_to do |format|
      format.html
      format.xls
    end
  end
  
  def show
    from, to  = get_date_range_from_params

      @sale_data = Sale.get_by_shift_sale_by_item(from,to,Sale::SALE_STATUS_COMPLETED)

      date_arr = Array.new
      @sale_data.each do |sale|
        local_opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc.getlocal.strftime("%e %b %I:%M%p")
        local_closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc.getlocal.strftime("%e %b %I:%M%p")
        opening_date = sale.opening_date.nil? ? '-' : sale.opening_date.utc
        closing_date = sale.closing_date.nil? ? '-' : sale.closing_date.utc
        shift_id = sale.id.nil? ? '-' : sale.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

