Class: Planik::Lohnausweis::Daten
- Inherits:
-
Object
- Object
- Planik::Lohnausweis::Daten
- Defined in:
- lib/lohnausweis/daten.rb
Defined Under Namespace
Classes: Block
Instance Method Summary collapse
- #abzug_daten ⇒ Object
- #adresse ⇒ Object
- #arbeitszeit_daten ⇒ Object
- #create_abzuege_block(bruttolohn_eintrag) ⇒ Object
- #create_arbeitszeit_block ⇒ Object
- #create_ferien_block ⇒ Object
- #create_lohn_block ⇒ Object
- #end_datum ⇒ Object
- #ferien_daten ⇒ Object
-
#initialize(rohdaten) ⇒ Daten
constructor
A new instance of Daten.
- #jahr ⇒ Object
- #lohn_daten ⇒ Object
- #monat ⇒ Object
- #start_datum ⇒ Object
Constructor Details
#initialize(rohdaten) ⇒ Daten
Returns a new instance of Daten.
32 33 34 35 36 37 38 |
# File 'lib/lohnausweis/daten.rb', line 32 def initialize(rohdaten) @rohdaten = rohdaten bruttolohn_eintrag = create_lohn_block create_abzuege_block(bruttolohn_eintrag) create_ferien_block create_arbeitszeit_block end |
Instance Method Details
#abzug_daten ⇒ Object
109 110 111 112 |
# File 'lib/lohnausweis/daten.rb', line 109 def abzug_daten @abzuege_block.daten end |
#adresse ⇒ Object
101 102 103 |
# File 'lib/lohnausweis/daten.rb', line 101 def adresse @rohdaten.adresse end |
#arbeitszeit_daten ⇒ Object
118 119 120 |
# File 'lib/lohnausweis/daten.rb', line 118 def arbeitszeit_daten @arbeitszeit_block.daten end |
#create_abzuege_block(bruttolohn_eintrag) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/lohnausweis/daten.rb', line 60 def create_abzuege_block(bruttolohn_eintrag) lohn_abzuege = [] lohn_abzuege << Abzug.new("AHV, IV, EO", @rohdaten.monatslohn, @rohdaten.ahv) lohn_abzuege << Abzug.new("ALV", @rohdaten.monatslohn, @rohdaten.alv) lohn_abzuege << Abzug.new("NBU", @rohdaten.monatslohn, @rohdaten.nbu) lohn_abzuege << Abzug.new("Krankentaggeld", @rohdaten.monatslohn, @rohdaten.krankentaggeld) # lohn_abzuege << Fakt.new("Pensionskasse BVG", nil, nil, @rohdaten.pensionskasse) @rohdaten.abzug_freifelder.each do |ff| lohn_abzuege << Fakt.new(ff.name, ff.menge, ff.ansatz, ff.betrag) end nettolohn_eintrag = Rechnung.new("Nettolohn", [bruttolohn_eintrag], lohn_abzuege) abzuege_eingtraege = lohn_abzuege + [nettolohn_eintrag] @abzuege_block = Block.new(abzuege_eingtraege) end |
#create_arbeitszeit_block ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/lohnausweis/daten.rb', line 89 def create_arbeitszeit_block eintraege = [] titel = ["Arbeitszeit", nil, nil, "Stunden"] eintraege << Fakt.new("Stundensaldo Vormonat", nil, nil, @rohdaten.arbeitszeit.gleitzeit_vor, nil) eintraege << Fakt.new("Sollstunden von #{start_datum} bis #{end_datum}", nil, nil, @rohdaten.arbeitszeit.soll_stunden, nil) eintraege << Fakt.new("Geleistete Stunden von #{start_datum} bis #{end_datum}", nil, nil, @rohdaten.arbeitszeit.ist_stunden, nil) eintraege << Rechnung.new("Saldo per #{end_datum}", [eintraege[0], eintraege[2]], [eintraege[1]], nil) @arbeitszeit_block = Block.new(eintraege, titel) end |
#create_ferien_block ⇒ Object
78 79 80 81 82 83 84 85 86 87 |
# File 'lib/lohnausweis/daten.rb', line 78 def create_ferien_block eintraege = [] titel = ["Ferien", nil, nil, "Tage"] eintraege << Fakt.new("Ferienguthaben #{jahr}", nil, nil, @rohdaten.ferien.guthaben, nil) eintraege << Fakt.new("Bezogene Ferien bis #{end_datum}", nil, nil, @rohdaten.ferien.bezogen, nil) eintraege << Rechnung.new("Ferienguthaben per #{end_datum}", [eintraege[0]], [eintraege[1]], nil) @ferien_block = Block.new(eintraege, titel) end |
#create_lohn_block ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/lohnausweis/daten.rb', line 40 def create_lohn_block lohn_positiv = [] lohn_positiv << Fakt.new("Monatslohn", nil, nil, @rohdaten.monatslohn) lohn_positiv << Zulage.new("Zulage Nacht", @rohdaten.zulage_nacht.menge, @rohdaten.zulage_nacht.ansatz) lohn_positiv << Zulage.new("Zulage Wochenende", @rohdaten.zulage_wochenende.menge, @rohdaten.zulage_wochenende.ansatz) lohn_positiv << Zulage.new("Kinderzulagen bis 12 Jahre", @rohdaten.kinderzulage.menge, @rohdaten.kinderzulage.ansatz) unless @rohdaten.kinderzulage.nil? lohn_positiv << Fakt.new("Funktionszulage", nil, nil, @rohdaten.funktionszulage) unless @rohdaten.funktionszulage.nil? @rohdaten.lohn_freifelder.each do |ff| lohn_positiv << Fakt.new(ff.name, ff.menge, ff.ansatz, ff.betrag) end bruttolohn_eintrag = Rechnung.new("Bruttolohn", lohn_positiv, []) lohnblock_eintraege = lohn_positiv + [bruttolohn_eintrag] @lohnblock = Block.new(lohnblock_eintraege, ["Monatslohn", "Menge", "Ansatz / %", "Betrag"]) bruttolohn_eintrag end |
#end_datum ⇒ Object
126 127 128 |
# File 'lib/lohnausweis/daten.rb', line 126 def end_datum @rohdaten.end_datum.strftime("%d.%m.%Y") end |
#ferien_daten ⇒ Object
114 115 116 |
# File 'lib/lohnausweis/daten.rb', line 114 def ferien_daten @ferien_block.daten end |
#jahr ⇒ Object
130 131 132 |
# File 'lib/lohnausweis/daten.rb', line 130 def jahr @rohdaten.start_datum.strftime("%Y") end |
#lohn_daten ⇒ Object
105 106 107 |
# File 'lib/lohnausweis/daten.rb', line 105 def lohn_daten @lohnblock.daten end |
#monat ⇒ Object
134 135 136 137 |
# File 'lib/lohnausweis/daten.rb', line 134 def monat puts I18n.load_path I18n.localize @rohdaten.start_datum, :format => "%B", :locale => :de end |
#start_datum ⇒ Object
122 123 124 |
# File 'lib/lohnausweis/daten.rb', line 122 def start_datum @rohdaten.start_datum.strftime("%d.%m.%Y") end |