From 2f3e6cb9aa4d05e2c9972cb2ab0ff5c7e3d78d40 Mon Sep 17 00:00:00 2001 From: Yan Date: Tue, 17 Oct 2017 18:08:45 +0630 Subject: [PATCH 1/6] not done --- app/models/seed_generator.rb | 56 +++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index a5bf5976..1ff98a62 100644 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -9,16 +9,26 @@ class SeedGenerator < ApplicationRecord seed.model = model new_receipt_no = seed.next seed.save + else + next_current = self.update_seed(model, seed.next, seed.increase_by) + puts "OOO" + puts seed.next - else - current_no = seed.next - seed.next = seed.next + seed.increase_by - seed.current = current_no - seed.save + if seed.next == next_current + next_current = next_current + 1 + end + + puts "MMM" + puts next_current + currentNo = next_current + + # 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') + saleOrderId = prefix +"-"+ currentNo.to_s.to_s.rjust((14-prefix.length)+1,'0') return saleOrderId end @@ -71,4 +81,36 @@ class SeedGenerator < ApplicationRecord 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.update_seed(model, current, inc) + 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] + next_val = row[3] + end + + return next_val + end end From a00c2d592238d25af8fd0ad4bea609382242dcb3 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 19 Oct 2017 17:09:34 +0630 Subject: [PATCH 2/6] while loop for race condition in seed generate --- app/models/seed_generator.rb | 63 +++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index 1ff98a62..63d4a402 100644 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -2,35 +2,40 @@ 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 - next_current = self.update_seed(model, seed.next, seed.increase_by) - puts "OOO" - puts seed.next - - if seed.next == next_current - next_current = next_current + 1 - end - - puts "MMM" - puts next_current - currentNo = next_current + cur_val, next_val = self.update_seed(model, next_no, seed.increase_by) - # 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 +"-"+ currentNo.to_s.to_s.rjust((14-prefix.length)+1,'0') - return saleOrderId + # 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 end # Generate Receipt No @@ -97,20 +102,34 @@ class SeedGenerator < ApplicationRecord 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] - next_val = row[3] + cur_val = row [3] + next_val = row[4] end - return next_val + return cur_val, next_val end end From 7ab62e2a249652b89e1bbf0b9e95c968f5a327bc Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 19 Oct 2017 17:12:02 +0630 Subject: [PATCH 3/6] 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 From e697bd0e1f363c0d844ec29d8ce96122fa3e6093 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 19 Oct 2017 18:34:58 +0630 Subject: [PATCH 4/6] order edit print --- app/controllers/oqs/edit_controller.rb | 11 +++++++++++ app/views/oqs/edit/index.html.erb | 23 +++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/app/controllers/oqs/edit_controller.rb b/app/controllers/oqs/edit_controller.rb index 85733e8b..1e8011e7 100644 --- a/app/controllers/oqs/edit_controller.rb +++ b/app/controllers/oqs/edit_controller.rb @@ -15,5 +15,16 @@ class Oqs::EditController < ApplicationController#BaseOqsController order_item.qty = qty_weight order_item.remark = remarks order_item.save + + # print + assigned_item = AssignedOrderItem.find_by_item_code(order_item.item_code) + # order queue stations + oqs = assigned_item.order_queue_station + + unique_code="OrderItemPdf" + + print_settings=PrintSetting.find_by_unique_code(unique_code) + order_queue_printer= Printer::OrderQueuePrinter.new(print_settings) + order_queue_printer.print_order_item(print_settings, oqs,assigned_item.order_id, assigned_item.item_code, print_status=" (Edited)" ) end end diff --git a/app/views/oqs/edit/index.html.erb b/app/views/oqs/edit/index.html.erb index 385a6b68..cf255912 100644 --- a/app/views/oqs/edit/index.html.erb +++ b/app/views/oqs/edit/index.html.erb @@ -53,9 +53,32 @@ + + + + From 25bc6f1c26419a03c6921e14c32ed0d3cf1764e0 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 20 Oct 2017 13:25:24 +0630 Subject: [PATCH 5/6] parallel incoming req --- app/assets/stylesheets/application.scss | 2 +- app/controllers/api/orders_controller.rb | 13 ++++++++++++- app/views/layouts/_header.html.erb | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index f29a211a..dc8a3c65 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -62,7 +62,7 @@ } section.content { - margin: 70px 15px 0 225px; + margin: 50px 15px 0 225px; } .sidebar { diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index fe5d1d90..49e7af6e 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -96,7 +96,18 @@ class Api::OrdersController < Api::ApiController end end - @status, @booking = @order.generate + # for parallel order + + # i = 0 + remoteIP = "" + begin + @status, @booking = @order.generate + # i += 1 + puts "RRR" + puts @booking.booking_id + puts request.remote_ip + remoteIP = request.remote_ip + end while request.remote_ip != remoteIP end # render json for http status code diff --git a/app/views/layouts/_header.html.erb b/app/views/layouts/_header.html.erb index 027f96b8..6c68a371 100644 --- a/app/views/layouts/_header.html.erb +++ b/app/views/layouts/_header.html.erb @@ -32,7 +32,7 @@ Search Bar -->