fix conflict
This commit is contained in:
@@ -7,6 +7,25 @@ class AssignedOrderItem < ApplicationRecord
|
||||
belongs_to :order
|
||||
belongs_to :order_queue_station
|
||||
|
||||
def self.sync_assigned_order_item_records(assigned_order_items)
|
||||
if !assigned_order_items.nil?
|
||||
assigned_order_items.each do |items|
|
||||
unless AssignedOrderItem.exists?(items['assigned_order_item_id'])
|
||||
order_item = AssignedOrderItem.new
|
||||
order_item.assigned_order_item_id = item['assigned_order_item_id']
|
||||
order_item.item_code = item['item_code']
|
||||
order_item.instance_code = item['instance_code']
|
||||
order_item.order_queue_station_id = item['order_queue_station_id']
|
||||
order_item.order_id = item['order_id']
|
||||
order_item.print_status = item['print_status']
|
||||
order_item.delivery_status = item['delivery_status']
|
||||
order_item.save
|
||||
puts '....... Assigned Order Item has been created .......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.assigned_order_item (order, item_code, instance_code, order_queue_station )
|
||||
assigned_order_item = AssignedOrderItem.new()
|
||||
assigned_order_item.order = order
|
||||
@@ -43,6 +62,11 @@ class AssignedOrderItem < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.assigned_order_item_id = SeedGenerator.generate_id(self.class.name, "AOI")
|
||||
prefix = "AOI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CAOI"
|
||||
end
|
||||
|
||||
self.assigned_order_item_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -11,6 +11,30 @@ class Booking < ApplicationRecord
|
||||
scope :active, -> {where("booking_status != 'moved'")}
|
||||
scope :today, -> {where("created_at >= #{Time.now.utc}")}
|
||||
|
||||
def self.sync_booking_records(bookings)
|
||||
if !bookings.nil?
|
||||
bookings.each do |b|
|
||||
unless TableBooking.exists?(b['booking_id'])
|
||||
booking = TableBooking.new
|
||||
booking.booking_id = b['booking_id']
|
||||
booking.dining_facility_id = b['dining_facility_id']
|
||||
# booking.type = b['type']
|
||||
booking.checkin_at = b['checkin_at']
|
||||
booking.checkin_by = b['checkin_by']
|
||||
booking.checkout_at = b['checkout_at']
|
||||
booking.checkout_by = b['checkout_by']
|
||||
booking.reserved_at = b['reserved_at']
|
||||
booking.reserved_by = b['reserved_by']
|
||||
booking.booking_status = b['booking_status']
|
||||
booking.sale_id = b['sale_id']
|
||||
booking.customer_id = b['customer_id']
|
||||
booking.save
|
||||
puts '....... Booking has been created ......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.update_dining_facility(booking_arr, newd, old)
|
||||
table = DiningFacility.find(newd)
|
||||
exist = table.get_booking
|
||||
@@ -60,8 +84,47 @@ class Booking < ApplicationRecord
|
||||
.order("sale_id DESC")
|
||||
end
|
||||
|
||||
def self.get_sync_data(sale_id)
|
||||
@orders = Order.select('orders.*')
|
||||
.joins('left join sale_orders on sale_orders.order_id = orders.order_id')
|
||||
.where('sale_orders.sale_id=?', sale_id)
|
||||
|
||||
@order_items = OrderItem.select('order_items.*')
|
||||
.joins('left join sale_orders on sale_orders.order_id = order_items.order_id')
|
||||
.where('sale_orders.sale_id=?', sale_id)
|
||||
|
||||
@assigned_order_items = AssignedOrderItem.select('assigned_order_items.*')
|
||||
.joins('left join sale_orders on sale_orders.order_id=assigned_order_items.order_id')
|
||||
.where('sale_orders.sale_id=?', sale_id)
|
||||
|
||||
@bookings = TableBooking.where('sale_id=?', sale_id)
|
||||
|
||||
@sales = Sale.where("sale_id=?", sale_id)
|
||||
|
||||
@sale_items = SaleItem.where("sale_id=?", sale_id)
|
||||
|
||||
@sale_taxes = SaleTax.where("sale_id=?", sale_id)
|
||||
|
||||
@sale_orders = SaleOrder.where("sale_id=?", sale_id)
|
||||
|
||||
@sale_audits = SaleAudit.where("sale_id=?", sale_id)
|
||||
|
||||
@sale_payments = SalePayment.where("sale_id=?", sale_id)
|
||||
|
||||
@shift_sales = ShiftSale.select('shift_sales.*')
|
||||
.joins('left join sales on sales.shift_sale_id = shift_sales.id')
|
||||
.where('sales.sale_id=?', sale_id)
|
||||
|
||||
return @orders, @order_items, @sales, @sale_items, @sale_taxes, @sale_payments, @sale_orders, @sale_audits, @bookings, @assigned_order_items, @shift_sales
|
||||
end
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.booking_id = SeedGenerator.generate_id(self.class.name, "BKI")
|
||||
prefix = "BKI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CBKI"
|
||||
end
|
||||
|
||||
self.booking_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,6 +6,11 @@ class CashierLoginLog < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.cashier_login_log_id = SeedGenerator.generate_id(self.class.name, "CLO")
|
||||
prefix = "CLO"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CCLO"
|
||||
end
|
||||
|
||||
self.cashier_login_log_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -13,6 +13,11 @@ class Commission < ApplicationRecord
|
||||
scope :active, -> {where(is_active: true)}
|
||||
private
|
||||
def generate_custom_id
|
||||
self.commission_id = SeedGenerator.generate_id(self.class.name, 'COM')
|
||||
prefix = "COM"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CCOM"
|
||||
end
|
||||
|
||||
self.commission_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -365,6 +365,11 @@ class Customer < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.customer_id = SeedGenerator.generate_id(self.class.name, "CUS")
|
||||
prefix = "CUS"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CCUS"
|
||||
end
|
||||
|
||||
self.customer_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -21,6 +21,16 @@ class Lookup < ApplicationRecord
|
||||
# Lookup.select("value, name").where("lookup_type = ?", lookup_type ).order("name asc").map { |r| [r.name, r.value] }
|
||||
# end
|
||||
|
||||
def self.sync_url
|
||||
lookup = Lookup.find_by_lookup_type('sync_data')
|
||||
return lookup.value
|
||||
end
|
||||
|
||||
def self.get_sync_token
|
||||
lookup = Lookup.find_by_lookup_type('sync_token')
|
||||
return lookup.value
|
||||
end
|
||||
|
||||
def self.collection_of(type)
|
||||
Lookup.select("name, value").where("lookup_type" => type ).map { |l| [l.name, l.value] }
|
||||
|
||||
|
||||
@@ -550,14 +550,46 @@ class Order < ApplicationRecord
|
||||
return false
|
||||
end
|
||||
|
||||
def self.env
|
||||
return ENV["SERVER_MODE"]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def generate_custom_id
|
||||
self.order_id = SeedGenerator.generate_id(self.class.name, "ODR")
|
||||
|
||||
prefix = "ODR"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CODR"
|
||||
end
|
||||
|
||||
self.order_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
|
||||
def set_order_date
|
||||
self.date = Time.now.utc
|
||||
end
|
||||
|
||||
def self.sync_order_records(orders)
|
||||
if !orders.nil?
|
||||
orders.each do |o|
|
||||
unless Order.exists?(o['order_id'])
|
||||
order = Order.new
|
||||
order.order_id = o['order_id']
|
||||
order.date = o['date']
|
||||
order.source = o['source']
|
||||
order.order_type = o['order_type']
|
||||
order.customer_id = o['customer_id']
|
||||
order.item_count = o['item_count']
|
||||
order.quantity_count = o['quantity_count']
|
||||
order.status = o['status']
|
||||
order.waiters = o['waiters']
|
||||
order.guest_info = o['guest_info']
|
||||
order.save
|
||||
puts '...... order has been created .....'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -65,8 +65,41 @@ class OrderItem < ApplicationRecord
|
||||
return order_details
|
||||
end
|
||||
|
||||
def self.sync_order_item_records(order_items)
|
||||
if !order_items.nil?
|
||||
order_items.each do |item|
|
||||
unless OrderItem.exists?(item['order_items_id'])
|
||||
order_item = OrderItem.new
|
||||
order_item.order_items_id = item['order_items_id']
|
||||
order_item.order_id = item['order_id']
|
||||
order_item.order_item_status = item['order_item_status']
|
||||
order_item.item_order_by = item['item_order_by']
|
||||
order_item.item_code = item['item_code']
|
||||
order_item.item_instance_code = item['item_instance_code']
|
||||
order_item.item_name = item['item_name']
|
||||
order_item.alt_name = item['alt_name']
|
||||
order_item.account_id = item['account_id']
|
||||
order_item.qty = item['qty']
|
||||
order_item.price = item['price']
|
||||
order_item.remark = item['remark']
|
||||
order_item.options = item['options']
|
||||
order_item.set_menu_items = item['set_menu_items']
|
||||
order_item.taxable = item['taxable']
|
||||
order_item.completed_by = item['completed_by']
|
||||
order_item.save
|
||||
puts '...... order item has been created. .....'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.order_items_id = SeedGenerator.generate_id(self.class.name, "ODI")
|
||||
prefix = "ODI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CODI"
|
||||
end
|
||||
|
||||
self.order_items_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -519,6 +519,10 @@ class OrderReservation < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, "ODRS")
|
||||
prefix = "ODRS"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CODRS"
|
||||
end
|
||||
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -27,6 +27,11 @@ class OrderReservationItem < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.order_reservation_items_id = SeedGenerator.generate_id(self.class.name, "ODRSI")
|
||||
prefix = "ODRSI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CODRSI"
|
||||
end
|
||||
|
||||
self.order_reservation_items_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -85,11 +85,11 @@ class Printer::CashierStationPrinter < Printer::PrinterWorker
|
||||
filename = "tmp/reports_sale_items.pdf"
|
||||
|
||||
if print_settings.unique_code == "SaleItemsPdf"
|
||||
pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges, nil, nil, nil)
|
||||
pdf = SaleItemsPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
|
||||
puts 'Printing!!!!'
|
||||
end
|
||||
if print_settings.unique_code == "SaleItemsStarPdf"
|
||||
pdf = SaleItemsStarPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges, nil, nil, nil)
|
||||
pdf = SaleItemsStarPdf.new(print_settings, shop_details, period_name, type, account, from_date, to_date, shift_name, sale_items, total_other_charges)
|
||||
puts 'PrintingStar!!!!'
|
||||
end
|
||||
|
||||
|
||||
@@ -10,6 +10,11 @@ class Reservation < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, "RS")
|
||||
prefix = "RS"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CRS"
|
||||
end
|
||||
|
||||
self.order_reservation_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -7,7 +7,12 @@ class ReservationItem < ApplicationRecord
|
||||
belongs_to :reservation, autosave: true
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.reservation_items_id = SeedGenerator.generate_id(self.class.name, "RSI")
|
||||
end
|
||||
def generate_custom_id
|
||||
prefix = "RSI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CRSI"
|
||||
end
|
||||
|
||||
self.reservation_items_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -26,7 +26,40 @@ class Sale < ApplicationRecord
|
||||
}
|
||||
SALE_STATUS_OUTSTANDING = "outstanding"
|
||||
SALE_STATUS_COMPLETED = "completed"
|
||||
|
||||
def self.sync_sale_records(sales)
|
||||
if !sales.nil?
|
||||
sales.each do |s|
|
||||
unless Sale.exists?(s['sale_id'])
|
||||
sale = Sale.new
|
||||
sale.sale_id = s['sale_id']
|
||||
sale.cashier_id = s['cashier_id']
|
||||
sale.cashier_name = s['cashier_name']
|
||||
sale.requested_by = s['requested_by']
|
||||
sale.requested_at = s['requested_at']
|
||||
sale.receipt_no = s['receipt_no']
|
||||
sale.receipt_date = s['receipt_date']
|
||||
sale.customer_id = s['customer_id']
|
||||
sale.payment_status = s['payment_status']
|
||||
sale.sale_status = s['sale_status']
|
||||
sale.total_amount = s['total_amount']
|
||||
sale.discount_type = s['discount_type']
|
||||
sale.total_tax = s['total_tax']
|
||||
sale.total_discount = s['total_discount']
|
||||
sale.tax_type = s['tax_type']
|
||||
sale.grand_total = s['grand_total']
|
||||
sale.rounding_adjustment = s['rounding_adjustment']
|
||||
sale.amount_received = s['amount_received']
|
||||
sale.amount_changed = s['amount_changed']
|
||||
sale.shift_sale_id = s['shift_sale_id']
|
||||
sale.old_grand_total = s['old_grand_total']
|
||||
sale.rebate_status = s['rebate_status']
|
||||
sale.equal_persons = s['equal_persons']
|
||||
sale.save
|
||||
puts '........ Sale data has been created .......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
def generate_invoice_from_booking(booking_id, requested_by, cashier, order_source = nil, current_checkin_induties_count)
|
||||
booking = Booking.find(booking_id)
|
||||
status = false
|
||||
@@ -2755,6 +2788,11 @@ end
|
||||
private
|
||||
|
||||
def generate_custom_id
|
||||
self.sale_id = SeedGenerator.generate_id(self.class.name, "SAL")
|
||||
prefix = "SAL"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSAL"
|
||||
end
|
||||
|
||||
self.sale_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,6 +6,26 @@ class SaleAudit < ApplicationRecord
|
||||
|
||||
belongs_to :sale
|
||||
|
||||
def self.sync_sale_audit_records(sale_audits)
|
||||
if !sale_audits.nil?
|
||||
sale_audits.each do |sa|
|
||||
unless SaleAudit.exists?(sa['sale_audit_id'])
|
||||
sale_audit = SaleAudit.new
|
||||
sale_audit.sale_audit_id = sa['sale_audit_id']
|
||||
sale_audit.sale_id = sa['sale_id']
|
||||
sale_audit.action = sa['action']
|
||||
sale_audit.action_at = sa['action_at']
|
||||
sale_audit.action_by = sa['action_by']
|
||||
sale_audit.approved_by = sa['approved_by']
|
||||
sale_audit.approved_at = sa['approved_at']
|
||||
sale_audit.remark = sa['remark']
|
||||
sale_audit.save
|
||||
puts '....... Sale Audit has been created .......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.record_audit_void(sale_id, void_by, approved_by, reason)
|
||||
#sale_audit
|
||||
sale_audit = SaleAudit.new()
|
||||
@@ -154,6 +174,11 @@ class SaleAudit < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.sale_audit_id = SeedGenerator.generate_id(self.class.name, "SAI")
|
||||
prefix = "SAI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSAI"
|
||||
end
|
||||
|
||||
self.sale_audit_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -26,6 +26,34 @@ class SaleItem < ApplicationRecord
|
||||
end
|
||||
end
|
||||
|
||||
def self.sync_sale_item_records(sale_items)
|
||||
if !sale_items.nil?
|
||||
sale_items.each do |si|
|
||||
unless SaleItem.exists?(si['sale_item_id'])
|
||||
sale_item = SaleItem.new
|
||||
sale_item.sale_item_id = si['sale_item_id']
|
||||
sale_item.sale_id = si['sale_id']
|
||||
sale_item.menu_category_code = si['menu_category_code']
|
||||
sale_item.menu_category_name = si['menu_category_name']
|
||||
sale_item.product_code = si['product_code']
|
||||
sale_item.product_name = si['product_name']
|
||||
sale_item.product_alt_name = si['product_alt_name']
|
||||
sale_item.item_instance_code = si['item_instance_code']
|
||||
sale_item.account_id = si['account_id']
|
||||
sale_item.status = si['status']
|
||||
sale_item['remark'] = si['remark']
|
||||
sale_item['qty'] = si['qty']
|
||||
sale_item['unit_price'] = si['unit_price']
|
||||
sale_item['taxable_price'] = si['taxable_price']
|
||||
sale_item['price'] = si['price']
|
||||
sale_item['is_taxable'] = si['is_taxable']
|
||||
sale_item.save
|
||||
puts '....... Sale Item has been created ......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.update_existing_item(qty, item, sale_id, type, item_price, price)
|
||||
# Original Item to add remark
|
||||
item.status = type
|
||||
@@ -193,6 +221,11 @@ class SaleItem < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.sale_item_id = SeedGenerator.generate_id(self.class.name, "SLI")
|
||||
prefix = "SLI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSLI"
|
||||
end
|
||||
|
||||
self.sale_item_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -14,10 +14,30 @@ class SaleOrder < ApplicationRecord
|
||||
sale_order.save!
|
||||
end
|
||||
|
||||
def self.sync_sale_order_records(sale_orders)
|
||||
if !sale_orders.nil?
|
||||
sale_orders.each do |so|
|
||||
unless SaleOrder.exists?(so['sale_order_id'])
|
||||
sale_order = SaleOrder.new
|
||||
sale_order.sale_order_id = so['sale_order_id']
|
||||
sale_order.sale_id = so['sale_id']
|
||||
sale_order.order_id = so['order_id']
|
||||
sale_order.save
|
||||
puts '......... Sale Order has been created ........'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def generate_sale_order_id
|
||||
prefix = "SOI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSOI"
|
||||
end
|
||||
|
||||
self.class.name
|
||||
saleOrderId = SeedGenerator.generate_id(self.class.name, "SOI")
|
||||
saleOrderId = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
self.sale_order_id = saleOrderId
|
||||
end
|
||||
end
|
||||
|
||||
@@ -8,6 +8,25 @@ class SalePayment < ApplicationRecord
|
||||
|
||||
attr_accessor :received_amount, :card_payment_reference, :voucher_no, :giftcard_no, :customer_id, :external_payment_status,:action_by
|
||||
|
||||
def self.sync_sale_payment_records(sale_payments)
|
||||
if !sale_payments.nil?
|
||||
sale_payments.each do |sp|
|
||||
unless SalePayment.exists?(sp['sale_payment_id'])
|
||||
payment = SalePayment.new
|
||||
payment.sale_payment_id = sp['sale_payment_id']
|
||||
payment.sale_id = sp['sale_id']
|
||||
payment.payment_method = sp['payment_method']
|
||||
payment.payment_amount = sp['payment_amount']
|
||||
payment.outstanding_amount = sp['outstanding_amount']
|
||||
payment.payment_reference = sp['payment_reference']
|
||||
payment.payment_status = sp['payment_status']
|
||||
payment.save
|
||||
puts '....... Sale Payment has been created ......'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def process_payment(invoice, action_by, cash_amount, payment_method,remark=nil,payment_for=false)
|
||||
self.sale = invoice
|
||||
self.received_amount = cash_amount
|
||||
@@ -983,6 +1002,11 @@ class SalePayment < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.sale_payment_id = SeedGenerator.generate_id(self.class.name, "SPI")
|
||||
prefix = "SPI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSPI"
|
||||
end
|
||||
|
||||
self.sale_payment_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -5,6 +5,24 @@ class SaleTax < ApplicationRecord
|
||||
before_create :generate_custom_id
|
||||
belongs_to :sale
|
||||
|
||||
def self.sync_sale_tax_records(sale_taxes)
|
||||
if !sale_taxes.nil?
|
||||
sale_taxes.each do |t|
|
||||
unless SaleTax.exists?(t['sale_tax_id'])
|
||||
tax = SaleTax.new
|
||||
tax.sale_tax_id = t['sale_tax_id']
|
||||
tax.sale_id = t['sale_id']
|
||||
tax.tax_name = t['tax_name']
|
||||
tax.tax_rate = t['tax_rate']
|
||||
tax.tax_payable_amount = t['tax_payable_amount']
|
||||
tax.inclusive = t['inclusive']
|
||||
tax.save
|
||||
puts '...... Sale Tax has been created .....'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.get_tax(from,to)
|
||||
query = SaleTax.select("sale_taxes.tax_name,SUM(sale_taxes.tax_payable_amount) as tax_amount")
|
||||
.joins("join sales on sales.sale_id = sale_taxes.sale_id")
|
||||
@@ -14,6 +32,11 @@ class SaleTax < ApplicationRecord
|
||||
|
||||
private
|
||||
def generate_custom_id
|
||||
self.sale_tax_id = SeedGenerator.generate_id(self.class.name, "STI")
|
||||
prefix = "STI"
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
prefix = "CSTI"
|
||||
end
|
||||
|
||||
self.sale_tax_id = SeedGenerator.generate_id(self.class.name, prefix)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
class SeedGenerator < ApplicationRecord
|
||||
# Generate ID for Tables
|
||||
def self.generate_id(model, prefix)
|
||||
cur_val, next_val = self.update_seed(model)
|
||||
model_name = self.get_model_name(model)
|
||||
|
||||
cur_val, next_val = self.update_seed(model_name)
|
||||
|
||||
if (cur_val == 0)
|
||||
cur_val, next_val = self.execute_query(model)
|
||||
end
|
||||
cur_val, next_val = self.execute_query(model_name)
|
||||
end
|
||||
|
||||
padding_len = 15 - prefix.length
|
||||
saleOrderId = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0')
|
||||
return saleOrderId
|
||||
return saleOrderId
|
||||
end
|
||||
|
||||
# Generate Receipt No for number order (1,2,3) Don't touch
|
||||
@@ -66,6 +68,17 @@ class SeedGenerator < ApplicationRecord
|
||||
# return next_code
|
||||
# end
|
||||
|
||||
def self.get_model_name(model)
|
||||
model_name = ""
|
||||
if ENV["SERVER_MODE"] == 'cloud'
|
||||
model_name = "Cloud#{model}"
|
||||
else
|
||||
model_name = model
|
||||
end
|
||||
|
||||
return model_name
|
||||
end
|
||||
|
||||
def self.execute_query(model)
|
||||
current = 0
|
||||
nex = 0
|
||||
|
||||
@@ -32,6 +32,52 @@ class ShiftSale < ApplicationRecord
|
||||
#end
|
||||
end
|
||||
|
||||
def self.sync_shift_sale_records(shift_sales)
|
||||
if !shift_sales.nil?
|
||||
shift_sales.each do |ss|
|
||||
status = nil
|
||||
shift_sale = nil
|
||||
|
||||
if ShiftSale.exists?(ss['id'])
|
||||
shift_sale = ShiftSale.find(ss['id'])
|
||||
status = 'updated'
|
||||
else
|
||||
shift_sale = ShiftSale.new
|
||||
shift_sale.id = ss['id']
|
||||
|
||||
status = 'created'
|
||||
end
|
||||
|
||||
shift_sale.cashier_terminal_id = ss['cashier_terminal_id']
|
||||
shift_sale.shift_started_at = ss['shift_started_at']
|
||||
shift_sale.shift_closed_at = ss['shift_closed_at']
|
||||
shift_sale.employee_id = ss['employee_id']
|
||||
shift_sale.opening_balance = ss['opening_balance']
|
||||
shift_sale.closing_balance = ss['closing_balance']
|
||||
shift_sale.total_revenue = ss['total_revenue']
|
||||
shift_sale.total_discounts = ss['total_discounts']
|
||||
shift_sale.total_taxes = ss['total_taxes']
|
||||
shift_sale.grand_total = ss['grand_total']
|
||||
shift_sale.nett_sales = ss['nett_sales']
|
||||
shift_sale.cash_sales = ss['cash_sales']
|
||||
shift_sale.credit_sales = ss['credit_sales']
|
||||
shift_sale.other_sales = ss['other_sales']
|
||||
shift_sale.commercial_taxes = ss['commercial_taxes']
|
||||
shift_sale.cash_in = ss['cash_in']
|
||||
shift_sale.cash_out = ss['cash_out']
|
||||
shift_sale.dining_count = ss['dining_count']
|
||||
shift_sale.takeaway_count = ss['takeaway_count']
|
||||
shift_sale.member_count = ss['member_count']
|
||||
shift_sale.total_rounding = ss['total_rounding']
|
||||
shift_sale.total_receipt = ss['total_receipt']
|
||||
shift_sale.total_void = ss['total_void']
|
||||
shift_sale.save
|
||||
|
||||
puts "....... Shift Sale has been #{status} ......"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def create(opening_balance,cashier_terminal, current_user)
|
||||
self.cashier_terminal_id = cashier_terminal
|
||||
self.shift_started_at = DateTime.now
|
||||
|
||||
Reference in New Issue
Block a user