From 225d0ac7a8b67249e661985b757873783f6ff074 Mon Sep 17 00:00:00 2001 From: phyusin Date: Thu, 1 Nov 2018 17:47:44 +0630 Subject: [PATCH] change receipt no generator --- app/models/sale.rb | 13 ++++---- app/models/seed_generator.rb | 62 +++++++++++++++++------------------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/app/models/sale.rb b/app/models/sale.rb index a2a3263a..c7c06cc2 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -3,7 +3,7 @@ class Sale < ApplicationRecord #primary key - need to be unique generated for multiple shops before_create :generate_custom_id - #before_create :generate_receipt_no + before_create :generate_receipt_no belongs_to :cashier, :optional => true belongs_to :customer, :optional => true belongs_to :employees @@ -76,7 +76,7 @@ class Sale < ApplicationRecord return false, "Invoice is void. Cannot be edited" else #if this is new sale generate_receipt_no - generate_receipt_no + # generate_receipt_no order = Order.find(order_id) #Default Tax - Values @@ -698,19 +698,20 @@ class Sale < ApplicationRecord def generate_receipt_no #shop_code and client_code shop_details = Shop.first - #Date-Shift- if self.receipt_no.nil? prefix = DateTime.now().utc #self.receipt_no = prefix.to_s + "/" + self.shit_id.to_s + "/" + SeedGenerator.new_receipt_no().to_s + new_receipt_no = SeedGenerator.new_receipt_no().to_s + if !shop_details.nil? if !shop_details.shop_code.nil? - self.receipt_no = shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s + self.receipt_no = shop_details.shop_code + "-" + prefix.strftime("%Y%m%d") + "-" + new_receipt_no else - self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s + self.receipt_no = prefix.strftime("%Y%m%d") + "-" + new_receipt_no end else - self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s + self.receipt_no = prefix.strftime("%Y%m%d") + "-" + new_receipt_no end self.receipt_date = prefix diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index 82415a8a..69f7d1ed 100755 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -21,45 +21,43 @@ class SeedGenerator < ApplicationRecord 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 + # 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 + # 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 +83,7 @@ class SeedGenerator < ApplicationRecord current = 0 nex = 0 - update_sql = "UPDATE seed_generators set current = current + 1, next = next + 1 WHERE model='#{model}';" + update_sql = "UPDATE seed_generators set current = next, next = next + 1 WHERE model='#{model}';" select_sql = "select * from seed_generators where model='#{model}';" update_result = ActiveRecord::Base.connection.execute(update_sql);