class Origami::MovetableController < BaseOrigamiController authorize_resource :class => false def move_dining @webview = check_mobile @tables = Table.all.active.order('status desc') @rooms = Room.all.active.order('status desc') @complete = Sale.where("DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = ? and sale_status != 'new'",Time.current.strftime('%Y-%m-%d')) @orders = Order.where("DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = ? and status != 'billed'",Time.current.strftime('%Y-%m-%d')).order('date desc') @dining = DiningFacility.find(params[:dining_id]) @status_order = "" @status_sale = "" @sale_array = Array.new @dining_booking = @dining.bookings.active.where("DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = '#{Time.current.strftime('%Y-%m-%d')}' OR DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = '#{Date.current.prev_day}' ") @dining_booking.each do |booking| if booking.sale_id.nil? @order_items = Array.new if booking.booking_status != 'moved' booking.booking_orders.each do |booking_order| order = Order.find(booking_order.order_id) @obj_order = order @customer = order.customer @date = order.created_at @booking= booking if order.status == 'new' order.order_items.each do |item| @order_items.push(item) end end accounts = @customer.tax_profiles @account_arr =[] accounts.each do |acc| account = TaxProfile.find_by_id(acc) if !account.nil? @account_arr.push(account) end end end end @status_order = 'order' # else # sale = Sale.find(booking.sale_id) # if sale.sale_status != "completed" && sale.sale_status != "waste" && sale.sale_status != "spoile" # @sale_array.push(sale) # if @status_order == 'order' # @status_order = 'sale' # end # @booking= booking # @date = sale.created_at # @status_sale = 'sale' # @obj_sale = sale # @customer = sale.customer # accounts = @customer.tax_profiles # @account_arr =[] # accounts.each do |acc| # account = TaxProfile.find_by_id(acc) # @account_arr.push(account) # end # end end end end def moving change_to = params[:change_to] #new change_from = params[:change_from] #original # bookings = Booking.where('dining_facility_id=?',change_from) bookings = Booking.where("((DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = '#{Time.current.strftime('%Y-%m-%d')}' OR DATE_FORMAT(CONVERT_TZ(created_at, '+00:00', '<%= Time.zone.formatted_offset %>'), '%Y-%m-%d') = '#{Date.current.prev_day}')) AND dining_facility_id='#{change_from}'") booking_array = Array.new order_items = Array.new if !bookings.nil? bookings.each do | booking | if booking.sale_id.nil? && booking.booking_status != 'moved' booking_array.push(booking) end booking.booking_orders.each do |booking_order| order = Order.find(booking_order.order_id) if order.status == 'new' oqs = OrderQueueStation.new oqs.process_order(order, change_from, order.source, 'move',change_to,current_user.name) # order.order_items.each do |order_item| # order_items.push(order_item) # end end end end end @get_type = Booking.update_dining_facility(booking_array,change_to,change_from) # if ENV["SERVER_MODE"] != "cloud" #no print in cloud server # # get printer info # @from = (DiningFacility.find(change_from)).name # @to = (DiningFacility.find(change_to)).name # @type = (DiningFacility.find(change_to)).type # @moved_by = @current_user.name # @date = Time.current # @shop = @shop # unique_code = "MoveTablePdf" # pdf_no = PrintSetting.where(:unique_code => unique_code).count # #print_settings = PrintSetting.find_by_unique_code(unique_code) # printer_array = [] # printer_array = PrintSetting.where(:unique_code => unique_code) # for i in 0..pdf_no # if i != pdf_no # print_settings = printer_array[i] # printer = Printer::ReceiptPrinter.new(print_settings) # printer.print_move_table(print_settings,@to,@from ,@shop,@date,@type,@moved_by,order_items) # end # end # end type = 'move' from = getCloudDomain #get sub domain in cloud mode ActionCable.server.broadcast "order_channel",table: change_from,type:type,from:from ,change_to:change_to end #get cloud domain def getCloudDomain from = "" if ENV["SERVER_MODE"] == 'cloud' from = request.subdomain + "." + request.domain end return from end end