From 8f3b30f2fa093f01eec2c7c58e06d38a2b057735 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 20 Oct 2017 19:09:17 +0630 Subject: [PATCH] race --- app/models/seed_generator.rb | 46 +++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index a5bf5976..4f024062 100644 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -2,6 +2,7 @@ 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 if (seed.nil?) @@ -9,18 +10,31 @@ class SeedGenerator < ApplicationRecord 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 + # current_no = seed.next + # seed.next = seed.next + seed.increase_by + # seed.current = current_no + # seed.save + cur_val, next_val = self.update_seed(model, seed.next, 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 + end + + padding_len = 15 - prefix.length + saleOrderId = prefix +"-"+ cur_val.to_s.to_s.rjust((14-prefix.length)+1,'0') + return saleOrderId + 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 @@ -71,4 +85,24 @@ class SeedGenerator < ApplicationRecord next_code = prefix + seed.current.to_s.to_s.rjust((count)+1,'0') return next_code 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); + + select_result = ActiveRecord::Base.connection.execute(select_sql); + + select_result.each do |row| + p row + cur_val = row [3] + next_val = row[4] + end + + return cur_val, next_val + end end