diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 0f16b981..e3122ded 100755 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -184,7 +184,11 @@ puts items_arr.to_json @status, @sale = Sale.request_bill(@order,current_user,current_login_employee) # for second display - ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale" + if ENV["SERVER_MODE"] != 'cloud' + + ActionCable.server.broadcast "second_display_channel",data: @sale,status:"sale" + + end result = {:status=> @status, :data => @sale } render :json => result.to_json end diff --git a/app/controllers/origami/second_display_controller.rb b/app/controllers/origami/second_display_controller.rb index a2bf34fd..4f2c06f8 100644 --- a/app/controllers/origami/second_display_controller.rb +++ b/app/controllers/origami/second_display_controller.rb @@ -13,8 +13,9 @@ class Origami::SecondDisplayController < BaseOrigamiController else tax_profiles = nil end - - ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status] + if ENV["SERVER_MODE"] != 'cloud' + ActionCable.server.broadcast "second_display_view_channel",data: params[:data],tax_profiles: tax_profiles,status:params[:status] + end end #Shop Name in Navbor helper_method :shop_detail diff --git a/app/models/order.rb b/app/models/order.rb index fcc8b6c2..e4ab883b 100755 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -285,28 +285,13 @@ class Order < ApplicationRecord #Process order items and send to order queue def process_order_queue - #Send to background job for processing - order = Order.find(self.id) - cup_status = `#{"sudo service cups status"}` - print_status = check_cup_status(cup_status) - sidekiq = Lookup.find_by_lookup_type("sidekiq") - - if print_status - if !sidekiq.nil? - OrderQueueProcessorJob.perform_later(self.id, self.table_id) - else - if order - oqs = OrderQueueStation.new - oqs.process_order(order, self.table_id, self.source) - end - assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) - ActionCable.server.broadcast "order_queue_station_channel",order: assign_order - end - else - cup_start = `#{"sudo service cups start"}` + if ENV["SERVER_MODE"] != 'cloud' + #Send to background job for processing + order = Order.find(self.id) cup_status = `#{"sudo service cups status"}` print_status = check_cup_status(cup_status) - + sidekiq = Lookup.find_by_lookup_type("sidekiq") + if print_status if !sidekiq.nil? OrderQueueProcessorJob.perform_later(self.id, self.table_id) @@ -315,40 +300,61 @@ class Order < ApplicationRecord oqs = OrderQueueStation.new oqs.process_order(order, self.table_id, self.source) end - assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) - ActionCable.server.broadcast "order_queue_station_channel",order: assign_order + # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) + # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order end else - msg = ' Print Error ! Please contact to service' - ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error' + cup_start = `#{"sudo service cups start"}` + cup_status = `#{"sudo service cups status"}` + print_status = check_cup_status(cup_status) + + if print_status if !sidekiq.nil? - OrderQueueProcessorJob.perform_later(self.id, self.table_id) + OrderQueueProcessorJob.perform_later(self.id, self.table_id) else if order oqs = OrderQueueStation.new oqs.process_order(order, self.table_id, self.source) end - assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) - ActionCable.server.broadcast "order_queue_station_channel",order: assign_order + # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) + # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order end + else + msg = ' Print Error ! Please contact to service' + ActionCable.server.broadcast "call_waiter_channel",table: msg,time:'print_error' + if !sidekiq.nil? + OrderQueueProcessorJob.perform_later(self.id, self.table_id) + else + if order + oqs = OrderQueueStation.new + oqs.process_order(order, self.table_id, self.source) + end + # assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) + # ActionCable.server.broadcast "order_queue_station_channel",order: assign_order + end + end end + assign_order = AssignedOrderItem.assigned_order_item_by_job(self.id) + ActionCable.server.broadcast "order_queue_station_channel",order: assign_order end - + end #Process order items and send to order queue def self.pay_process_order_queue(id,table_id) - sidekiq = Lookup.find_by_lookup_type("sidekiq") - if !sidekiq.nil? - OrderQueueProcessorJob.perform_later(id, table_id) - else - order = Order.find(id) - if order - oqs = OrderQueueStation.new - oqs.process_order(order, table_id) + if ENV["SERVER_MODE"] != 'cloud' + sidekiq = Lookup.find_by_lookup_type("sidekiq") + if !sidekiq.nil? + OrderQueueProcessorJob.perform_later(id, table_id) + else + order = Order.find(id) + if order + oqs = OrderQueueStation.new + oqs.process_order(order, table_id) + end + assign_order = AssignedOrderItem.assigned_order_item_by_job(id) + ActionCable.server.broadcast "order_queue_station_channel",order: assign_order end - assign_order = AssignedOrderItem.assigned_order_item_by_job(id) - ActionCable.server.broadcast "order_queue_station_channel",order: assign_order end end diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index 7c736299..9e6cb2f9 100755 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -786,7 +786,6 @@ $(".choose_payment").on('click', function () { $( "#loading_wrapper").show(); - alert(parseInt(jQuery.inArray("PAYMAL", type))); var sale_id = $('#sale_id').val(); // type = $('.payment_method').val(); diff --git a/db/migrate/20180306044939_create_receipts.rb b/db/migrate/20180306044939_create_receipts.rb index 22f3b0fa..13c7ccfe 100644 --- a/db/migrate/20180306044939_create_receipts.rb +++ b/db/migrate/20180306044939_create_receipts.rb @@ -5,10 +5,13 @@ class CreateReceipts < ActiveRecord::Migration[5.1] t.string :client_name, :null => false t.string :shop_code, :limit => 16, :null => false t.string :shop_name, :null => false - t.integer :receipt_no, :limit => 8, :null => false + t.string :receipt_no, :null => false t.datetime :transaction_time, :null => false t.datetime :receipt_open_time, :null => false t.datetime :receipt_close_time, :null => false + t.string :shift_id, :null => false + t.datetime :shift_open_time, :null => false + t.datetime :shift_close_time, :null => false t.decimal :gross_sales, :null => false, :default => 0 t.decimal :discount_amount, :null => false, :default => 0 t.decimal :sales, :null => false, :default => 0 diff --git a/lib/tasks/clear_data.rake b/lib/tasks/clear_data.rake index 247992be..cd4fec49 100755 --- a/lib/tasks/clear_data.rake +++ b/lib/tasks/clear_data.rake @@ -18,6 +18,8 @@ namespace :clear do DiningFacility.update_all(status:'available') CashierTerminal.update_all(is_currently_login: 0) SeedGenerator.where("id > 1").update(:current => 0, :next => 0) + Receipt.delete_all + ReceiptDetail.delete_all puts "Clear Data Done." end diff --git a/lib/tasks/receipt.rake b/lib/tasks/receipt.rake index fa24f481..d23efea6 100644 --- a/lib/tasks/receipt.rake +++ b/lib/tasks/receipt.rake @@ -3,18 +3,23 @@ namespace :consolidate do task :receipt => :environment do Receipt.delete_all sales = Sale.all_receipts - + shop = Shop.find(1) sales.each do |sale| + puts sale.to_json + shift = ShiftSale.find(sale.shift_sale_id) receipt = Receipt.new - receipt.client_code = shop.id - receipt.client_name = shop.id - receipt.shop_code = shop.id - receipt.shop_name = shop.id + receipt.client_code = shop.client_code + receipt.client_name = shop.client_name + receipt.shop_code = shop.shop_code + receipt.shop_name = shop.name receipt.receipt_no = sale.receipt_no receipt.transaction_time = sale.requested_at #requet-at receipt.receipt_open_time = sale.requested_at #before disco/after tax /after/ser_char receipt.receipt_close_time = sale.receipt_close_time + receipt.shift_id = sale.shift_sale_id + receipt.shift_open_time = shift.shift_started_at + receipt.shift_close_time = shift.shift_closed_at receipt.gross_sales = sale.total_amount + sale.total_tax #before disco/after tax /after/ser_char receipt.discount_amount = sale.total_discount + sale.item_discount receipt.sales = sale.grand_total #after disco/after tax /after/ser_char /no roundingadn @@ -96,10 +101,10 @@ namespace :consolidate do if sale_id != sale.sale_id && count !=0 receipt = ReceiptDetail.new - receipt.client_code = shop.id - receipt.client_name = shop.id - receipt.shop_code = shop.id - receipt.shop_name = shop.id + receipt.client_code = shop.client_code + receipt.client_name = shop.client_name + receipt.shop_code = shop.shop_code + receipt.shop_name = shop.name receipt.receipt_no = @receipt_no receipt.receipt_date = @requested_at #requet-at receipt.transaction_date = @requested_at #before disco/after tax /after/ser_char @@ -145,10 +150,10 @@ namespace :consolidate do discount_amount = (sale.status=="Discount") ? sale.price : 0 receipt = ReceiptDetail.new - receipt.client_code = shop.id - receipt.client_name = shop.id - receipt.shop_code = shop.id - receipt.shop_name = shop.id + receipt.client_code = shop.client_code + receipt.client_name = shop.client_name + receipt.shop_code = shop.shop_code + receipt.shop_name = shop.name receipt.receipt_no = sale.receipt_no receipt.receipt_date = sale.requested_at #requet-at receipt.transaction_date = sale.requested_at #before disco/after tax /after/ser_char @@ -195,10 +200,10 @@ namespace :consolidate do if count == sale_count receipt = ReceiptDetail.new - receipt.client_code = shop.id - receipt.client_name = shop.id - receipt.shop_code = shop.id - receipt.shop_name = shop.id + receipt.client_code = shop.client_code + receipt.client_name = shop.client_name + receipt.shop_code = shop.shop_code + receipt.shop_name = shop.name receipt.receipt_no = @receipt_no receipt.receipt_date = @requested_at #requet-at receipt.transaction_date = @requested_at #before disco/after tax /after/ser_char