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
96 97 98 |
# File 'lib/lohnausweis/daten.rb', line 96 def adresse @rohdaten.adresse end |
#arbeitsliste ⇒ Object
110 111 112 |
# File 'lib/lohnausweis/daten.rb', line 110 def arbeitsliste @arbeitsliste end |
#arbeitszeit_daten ⇒ Object
106 107 108 |
# File 'lib/lohnausweis/daten.rb', line 106 def arbeitszeit_daten @arbeitszeit_block.daten end |
#create_arbeitsliste ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/lohnausweis/daten.rb', line 65 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
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/lohnausweis/daten.rb', line 53 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 |
# File 'lib/lohnausweis/daten.rb', line 41 def create_zulagen_block zulagen = [] 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"]) end |
#end_datum ⇒ Object
118 119 120 |
# File 'lib/lohnausweis/daten.rb', line 118 def end_datum @rohdaten.end_datum.strftime("%d.%m.%Y") end |
#jahr ⇒ Object
126 127 128 |
# File 'lib/lohnausweis/daten.rb', line 126 def jahr @rohdaten.start_datum.strftime("%Y") end |
#monat ⇒ Object
122 123 124 |
# File 'lib/lohnausweis/daten.rb', line 122 def monat I18n.localize @rohdaten.start_datum, :format => "%B", :locale => :de end |
#start_datum ⇒ Object
114 115 116 |
# File 'lib/lohnausweis/daten.rb', line 114 def start_datum @rohdaten.start_datum.strftime("%d.%m.%Y") end |
#zeit_bis_to_s(a) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/lohnausweis/daten.rb', line 87 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
102 103 104 |
# File 'lib/lohnausweis/daten.rb', line 102 def zulagen_daten @zulagen_block.daten end |