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
- #adresse ⇒ Object
- #arbeitsliste ⇒ Object
- #arbeitszeit_daten ⇒ Object
- #create_arbeitsliste ⇒ Object
- #create_arbeitszeit_block ⇒ Object
-
#create_zulagen_block ⇒ Object
Neu Aenderung für MEDPHONE März 2015: Nur Arbeitsliste, Arbeitszeit und Zulagen.
- #end_datum ⇒ Object
-
#initialize(rohdaten) ⇒ Daten
constructor
A new instance of Daten.
- #jahr ⇒ Object
- #monat ⇒ Object
- #start_datum ⇒ Object
- #zeit_bis_to_s(a) ⇒ Object
-
#zulagen_daten ⇒ Object
Neu Aenderung für MEDPHONE März 2015: Nur Arbeitsliste, Arbeitszeit und Zulagen.
Constructor Details
#initialize(rohdaten) ⇒ Daten
Returns a new instance of Daten.
32 33 34 35 36 37 |
# File 'lib/lohnausweis/daten.rb', line 32 def initialize(rohdaten) @rohdaten = rohdaten create_zulagen_block create_arbeitszeit_block create_arbeitsliste end |
Instance Method Details
#adresse ⇒ Object
107 108 109 |
# File 'lib/lohnausweis/daten.rb', line 107 def adresse @rohdaten.adresse end |
#arbeitsliste ⇒ Object
121 122 123 |
# File 'lib/lohnausweis/daten.rb', line 121 def arbeitsliste @arbeitsliste end |
#arbeitszeit_daten ⇒ Object
117 118 119 |
# File 'lib/lohnausweis/daten.rb', line 117 def arbeitszeit_daten @arbeitszeit_block.daten end |
#create_arbeitsliste ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/lohnausweis/daten.rb', line 76 def create_arbeitsliste eintraege = [] titel = ["Datum", "Dienst/Arbeit", "Typ", "Start", "Ende", "Arbeitszeit"] eintraege << titel @rohdaten.arbeitsliste.each do |a| d = [] d << I18n.l(a.datum, format: :mit_wochentag) d << a.name d << a.typ d << (a.zeit_von.nil? ? nil: a.zeit_von.strftime("%H:%M")) d << (zeit_bis_to_s(a)) d << format('%.2f', a.arbeitszeit) eintraege << d end sum = 0 @rohdaten.arbeitsliste.each{|x| sum += x.arbeitszeit} sum = format('%.2f', sum) eintraege << ["Arbeitszeit total", nil, nil, nil, nil, sum] @arbeitsliste = eintraege end |
#create_arbeitszeit_block ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/lohnausweis/daten.rb', line 64 def create_arbeitszeit_block eintraege = [] titel = ["Arbeitszeit #{monat} #{jahr}", 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_zulagen_block ⇒ Object
Neu Aenderung für MEDPHONE März 2015: Nur Arbeitsliste, Arbeitszeit und Zulagen
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/lohnausweis/daten.rb', line 41 def create_zulagen_block zulagen = [] if @rohdaten.geldbetraege_zulagen_anzeigen zulagen << Zulage.new("Zulage Nacht (#{monat} #{jahr})", @rohdaten.zulage_nacht.menge, @rohdaten.zulage_nacht.ansatz) zulagen << Zulage.new("Zulage Wochenende (#{monat} #{jahr})", @rohdaten.zulage_wochenende.menge, @rohdaten.zulage_wochenende.ansatz) summe = Rechnung.new("Summe", zulagen, []) zulagen = zulagen + [summe] @zulagen_block = Block.new(zulagen, ["Zulagen", "Menge", "Ansatz / %", "Betrag"]) else zulagen << Fakt.new("Zulage Nacht (#{monat} #{jahr})", nil, nil, @rohdaten.zulage_nacht.menge, nil) zulagen << Fakt.new("Zulage Wochenende (#{monat} #{jahr})", nil, nil, @rohdaten.zulage_wochenende.menge, nil) summe = Rechnung.new("Summe", zulagen, [], '') zulagen = zulagen + [summe] @zulagen_block = Block.new(zulagen, ["Zulagen", nil, nil, "Stunden"]) end end |
#end_datum ⇒ Object
129 130 131 |
# File 'lib/lohnausweis/daten.rb', line 129 def end_datum @rohdaten.end_datum.strftime("%d.%m.%Y") end |
#jahr ⇒ Object
137 138 139 |
# File 'lib/lohnausweis/daten.rb', line 137 def jahr @rohdaten.start_datum.strftime("%Y") end |
#monat ⇒ Object
133 134 135 |
# File 'lib/lohnausweis/daten.rb', line 133 def monat I18n.localize @rohdaten.start_datum, :format => "%B", :locale => :de end |
#start_datum ⇒ Object
125 126 127 |
# File 'lib/lohnausweis/daten.rb', line 125 def start_datum @rohdaten.start_datum.strftime("%d.%m.%Y") end |
#zeit_bis_to_s(a) ⇒ Object
98 99 100 101 102 103 104 |
# File 'lib/lohnausweis/daten.rb', line 98 def zeit_bis_to_s(a) if a.zeit_bis.nil? return nil end s = a.zeit_bis.strftime("%H:%M") s == "00:00" ? "24:00" : s end |
#zulagen_daten ⇒ Object
Neu Aenderung für MEDPHONE März 2015: Nur Arbeitsliste, Arbeitszeit und Zulagen
113 114 115 |
# File 'lib/lohnausweis/daten.rb', line 113 def zulagen_daten @zulagen_block.daten end |