Files
sx-fc/app/models/seed_generator.rb
2017-07-11 19:21:17 +06:30

68 lines
1.5 KiB
Ruby

class SeedGenerator < ApplicationRecord
# Generate ID for Tables
def self.generate_id(model, prefix)
seed = SeedGenerator.find_by_model(model)
new_receipt_no = 0
if (seed.nil?)
seed = SeedGenerator.new()
seed.model = model
new_receipt_no = seed.next
seed.save
else
current_no = seed.next
seed.next = seed.next + seed.increase_by
seed.current = current_no
seed.save
end
padding_len = 15 - prefix.length
saleOrderId = prefix +"-"+ seed.current.to_s.to_s.rjust((14-prefix.length)+1,'0')
return saleOrderId
end
# Generate Receipt No
def self.new_receipt_no
seed = SeedGenerator.find_by_model("sale")
new_receipt_no = 0
if (seed.nil?)
seed = SeedGenerator.new()
seed.model = "sale"
new_receipt_no = seed.next
seed.save
else
current_no = seed.next
seed.next = seed.next + seed.increase_by
seed.current = current_no
seed.save
end
return seed.current
end
# Generate for 4 digit Code
def self.generate_code(model, prefix)
seed = SeedGenerator.find_by_model(model)
new_code = 0
if (seed.nil?)
seed = SeedGenerator.new()
seed.model = model
new_code = seed.next
seed.save
else
current_no = seed.next
seed.next = seed.next + seed.increase_by
seed.current = current_no
seed.save
end
padding_len = 5 - prefix.length
next_code = prefix + seed.current.to_s.to_s.rjust((4-prefix.length)+1,'0')
return next_code
end
end