Class: Report::AccountsReceivableCommand
- Inherits:
-
BaseCommand
- Object
- BaseCommand
- Report::AccountsReceivableCommand
- Defined in:
- app/services/report/accounts_receivable_command.rb
Overview
Service object: accounts receivable command.
Class Method Summary collapse
Instance Method Summary collapse
-
#customer_count ⇒ Object
Summary totals computed from results.
- #execute ⇒ Object
- #success? ⇒ Boolean
- #total_amount ⇒ Object
- #total_current ⇒ Object
- #total_days30 ⇒ Object
- #total_days60 ⇒ Object
- #total_days90 ⇒ Object
- #total_over90 ⇒ Object
Class Method Details
.company_options ⇒ Object
27 28 29 |
# File 'app/services/report/accounts_receivable_command.rb', line 27 def self. Company. end |
Instance Method Details
#customer_count ⇒ Object
Summary totals computed from results
32 33 34 |
# File 'app/services/report/accounts_receivable_command.rb', line 32 def customer_count @results&.pluck(:customers)&.uniq&.count || 0 end |
#execute ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/services/report/accounts_receivable_command.rb', line 8 def execute return unless valid? results = ActiveRecord::Base.lease_connection.execute(report_sql) @results = results.map do |r| { co: r["co"], bill_id: r["bill_id"], customers: r["customers"], terms: r["terms"], hold: r["hold"], bg: r["bg"], total_amount: r["total_amount"], current_amount: r["current_amount"], days30: r["days30"], days60: r["days60"], days90: r["days90"], over_90: r["over_90"] } end end |
#success? ⇒ Boolean
23 24 25 |
# File 'app/services/report/accounts_receivable_command.rb', line 23 def success? valid? && @results.present? end |
#total_amount ⇒ Object
36 37 38 |
# File 'app/services/report/accounts_receivable_command.rb', line 36 def total_amount @results&.sum { |a| a[:total_amount].to_f } || 0 end |
#total_current ⇒ Object
40 41 42 |
# File 'app/services/report/accounts_receivable_command.rb', line 40 def total_current @results&.sum { |a| a[:current_amount].to_f } || 0 end |
#total_days30 ⇒ Object
44 45 46 |
# File 'app/services/report/accounts_receivable_command.rb', line 44 def total_days30 @results&.sum { |a| a[:days30].to_f } || 0 end |
#total_days60 ⇒ Object
48 49 50 |
# File 'app/services/report/accounts_receivable_command.rb', line 48 def total_days60 @results&.sum { |a| a[:days60].to_f } || 0 end |
#total_days90 ⇒ Object
52 53 54 |
# File 'app/services/report/accounts_receivable_command.rb', line 52 def total_days90 @results&.sum { |a| a[:days90].to_f } || 0 end |
#total_over90 ⇒ Object
56 57 58 |
# File 'app/services/report/accounts_receivable_command.rb', line 56 def total_over90 @results&.sum { |a| a[:over_90].to_f } || 0 end |