From bad510c6b41e61a8ce55ab8d9d404397297317f6 Mon Sep 17 00:00:00 2001 From: Myat Zin Wai Maw Date: Wed, 15 Jan 2020 12:19:27 +0630 Subject: [PATCH] - --- app/controllers/api/orders_controller.rb | 75 +++++++++++------------- app/models/sale.rb | 2 +- 2 files changed, 36 insertions(+), 41 deletions(-) diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index edbb3f22..91798778 100755 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -96,50 +96,45 @@ class Api::OrdersController < Api::ApiController end } #end extra time - - # begin - @order = Order.new - @order.source = params[:order_source] - @order.order_type = params[:order_type] - @order.customer_id = params[:customer_id].present? ? params[:customer_id] : walkin.customer_id # for no customer id from mobile - @order.items = params[:order_items] - @order.guest = params[:guest_info] - @order.table_id = params[:table_id] # this is dining facilities's id - @order.new_booking = true - @order.waiters = current_login_employee.name - @order.employee_name = current_login_employee.name - - @order.is_extra_time = is_extra_time - @order.extra_time = extra_time - - #Create Table Booking or Room Booking - if booking.nil? || booking.sale_id.present? || booking.booking_status == 'moved' + Order.transaction do + # begin + @order = Order.new + @order.source = params[:order_source] + @order.order_type = params[:order_type] + @order.customer_id = params[:customer_id].present? ? params[:customer_id] : walkin.customer_id # for no customer id from mobile + @order.items = params[:order_items] + @order.guest = params[:guest_info] + @order.table_id = params[:table_id] # this is dining facilities's id @order.new_booking = true - else - @order.new_booking = false - @order.booking_id = booking.booking_id - end + @order.waiters = current_login_employee.name + @order.employee_name = current_login_employee.name - @status, @booking = @order.generate + @order.is_extra_time = is_extra_time + @order.extra_time = extra_time - if @status && @booking - Order.process_order_queue(@order.order_id,@order.table_id,@order.source) - if @order.source == 'app' - @status, @sale = Sale.request_bill(@order,current_user,current_login_employee) - end + #Create Table Booking or Room Booking + if booking.nil? || booking.sale_id.present? || booking.booking_status == 'moved' + @order.new_booking = true + else + @order.new_booking = false + @order.booking_id = booking.booking_id + end + + @status, @booking = @order.generate + + if @status && @booking + Order.process_order_queue(@order.order_id,@order.table_id,@order.source) + if @order.source == 'app' + @status, @sale = Sale.request_bill(@order,current_user,current_login_employee) + end + end + if @order.table_id.to_i > 0 + table = DiningFacility.find(@booking.dining_facility_id) + type = 'order' + from = getCloudDomain #get sub domain in cloud mode + ActionCable.server.broadcast "order_channel",table: table,type:type,from:from + end end - if @order.table_id.to_i > 0 - table = DiningFacility.find(@booking.dining_facility_id) - type = 'order' - from = getCloudDomain #get sub domain in cloud mode - ActionCable.server.broadcast "order_channel",table: table,type:type,from:from - end - # # for parallel order - # remoteIP = "" - # begin - # @status, @booking = @order.generate - # remoteIP = request.remote_ip - # end while request.remote_ip != remoteIP else return return_json_status_with_code(406, "Checkout time is over!") end diff --git a/app/models/sale.rb b/app/models/sale.rb index bf9fa2bd..ab929296 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -159,7 +159,7 @@ class Sale < ApplicationRecord }) end end - + puts sale.sale_items.to_json sale.orders << booking.orders sale.customer_id = booking.orders[0].customer_id