class PayrolleeCz::InsuranceSocialBaseConcept
Public Class Methods
new(tag_code, values)
click to toggle source
Calls superclass method
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 5 def initialize(tag_code, values) super(PayConceptGateway::REFCON_INSURANCE_SOCIAL_BASE, tag_code) init_values(values) end
Public Instance Methods
calc_category()
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 21 def calc_category PayrollConcept::CALC_CATEGORY_GROSS end
compute_result_value(tag_config, results)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 25 def compute_result_value(tag_config, results) result_income = 0 if !interest? result_income = 0 else result_income = results.inject(0) do |agr, term_item| term_key = term_item.first term_result = term_item.last agr + sum_term_for(tag_config, tag_code, term_key, term_result) end end result_income end
dup_with_value(code, values)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 14 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/insurance_social_base_concept.rb, line 39 def evaluate(period, tag_config, results) result_income = compute_result_value(tag_config, results) employee_base = min_max_assessment_base(period, result_income) employer_base = max_assessment_base(period, result_income) result_values = {income_base: result_income, employee_base: employee_base, employer_base: employer_base, interest_code: @interest_code} IncomeBaseResult.new(@tag_code, @code, self, result_values) end
export_xml(xml_builder)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 113 def export_xml(xml_builder) attributes = {} attributes[:interest_code] = @interest_code xml_builder.spec_value(attributes) end
init_values(values)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 10 def init_values(values) @interest_code = values[:interest_code] || 0 end
interest?()
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 64 def interest? @interest_code!=0 end
max_assessment_base(period, income_base)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 78 def max_assessment_base(period, income_base) if !interest? 0 else maximum_base = social_max_assessment(period.year) if maximum_base==0 income_base else [income_base, maximum_base].min end end end
min_assessment_base(period, income_base)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 91 def min_assessment_base(period, income_base) income_base end
min_max_assessment_base(period, ins_base)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 68 def min_max_assessment_base(period, ins_base) if !interest? 0 else min_base = min_assessment_base(period, ins_base) max_base = max_assessment_base(period, min_base) end end
sum_term_for(tag_config, tag_code, result_key, result_item)
click to toggle source
# File lib/payrollee_cz/concepts/insurance_social_base_concept.rb, line 53 def sum_term_for(tag_config, tag_code, result_key, result_item) #find_tag(code) instead tag_from_models(CodeNameRefer) - no CodeNameRefer here in result_key tag_config_item = tag_config.find_tag(result_key.code) if result_item.summary_for?(tag_code) if tag_config_item.insurance_social? return result_item.payment end end return 0 end