From 84a5490394dda25e3508614b6bd2445038f72310 Mon Sep 17 00:00:00 2001 From: phyusin Date: Thu, 1 Nov 2018 16:49:49 +0630 Subject: [PATCH] seed generator --- app/models/seed_generator.rb | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index 01ec45fb..82415a8a 100755 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -8,8 +8,8 @@ class SeedGenerator < ApplicationRecord end padding_len = 15 - prefix.length - last_val = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0') - return last_val + saleOrderId = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0') + return saleOrderId end # Generate Receipt No for number order (1,2,3) Don't touch @@ -33,33 +33,33 @@ class SeedGenerator < ApplicationRecord end # Generate for 4 digit Code - # def self.generate_code(model, prefix) - # seed = SeedGenerator.find_by_model(model) - # new_code = 0 + 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 (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 + 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 def self.execute_query(model) current = 0 @@ -85,7 +85,7 @@ class SeedGenerator < ApplicationRecord current = 0 nex = 0 - update_sql = "UPDATE seed_generators set current = next, next = next + 1 WHERE model='#{model}';" + update_sql = "UPDATE seed_generators set current = current + 1, next = next + 1 WHERE model='#{model}';" select_sql = "select * from seed_generators where model='#{model}';" update_result = ActiveRecord::Base.connection.execute(update_sql);