From 81a387e5224cd8bed49f232c331f5f7674550699 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Tue, 7 Aug 2018 09:33:26 +0630 Subject: [PATCH] update multiple zone with terminal --- app/controllers/api/bill_controller.rb | 18 +++++++----------- app/models/sale.rb | 11 +++++++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/app/controllers/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index b71d3460..9ad9c5ee 100755 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -18,24 +18,20 @@ class Api::BillController < Api::ApiController order = Order.find(bk_order.order_id) cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) - puts cashier_zone.to_json - puts "cashier_zone" + shift = ShiftSale.where("shift_started_at is not null and shift_closed_at is null and cashier_terminal_id = #{cashier_zone.cashier_terminal_id}").first + + #for multiple zone with terminal if !shift.nil? cashier = Employee.find(shift.employee_id) else - multiple_zone = CashierTerminalByZone.where('zone_id = #{cashier_zone.zone_id}') - puts cashier_zone.to_json - puts "cashier_zone" + 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 - puts shift.to_json - puts "shift" - if !shift.nil? then - cashier = Employee.find(shift.employee_id) + if !shift.nil? then + cashier = Employee.find(shift.employee_id) break - end - + end end end diff --git a/app/models/sale.rb b/app/models/sale.rb index 1f2d591a..31b16253 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -86,6 +86,17 @@ class Sale < ApplicationRecord table = DiningFacility.find(booking.dining_facility_id) cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id) shift = ShiftSale.where("shift_started_at is not null and shift_closed_at is null and cashier_terminal_id = #{cashier_zone.cashier_terminal_id}").first + #for multiple zone with terminal + if shift.nil? + 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? then + break + end + end + end + else open_cashier = Employee.where("role = 'cashier' AND token_session <> ''") current_shift = ShiftSale.current_shift