Class: PayrollVirtualWalletTransaction::View
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- PayrollVirtualWalletTransaction::View
- Defined in:
- app/models/payroll_virtual_wallet_transaction.rb
Constant Summary
Constants included from PayrollVirtualWalletTransactionProcedures
PayrollVirtualWalletTransactionProcedures::HEADERS
Class Method Summary collapse
Methods inherited from ApplicationRecord
define_decrypted_attribute, define_decrypted_attributes, #errors_in_bullet_points, primary_connection, special_connection
Class Method Details
.break_down(company_id:, payroll_year:) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/models/payroll_virtual_wallet_transaction.rb', line 24 def break_down(company_id:, payroll_year:) grouped_amounts = transactions_breakdown_procedure(company_id: company_id, payroll_year: payroll_year) periods = grouped_amounts.map do |a| { period_no: a['period_no'], period_start_date: a['period_start_date'], period_end_date: a['period_end_date'], payroll_period_id: a['payroll_period_id'], formatted: PayrollPeriod.format_period( a['period_no'], a['period_start_date'], a['period_end_date'], a['payroll_revision_no'] ), amounts_sum: a['opening_balance_vw'] || 0, payroll_transaction_header_id: a['payroll_transaction_header_id'] } end.uniq { year: payroll_year, remitted_to_cra: array_by_key(grouped_amounts, 'remitted_to_cra'), remitted_to_mrq: array_by_key(grouped_amounts, 'remitted_to_mrq'), remitted_to_employees: array_by_key(grouped_amounts, 'remitted_to_employee'), fees: array_by_key(grouped_amounts, 'fees'), funding: array_by_key(grouped_amounts, 'pad_amount'), opening_balance_vw: array_by_key(grouped_amounts, 'opening_balance_vw'), periods: periods } end |