Files
sx-fc/app/controllers/api/call_waiters_controller.rb

35 lines
1.2 KiB
Ruby

class Api::CallWaitersController < ActionController::API
#List all active customers by name
def index
@table_id = params[:dining_id]
@time = params[:time]
@table = DiningFacility.find(@table_id)
shift_ids = []
#for multiple zone with terminal
multiple_zone = CashierTerminalByZone.where("zone_id = #{@table.zone_id}")
multiple_zone.each do |zone|
shift = ShiftSale.where("shift_started_at is not null and shift_closed_at is null and cashier_terminal_id = #{zone.cashier_terminal_id}").first
if !shift.nil?
shift_ids.push(shift.id)
end
end
# CallWaiterJob.perform_later(@table,@time)
if ENV["SERVER_MODE"] == 'cloud'
from = request.subdomain + "." + request.domain
else
from = ""
end
ActionCable.server.broadcast "call_waiter_channel",table: @table,time:@time,from: from, shift_ids: shift_ids
# get printer info
@shop = Shop.first
unique_code = "CallWaiterPdf"
print_settings = PrintSetting.find_by_unique_code(unique_code)
printer = Printer::ReceiptPrinter.new(print_settings)
printer.print_call_waiter(print_settings,@table,@time,@shop)
end
end