From 7ab62e2a249652b89e1bbf0b9e95c968f5a327bc Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 19 Oct 2017 17:12:02 +0630 Subject: [PATCH] re-origin seed generate --- app/models/seed_generator.rb | 85 +++++------------------------------- 1 file changed, 12 insertions(+), 73 deletions(-) diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index 63d4a402..a5bf5976 100644 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -2,40 +2,25 @@ class SeedGenerator < ApplicationRecord # Generate ID for Tables def self.generate_id(model, prefix) seed = SeedGenerator.find_by_model(model) - next_no = seed.next new_receipt_no = 0 -puts "OOO" -puts next_no + if (seed.nil?) seed = SeedGenerator.new() seed.model = model new_receipt_no = seed.next seed.save - else - cur_val, next_val = self.update_seed(model, next_no, seed.increase_by) - - # if next_no == cur_val - # puts "SSS" - # puts next_val - # cur_val2, next_val2 = self.update_seed(model, next_val, seed.increase_by) - # padding_len = 15 - prefix.length - # saleOrderId = prefix +"-"+ cur_val2.to_s.to_s.rjust((14-prefix.length)+1,'0') - # return saleOrderId - while next_no == cur_val - padding_len = 15 - prefix.length - saleOrderId = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0') - return saleOrderId - puts "LLL" - puts next_val - next_no = next_val - cur_val, next_val = self.update_seed(model, next_val, seed.increase_by) - padding_len = 15 - prefix.length - saleOrderId = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0') - return saleOrderId - end - # end - end + 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 @@ -86,50 +71,4 @@ puts next_no next_code = prefix + seed.current.to_s.to_s.rjust((count)+1,'0') return next_code end - - private - - # for duplicate key - with execute query - def self.get_seed(model) - seed_val = [] - select_sql = "select * from seed_generators where model='#{model}';" - select_result = ActiveRecord::Base.connection.execute(select_sql); - select_result.each do |row| - p row - seed_val = row - end - - return seed_val - end - - def self.current_no_present(next_val, cur_val) - cur_val2, next_val2 = self.update_seed(model, next_val, seed.increase_by) - padding_len = 15 - prefix.length - saleOrderId = prefix +"-"+ cur_val2.to_s.to_s.rjust((14-prefix.length)+1,'0') - return saleOrderId - - if next_val == cur_val2 - current_no_present(next_val2, cur_val2) - end - end - - def self.update_seed(model, current, inc) - cur_val = 0 - next_val = 0 - nex = current + inc - update_sql = "update seed_generators set current= #{current}, next= #{nex} where model='#{model}';"; - select_sql = "select * from seed_generators where model='#{model}';" - update_result = ActiveRecord::Base.connection.execute(update_sql); - - Rails.logger.debug "SeedGenerator -> " + update_result.to_s - - select_result = ActiveRecord::Base.connection.execute(select_sql); - select_result.each do |row| - p row[3] - cur_val = row [3] - next_val = row[4] - end - - return cur_val, next_val - end end