Class: Planik::Lohnausweis::Daten

Inherits:
Object
  • Object
show all
Defined in:
lib/lohnausweis/daten.rb

Defined Under Namespace

Classes: Block

Instance Method Summary collapse

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

#adresseObject



106
107
108
# File 'lib/lohnausweis/daten.rb', line 106

def adresse
  @rohdaten.adresse
end

#arbeitslisteObject



120
121
122
# File 'lib/lohnausweis/daten.rb', line 120

def arbeitsliste
  @arbeitsliste
end

#arbeitszeit_datenObject



116
117
118
# File 'lib/lohnausweis/daten.rb', line 116

def arbeitszeit_daten
  @arbeitszeit_block.daten
end

#create_arbeitslisteObject

erstellt die Arbeitliste :eintraege

titel, arbeitsitems, Total


78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/lohnausweis/daten.rb', line 78

def create_arbeitsliste

  eintraege = []
  titel = @rohdaten.arbeitsliste_spalten.map{|x| x.text}#["Datum", "Dienst/Arbeit", "Typ", "Start", "Ende", "Arbeitszeit"]
  eintraege << titel

  @rohdaten.arbeitsliste.each do |a|
    d = []
    @rohdaten.arbeitsliste_spalten.each do |spalte|
      d << spalte.format(a)
    end
    eintraege << d
  end

  last = Array.new#(@rohdaten.arbeitsliste_spalten.length)

  @rohdaten.arbeitsliste_spalten.each do |a|
    last << a.summe(@rohdaten.arbeitsliste)
  end
  last[0] = "Arbeitszeit total"

  eintraege << last

  al = {spalten: @rohdaten.arbeitsliste_spalten, eintraege: eintraege}
  @arbeitsliste = al
end

#create_arbeitszeit_blockObject



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_blockObject

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_datumObject



128
129
130
# File 'lib/lohnausweis/daten.rb', line 128

def end_datum
  @rohdaten.end_datum.strftime("%d.%m.%Y")
end

#jahrObject



136
137
138
# File 'lib/lohnausweis/daten.rb', line 136

def jahr
  @rohdaten.start_datum.strftime("%Y")
end

#monatObject



132
133
134
# File 'lib/lohnausweis/daten.rb', line 132

def monat
  I18n.localize @rohdaten.start_datum, :format => "%B", :locale => :de
end

#start_datumObject



124
125
126
# File 'lib/lohnausweis/daten.rb', line 124

def start_datum
  @rohdaten.start_datum.strftime("%d.%m.%Y")
end

#zulagen_datenObject

Neu Aenderung für MEDPHONE März 2015: Nur Arbeitsliste, Arbeitszeit und Zulagen



112
113
114
# File 'lib/lohnausweis/daten.rb', line 112

def zulagen_daten
  @zulagen_block.daten
end