Skip to content

Instantly share code, notes, and snippets.

@adiwids
Created July 22, 2019 23:10
Show Gist options
  • Save adiwids/32959f1c733cd427c9e364c3bbc7ca77 to your computer and use it in GitHub Desktop.
Save adiwids/32959f1c733cd427c9e364c3bbc7ca77 to your computer and use it in GitHub Desktop.
uc = Store.find_by code: 'UC'
# Orders on UC store
orders = Order.where(store_id: uc.id)
#305 records
# UC completed orders
completed = orders.where(state: ::Order.states[:completed])
#161 records
# UC completed orders that pushed to Gardujati
pushed = Order.copies.where(copy_order_id: completed.map(&:id))
#148 records
# UC completed orders but not pushed yet
npush = completed.where.not(id: pushed.map(&:copy_order_id))
#13 records
np = npush.map { |o| [o.number, o.id] }.to_h
=begin
irb(main):011:0> np = npush.map { |o| [o.number, o.id] }.to_h
=> {"UC-C-52"=>5843, "UC-C-48"=>5820, "UC-C-44"=>5784, "UC-K-207"=>5800, "UC-K-226"=>5819, "UC-C-54"=>5863, "UC-K-218"=>5811, "UC-C-45"=>5786, "UC-C-51"=>5842, "UC-K-238"=>5848, "UC-K-204"=>5797, "UC-K-244"=>5866, "UC-C-41"=>5779}
=end
# re-push
npush.each { |o| PushOrderToSuperStoreJob.perform_now(o.id) }
pushed.reload
npush.reload
pushed.count
npush.count
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment