Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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|
- begin
- order_id = od.public_id
- order = Order.find_by(:public_id => order_id)
- auth = Tempe::Auth.new
- headers = auth.get_headers(order.pos_outlet_id)
- result = true
- if order.cashier_session.commit_at.nil?
- headers = auth.get_headers(order.cashier_session.pos_outlet_id)
- cashier_session = Tempe::CashierSessionSync.new(headers)
- cashier_session.post_cs(order.cashier_session)
- result = !order.cashier_session.commit_at.nil?
- if not result
- raise
- end
- end
- headers = auth.get_headers(order.pos_outlet_id)
- order.prescriptions.each do |prescription|
- if prescription.sync_at.nil?
- presc = Tempe::PrescriptionSync.new(order.pos_outlet_id);
- presc.post_presc(prescription)
- prescription.reload
- result = !prescription.sync_at.nil?
- if not result
- raise
- end
- end
- end
- order.update_columns(:sync_at => nil)
- sales = Tempe::SalesSync.new(headers)
- sales.post_sales(order.public_id)
- order.reload
- result = !order.sync_at.nil?
- if not result
- raise
- end
- if not order.insurance_data.blank?
- headers = auth.get_headers(order.pos_outlet_id)
- insurance = Tempe::InsuranceDataSync.new(headers)
- @uri_provider = Tempe::UriProvider.new
- url_save = @uri_provider.provide(:insurer_transaction_with_id, order.insurance_data.insurer_id)
- insurance.online_save(order.insurance_data, url_save,order.insurance_data)
- result = !order.insurance_data.sync_at.nil?
- if not result
- raise
- end
- end
- rescue
- begin
- url = "https://hooks.slack.com/services/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"
- header = {"Content-Type"=>"application/json"}
- body = {"text"=>"#{public_id} gagal sync"}
- HTTParty.post(url,headers: header,body:body.to_json)
- rescue
- end
- raise
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement