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.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 if prefix.length == 1 padding_len = 5 - prefix.length count = 4-prefix.length else prefix.length == 2 padding_len = 6 - prefix.length count = 5-prefix.length end next_code = prefix + seed.current.to_s.to_s.rjust((count)+1,'0') return next_code end end