class PayrolleeCz::TaxAdvanceFinalConcept

Constants

TAG_ADVANCE
TAG_RELIEF_CHILD
TAG_RELIEF_PAYER

Public Class Methods

new(tag_code, values) click to toggle source
Calls superclass method
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 9
def initialize(tag_code, values)
  super(PayConceptGateway::REFCON_TAX_ADVANCE_FINAL, tag_code)
  init_values(values)
end

Public Instance Methods

advance_after_relief(tax_advance, relief_payer, relief_child) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 67
def advance_after_relief(tax_advance, relief_payer, relief_child)
  [0, tax_advance - relief_payer - relief_child].max
end
calc_category() click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 38
def calc_category
  PayrollConcept::CALC_CATEGORY_NETTO
end
compute_result_value_A(advance_base_value, relief_payer_value, relief_child_value) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 42
def compute_result_value_A(advance_base_value, relief_payer_value, relief_child_value)
  advance_after_relief(advance_base_value, relief_payer_value, 0)
end
compute_result_value_C(advance_base_value, relief_payer_value, relief_child_value) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 46
def compute_result_value_C(advance_base_value, relief_payer_value, relief_child_value)
  advance_after_relief(advance_base_value, relief_payer_value, relief_child_value)
end
dup_with_value(code, values) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 17
def dup_with_value(code, values)
  new_concept = self.dup
  new_concept.init_code(code)
  new_concept.init_values(values)
  return new_concept
end
evaluate(period, tag_config, results) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 50
def evaluate(period, tag_config, results)
  advance_base = payment_result(results, TAG_ADVANCE)
  relief_payer = tax_relief_result(results, TAG_RELIEF_PAYER)
  relief_child = tax_relief_result(results, TAG_RELIEF_CHILD)

  tax_advance_afterA = compute_result_value_A(advance_base, relief_payer, 0)
  tax_advance_afterC = compute_result_value_C(advance_base, relief_payer, relief_child)
  tax_advance_value = tax_advance_afterC

  result_values = {
      after_reliefA: tax_advance_afterA,
      after_reliefC: tax_advance_afterC,
      payment: tax_advance_value
  }
  TaxAdvanceResult.new(@tag_code, @code, self, result_values)
end
init_values(values) click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 14
def init_values(values)
end
pending_codes() click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 24
def pending_codes
  [
      TaxAdvanceTag.new,
      TaxReliefPayerTag.new,
      TaxReliefChildTag.new
  ]
end
summary_codes() click to toggle source
# File lib/payrollee_cz/concepts/tax_advance_final_concept.rb, line 32
def summary_codes
  [
      IncomeNettoTag.new
  ]
end