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 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,current_shop) end end