update open cashier multiple

This commit is contained in:
Aung Myo
2018-08-08 14:18:47 +06:30
parent 8cdb2d53b4
commit 6b7cee2924

View File

@@ -81,11 +81,15 @@ class Sale < ApplicationRecord
#Default Tax - Values
self.tax_type = "exclusive"
# current cashier login
open_cashier = Employee.where("role = 'cashier' AND token_session <> ''")
current_shift = ShiftSale.current_shift
# shift with terminal zone
table = DiningFacility.find(booking.dining_facility_id)
cashier_zone = CashierTerminalByZone.find_by_zone_id(table.zone_id)
# set cashier
if order_source.downcase == "emenu"
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?
@@ -98,17 +102,18 @@ class Sale < ApplicationRecord
end
end
else
open_cashier = Employee.where("role = 'cashier' AND token_session <> ''")
current_shift = ShiftSale.current_shift
shift = ShiftSale.current_open_shift(cashier.id)
end
# set cashier
if shift != nil
if shift != nil #if current login employee open shift
self.cashier_id = cashier.id
self.cashier_name = cashier.name
self.shift_sale_id = shift.id
else
if open_cashier.count>0
if open_cashier.count>0 # if we have two open cashier
# table and terminal in multiple shift
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
if shift.nil?
self.cashier_id = open_cashier[0].id
self.cashier_name = open_cashier[0].name
shift_id = ShiftSale.current_open_shift(open_cashier[0].id)
@@ -117,6 +122,11 @@ class Sale < ApplicationRecord
else
self.shift_sale_id = current_shift.id
end
else
self.cashier_id = shift.employee_id
self.cashier_name = Employee.find(shift.employee_id).name
self.shift_sale_id = shift.id
end
else
self.cashier_id = current_shift.employee_id
self.cashier_name = Employee.find(current_shift.employee_id).name