diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index e1eff050..c56f2d09 100755 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -63,6 +63,9 @@ class Api::BillController < Api::ApiController #check checkInOut pdf print check_booking = Booking.find_by_sale_id(@sale_id) checkout_time = Lookup.collection_of('checkout_time') + terminal = DiningFacility.find_by_id(check_booking.dining_facility_id) + cashier_terminal = CashierTerminal.find_by_id(terminal.zone_id) + if (!checkout_time.empty?) && (ENV["SERVER_MODE"] != "cloud") #no print in cloud server unique_code = "CheckInOutPdf" @@ -72,7 +75,7 @@ class Api::BillController < Api::ApiController order_queue_printer = Printer::OrderQueuePrinter.new(printer) if !printer.nil? - order_queue_printer.print_check_in_out(printer, check_booking, table) + order_queue_printer.print_check_in_out(printer,cashier_terminal , check_booking, table) end end diff --git a/app/controllers/api/check_in_process_controller.rb b/app/controllers/api/check_in_process_controller.rb index 1b8650f1..fe98cf2a 100644 --- a/app/controllers/api/check_in_process_controller.rb +++ b/app/controllers/api/check_in_process_controller.rb @@ -76,9 +76,11 @@ class Api::CheckInProcessController < Api::ApiController dining_facility.status = "occupied" dining_facility.save! end + terminal = DiningFacility.find_by_id(booking.dining_facility_id) + cashier_terminal = CashierTerminal.find_by_id(terminal.zone_id) if ENV["SERVER_MODE"] != "cloud" #no print in cloud server - + unique_code = "CheckInOutPdf" printer = PrintSetting.find_by_unique_code(unique_code) @@ -86,7 +88,7 @@ class Api::CheckInProcessController < Api::ApiController order_queue_printer = Printer::OrderQueuePrinter.new(printer) if !printer.nil? - order_queue_printer.print_check_in_out(printer, booking, dining_facility) + order_queue_printer.print_check_in_out(printer, cashier_terminal, booking, dining_facility) end end render :json => { :status => true, :checkout_at => booking.checkout_at.utc.getlocal.strftime("%Y-%m-%d %H:%M") } diff --git a/app/controllers/origami/check_in_process_controller.rb b/app/controllers/origami/check_in_process_controller.rb index 3d6b6d14..92fd8142 100644 --- a/app/controllers/origami/check_in_process_controller.rb +++ b/app/controllers/origami/check_in_process_controller.rb @@ -4,6 +4,7 @@ class Origami::CheckInProcessController < BaseOrigamiController lookup_checkout_time = Lookup.collection_of("checkout_time") today = Time.now.utc.getlocal checkout_at = Time.now.utc.getlocal + if !lookup_checkout_time.empty? lookup_checkout_time.each do |checkout_time| arr_time = checkout_time[0].split("-") @@ -26,26 +27,28 @@ class Origami::CheckInProcessController < BaseOrigamiController @booking = Booking.create({:dining_facility_id => params[:dining_id],:type => "TableBooking", :checkin_by=>current_login_employee.name,:checkin_at => Time.now.utc,:checkout_at =>checkout_at, :booking_status => "assign", :reserved_at => checkout_at, :reserved_by => current_login_employee.name }) + cashier_terminal = CashierTerminal.find_by_id(@dining_facility.zone_id) + if @booking.save! @dining_facility.status = "occupied" @dining_facility.save! end + + if ENV["SERVER_MODE"] != "cloud" #no print in cloud server + printer = PrintSetting.find_by_unique_code("CheckInOutPdf") + unique_code = "CheckInOutPdf" + booking = Booking.find_by_booking_id(@booking.booking_id) + table = DiningFacility.find(params[:dining_id]) + + # print when complete click + order_queue_printer = Printer::OrderQueuePrinter.new(printer) + + if !printer.nil? + order_queue_printer.print_check_in_out(printer, cashier_terminal, booking, table) + end + end end - if ENV["SERVER_MODE"] != "cloud" #no print in cloud server - - printer = PrintSetting.find_by_unique_code("CheckInOutPdf") - unique_code = "CheckInOutPdf" - booking = Booking.find_by_booking_id(@booking.booking_id) - table = DiningFacility.find(params[:dining_id]) - - # print when complete click - order_queue_printer = Printer::OrderQueuePrinter.new(printer) - - if !printer.nil? - order_queue_printer.print_check_in_out(printer, booking, table) - end - end end respond = {:status => 'ok'} respond_to do |format| diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb index 5b71141e..22c8d25c 100755 --- a/app/controllers/origami/request_bills_controller.rb +++ b/app/controllers/origami/request_bills_controller.rb @@ -70,6 +70,9 @@ class Origami::RequestBillsController < ApplicationController #check checkInOut pdf print check_booking = Booking.find_by_sale_id(@sale_id) checkout_time = Lookup.collection_of('checkout_time') + terminal = DiningFacility.find_by_id(check_booking.dining_facility_id) + cashier_terminal = CashierTerminal.find_by_id(terminal.zone_id) + if (!checkout_time.empty?) && (ENV["SERVER_MODE"] != "cloud") #no print in cloud server unique_code = "CheckInOutPdf" printer = PrintSetting.find_by_unique_code(unique_code) @@ -78,7 +81,7 @@ class Origami::RequestBillsController < ApplicationController order_queue_printer = Printer::OrderQueuePrinter.new(printer) if !printer.nil? - order_queue_printer.print_check_in_out(printer, check_booking, table) + order_queue_printer.print_check_in_out(printer, cashier_terminal, check_booking, table) end end end diff --git a/app/models/printer/order_queue_printer.rb b/app/models/printer/order_queue_printer.rb index 504dfab2..267772f2 100755 --- a/app/models/printer/order_queue_printer.rb +++ b/app/models/printer/order_queue_printer.rb @@ -299,7 +299,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker end # Check in-out time - def print_check_in_out(print_settings,booking, table) + def print_check_in_out(print_settings, cashier_terminal, booking, table) #Use CUPS service #Generate PDF #Print @@ -330,7 +330,7 @@ class Printer::OrderQueuePrinter < Printer::PrinterWorker #no print in cloud server if ENV["SERVER_MODE"] != "cloud" - self.print(filename, print_settings.printer_name) + self.print(filename, cashier_terminal.printer_name) end end end diff --git a/app/models/sale.rb b/app/models/sale.rb index 129c211c..848245a7 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -163,9 +163,7 @@ class Sale < ApplicationRecord booking.sale_id = self.id if !booking.checkout_at.nil? - if booking.checkout_at < Time.now.utc.getlocal booking.checkout_at = Time.now.utc.getlocal - end else booking.checkout_at = Time.now.utc.getlocal end