change receipt no generator
This commit is contained in:
@@ -3,7 +3,7 @@ class Sale < ApplicationRecord
|
|||||||
|
|
||||||
#primary key - need to be unique generated for multiple shops
|
#primary key - need to be unique generated for multiple shops
|
||||||
before_create :generate_custom_id
|
before_create :generate_custom_id
|
||||||
#before_create :generate_receipt_no
|
before_create :generate_receipt_no
|
||||||
belongs_to :cashier, :optional => true
|
belongs_to :cashier, :optional => true
|
||||||
belongs_to :customer, :optional => true
|
belongs_to :customer, :optional => true
|
||||||
belongs_to :employees
|
belongs_to :employees
|
||||||
@@ -76,7 +76,7 @@ class Sale < ApplicationRecord
|
|||||||
return false, "Invoice is void. Cannot be edited"
|
return false, "Invoice is void. Cannot be edited"
|
||||||
else
|
else
|
||||||
#if this is new sale generate_receipt_no
|
#if this is new sale generate_receipt_no
|
||||||
generate_receipt_no
|
# generate_receipt_no
|
||||||
order = Order.find(order_id)
|
order = Order.find(order_id)
|
||||||
|
|
||||||
#Default Tax - Values
|
#Default Tax - Values
|
||||||
@@ -698,19 +698,20 @@ class Sale < ApplicationRecord
|
|||||||
def generate_receipt_no
|
def generate_receipt_no
|
||||||
#shop_code and client_code
|
#shop_code and client_code
|
||||||
shop_details = Shop.first
|
shop_details = Shop.first
|
||||||
|
|
||||||
#Date-Shift-
|
#Date-Shift-
|
||||||
if self.receipt_no.nil?
|
if self.receipt_no.nil?
|
||||||
prefix = DateTime.now().utc
|
prefix = DateTime.now().utc
|
||||||
#self.receipt_no = prefix.to_s + "/" + self.shit_id.to_s + "/" + SeedGenerator.new_receipt_no().to_s
|
#self.receipt_no = prefix.to_s + "/" + self.shit_id.to_s + "/" + SeedGenerator.new_receipt_no().to_s
|
||||||
|
new_receipt_no = SeedGenerator.new_receipt_no().to_s
|
||||||
|
|
||||||
if !shop_details.nil?
|
if !shop_details.nil?
|
||||||
if !shop_details.shop_code.nil?
|
if !shop_details.shop_code.nil?
|
||||||
self.receipt_no = shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
|
self.receipt_no = shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + new_receipt_no
|
||||||
else
|
else
|
||||||
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
|
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + new_receipt_no
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
|
self.receipt_no = prefix.strftime("%Y%m%d") + "-" + new_receipt_no
|
||||||
end
|
end
|
||||||
|
|
||||||
self.receipt_date = prefix
|
self.receipt_date = prefix
|
||||||
|
|||||||
@@ -21,45 +21,43 @@ class SeedGenerator < ApplicationRecord
|
|||||||
seed.model = "Sale"
|
seed.model = "Sale"
|
||||||
new_receipt_no = seed.next
|
new_receipt_no = seed.next
|
||||||
seed.save
|
seed.save
|
||||||
|
# else
|
||||||
else
|
# current_no = seed.next
|
||||||
current_no = seed.next
|
# seed.next = seed.next
|
||||||
seed.next = seed.next
|
# seed.current = current_no
|
||||||
seed.current = current_no
|
# seed.save
|
||||||
seed.save
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return seed.current
|
return seed.current
|
||||||
end
|
end
|
||||||
|
|
||||||
# Generate for 4 digit Code
|
# Generate for 4 digit Code
|
||||||
def self.generate_code(model, prefix)
|
# def self.generate_code(model, prefix)
|
||||||
seed = SeedGenerator.find_by_model(model)
|
# seed = SeedGenerator.find_by_model(model)
|
||||||
new_code = 0
|
# new_code = 0
|
||||||
|
|
||||||
if (seed.nil?)
|
# if (seed.nil?)
|
||||||
seed = SeedGenerator.new()
|
# seed = SeedGenerator.new()
|
||||||
seed.model = model
|
# seed.model = model
|
||||||
new_code = seed.next
|
# new_code = seed.next
|
||||||
seed.save
|
# seed.save
|
||||||
else
|
# else
|
||||||
current_no = seed.next
|
# current_no = seed.next
|
||||||
seed.next = seed.next + seed.increase_by
|
# seed.next = seed.next + seed.increase_by
|
||||||
seed.current = current_no
|
# seed.current = current_no
|
||||||
seed.save
|
# seed.save
|
||||||
end
|
# end
|
||||||
|
|
||||||
|
# if prefix.length == 1
|
||||||
if prefix.length == 1
|
# padding_len = 5 - prefix.length
|
||||||
padding_len = 5 - prefix.length
|
# count = 4-prefix.length
|
||||||
count = 4-prefix.length
|
# else prefix.length == 2
|
||||||
else prefix.length == 2
|
# padding_len = 6 - prefix.length
|
||||||
padding_len = 6 - prefix.length
|
# count = 5-prefix.length
|
||||||
count = 5-prefix.length
|
# end
|
||||||
end
|
# next_code = prefix + seed.current.to_s.to_s.rjust((count)+1,'0')
|
||||||
next_code = prefix + seed.current.to_s.to_s.rjust((count)+1,'0')
|
# return next_code
|
||||||
return next_code
|
# end
|
||||||
end
|
|
||||||
|
|
||||||
def self.execute_query(model)
|
def self.execute_query(model)
|
||||||
current = 0
|
current = 0
|
||||||
@@ -85,7 +83,7 @@ class SeedGenerator < ApplicationRecord
|
|||||||
current = 0
|
current = 0
|
||||||
nex = 0
|
nex = 0
|
||||||
|
|
||||||
update_sql = "UPDATE seed_generators set current = current + 1, next = next + 1 WHERE model='#{model}';"
|
update_sql = "UPDATE seed_generators set current = next, next = next + 1 WHERE model='#{model}';"
|
||||||
select_sql = "select * from seed_generators where model='#{model}';"
|
select_sql = "select * from seed_generators where model='#{model}';"
|
||||||
update_result = ActiveRecord::Base.connection.execute(update_sql);
|
update_result = ActiveRecord::Base.connection.execute(update_sql);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user