Class: GeneratePickSlipWorker
Instance Attribute Summary
#broadcast_status_updates
Instance Method Summary
collapse
#at, #store, #total
Instance Method Details
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'app/workers/generate_pick_slip_worker.rb', line 8
def perform(options = {})
options = options.with_indifferent_access
deliveries = Delivery.where(id: options[:delivery_ids])
store = begin
Store.find(options[:store_id])
rescue StandardError
nil
end
store ||= deliveries.first&.store&.id
pdf_upload_id = nil
pdf = nil
msg = []
if deliveries.present?
if deliveries.size > 1 pdf, sub_msg = Delivery.generate_super_pick_slip_pdf(deliveries, options[:split_kits])
msg << sub_msg
elsif (d = deliveries.first) msg << d.name
pdf = d.get_or_generate_pick_slip_pdf(options[:split_kits])
end
pdf_upload_id = pdf.id
if (ppid = options[:print_profile_id].presence) pp = PrintProfile.find(ppid)
jid = pp.print_upload(pdf)
msg << "- Submitted pdf upload #{pdf.id} to print profile #{pp.name} [#{ppid}], job #{jid}"
end
end
store upload_id: pdf_upload_id
store redirect_to: "/warehouses/#{store.id}"
store complete_message: msg.join('. ')
end
|