Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.00 KB | None | 0 0
  1. Order.select(:id,:public_id).where(:pos_outlet_id => 20184).where(:sync_at => nil).where(:status => [210,250]).find_each(:batch_size => 1) do |od|
  2.     begin
  3.       order_id = od.public_id
  4.       order = Order.find_by(:public_id => order_id)
  5.       auth = Tempe::Auth.new
  6.       headers = auth.get_headers(order.pos_outlet_id)
  7.       result = true
  8.       if order.cashier_session.commit_at.nil?
  9.         headers = auth.get_headers(order.cashier_session.pos_outlet_id)
  10.         cashier_session = Tempe::CashierSessionSync.new(headers)
  11.         cashier_session.post_cs(order.cashier_session)
  12.         result = !order.cashier_session.commit_at.nil?
  13.         if not result
  14.           raise
  15.         end
  16.       end
  17.      
  18.       headers = auth.get_headers(order.pos_outlet_id)
  19.       order.prescriptions.each do |prescription|
  20.         if prescription.sync_at.nil?
  21.           presc = Tempe::PrescriptionSync.new(order.pos_outlet_id);
  22.           presc.post_presc(prescription)
  23.           prescription.reload
  24.           result = !prescription.sync_at.nil?
  25.           if not result
  26.             raise
  27.           end
  28.         end
  29.       end
  30.       order.update_columns(:sync_at => nil)
  31.       sales = Tempe::SalesSync.new(headers)
  32.       sales.post_sales(order.public_id)
  33.       order.reload
  34.       result = !order.sync_at.nil?
  35.       if not result
  36.         raise
  37.       end
  38.       if not order.insurance_data.blank?
  39.         headers = auth.get_headers(order.pos_outlet_id)
  40.         insurance = Tempe::InsuranceDataSync.new(headers)
  41.         @uri_provider = Tempe::UriProvider.new
  42.         url_save = @uri_provider.provide(:insurer_transaction_with_id, order.insurance_data.insurer_id)
  43.         insurance.online_save(order.insurance_data, url_save,order.insurance_data)
  44.         result = !order.insurance_data.sync_at.nil?
  45.         if not result
  46.           raise
  47.         end
  48.       end
  49.     rescue
  50.       begin
  51.         url = "https://hooks.slack.com/services/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"
  52.         header = {"Content-Type"=>"application/json"}
  53.         body = {"text"=>"#{public_id} gagal sync"}
  54.         HTTParty.post(url,headers: header,body:body.to_json)
  55.       rescue
  56.       end
  57.       raise
  58.     end
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement