lohnausweis 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/lohnausweis/daten.rb +37 -2
- data/lib/lohnausweis/pdf_generator.rb +45 -6
- data/lib/lohnausweis/rohdaten.rb +11 -0
- data/lib/lohnausweis/version.rb +1 -1
- data/mit_korrektur_januar.pdf +323 -208
- data/spec/lohnausweis/pdf_generator_spec.rb +8 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9921dfa356202040738e98c61270732beaae5346
|
4
|
+
data.tar.gz: 847cc468ab1db7384b21dbfbf530407f90d02491
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45b702f8773730ae17e0b5aaabf1e90cc5c4a2f8f3cd06f1288894fc7656fc3c8fedfcd215d2d73bf2f9cd9f9a239eb3c105cb722a3d3eeefb6d3304c4d66ca3
|
7
|
+
data.tar.gz: f1aa6f986d0faa20143ea6897890920ca805a4f69504ae194db3bf5615250dfcccbba8bf28b38460e6fb7d3cd964709e3b3d61a3b7fb272181b64d33d080f71f
|
data/Gemfile.lock
CHANGED
data/lib/lohnausweis/daten.rb
CHANGED
@@ -35,6 +35,7 @@ module Planik
|
|
35
35
|
create_abzuege_block(bruttolohn_eintrag)
|
36
36
|
create_ferien_block
|
37
37
|
create_arbeitszeit_block
|
38
|
+
create_arbeitsliste
|
38
39
|
end
|
39
40
|
|
40
41
|
def create_lohn_block
|
@@ -98,6 +99,37 @@ module Planik
|
|
98
99
|
@arbeitszeit_block = Block.new(eintraege, titel)
|
99
100
|
end
|
100
101
|
|
102
|
+
def create_arbeitsliste
|
103
|
+
eintraege = []
|
104
|
+
titel = ["Datum", "Dienst/Arbeit", "Typ", "Start", "Ende", "Arbeitszeit"]
|
105
|
+
eintraege << titel
|
106
|
+
|
107
|
+
@rohdaten.arbeitsliste.each do |a|
|
108
|
+
d = []
|
109
|
+
d << a.datum.strftime("%d.%m.%Y")
|
110
|
+
d << a.name
|
111
|
+
d << a.typ
|
112
|
+
d << (a.zeit_von.nil? ? nil: a.zeit_von.strftime("%H:%M"))
|
113
|
+
d << (zeit_bis_to_s(a))
|
114
|
+
d << format('%.2f', a.arbeitszeit)
|
115
|
+
eintraege << d
|
116
|
+
end
|
117
|
+
sum = 0
|
118
|
+
@rohdaten.arbeitsliste.each{|x| sum += x.arbeitszeit}
|
119
|
+
sum = format('%.2f', sum)
|
120
|
+
eintraege << ["Arbeitszeit total", nil, nil, nil, nil, sum]
|
121
|
+
@arbeitsliste = eintraege
|
122
|
+
end
|
123
|
+
|
124
|
+
def zeit_bis_to_s(a)
|
125
|
+
if a.zeit_bis.nil?
|
126
|
+
return nil
|
127
|
+
end
|
128
|
+
s = a.zeit_bis.strftime("%H:%M")
|
129
|
+
s == "00:00" ? "24:00" : s
|
130
|
+
end
|
131
|
+
|
132
|
+
|
101
133
|
def adresse
|
102
134
|
@rohdaten.adresse
|
103
135
|
end
|
@@ -119,6 +151,10 @@ module Planik
|
|
119
151
|
@arbeitszeit_block.daten
|
120
152
|
end
|
121
153
|
|
154
|
+
def arbeitsliste
|
155
|
+
@arbeitsliste
|
156
|
+
end
|
157
|
+
|
122
158
|
def start_datum
|
123
159
|
@rohdaten.start_datum.strftime("%d.%m.%Y")
|
124
160
|
end
|
@@ -128,11 +164,10 @@ module Planik
|
|
128
164
|
end
|
129
165
|
|
130
166
|
def jahr
|
131
|
-
|
167
|
+
@rohdaten.start_datum.strftime("%Y")
|
132
168
|
end
|
133
169
|
|
134
170
|
def monat
|
135
|
-
puts I18n.load_path
|
136
171
|
I18n.localize @rohdaten.start_datum, :format => "%B", :locale => :de
|
137
172
|
end
|
138
173
|
|
@@ -17,7 +17,7 @@ module Planik
|
|
17
17
|
# Erstellt das PDF und liefert es zurück
|
18
18
|
def create_pdf
|
19
19
|
@pdf = Prawn::Document.new(page_size: "A4")
|
20
|
-
|
20
|
+
#@pdf.stroke_axis # Die Masse auf den Achsen
|
21
21
|
@pdf.font("Helvetica", size: 8) #Default Font and size
|
22
22
|
@pdf.default_leading = 0
|
23
23
|
next_y = 750
|
@@ -26,6 +26,7 @@ module Planik
|
|
26
26
|
next_y = ferien_block(next_y)
|
27
27
|
arbeitszeit_block(next_y)
|
28
28
|
footer()
|
29
|
+
arbeitsliste()
|
29
30
|
@pdf
|
30
31
|
end
|
31
32
|
|
@@ -87,11 +88,52 @@ module Planik
|
|
87
88
|
end
|
88
89
|
|
89
90
|
def footer
|
90
|
-
ypos =
|
91
|
+
ypos = 26
|
91
92
|
@pdf.bounding_box([XPOS, ypos], width: WIDTH) do
|
92
93
|
@pdf.font("Helvetica", size: 8) do
|
93
94
|
@pdf.text("Wir bitten Sie, die Lohnabrechnung sofort zu prüfen und Unstimmigkeiten unverzüglich mitzuteilen.")
|
94
|
-
@pdf.text("Anhang: Arbeitszeit
|
95
|
+
@pdf.text("Anhang: Arbeitszeit von #{@daten.start_datum} bis #{@daten.end_datum}.")
|
96
|
+
@pdf.text("Generiert von Planik am #{Time.now.strftime("%d.%m.%Y um %H:%M Uhr")}", align: :right)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
def arbeitsliste
|
102
|
+
@pdf.start_new_page
|
103
|
+
@pdf.text("Anhang: Arbeitszeit von #{@daten.start_datum} bis #{@daten.end_datum}", style: :bold)
|
104
|
+
arbeitsliste = @daten.arbeitsliste
|
105
|
+
make_arbeitsliste_table(XPOS, 750, arbeitsliste, true)
|
106
|
+
ypos = 18
|
107
|
+
@pdf.bounding_box([XPOS, ypos], width: WIDTH) do
|
108
|
+
@pdf.font("Helvetica", size: 8) do
|
109
|
+
@pdf.text("Generiert von Planik am #{Time.now.strftime("%d.%m.%Y um %H:%M Uhr")}", align: :right)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
def make_arbeitsliste_table(xpos, ypos, daten, title = false)
|
117
|
+
@pdf.bounding_box([xpos, ypos], width: WIDTH) do #height dynmaisch
|
118
|
+
p_width = @pdf.bounds.width
|
119
|
+
r1 = Rational(1, 6)
|
120
|
+
r2 = r1 * Rational(1, 3)
|
121
|
+
column_width = [p_width * r1, p_width * r1, p_width * r1, p_width * r1, p_width * r1, p_width * r1]
|
122
|
+
@pdf.table(daten, column_widths: column_width,
|
123
|
+
cell_style: {
|
124
|
+
borders: [], #keine Ränder
|
125
|
+
padding_top: 3, padding_bottom: 3
|
126
|
+
|
127
|
+
}
|
128
|
+
) do |t|
|
129
|
+
if title
|
130
|
+
t.row(0).style(font_style: :bold) #Titel bold
|
131
|
+
t.row(0).background_color = "D8D8D8"
|
132
|
+
end
|
133
|
+
t.column(5).style(align: :right)
|
134
|
+
t.cells[t.row_length-1, 0].font_style = :bold
|
135
|
+
t.cells[t.row_length-1, 5].borders = [:top]
|
136
|
+
t.cells[t.row_length-1, 5].font_style = :bold
|
95
137
|
end
|
96
138
|
end
|
97
139
|
end
|
@@ -119,11 +161,8 @@ module Planik
|
|
119
161
|
t.cells[t.row_length-1, 3].borders = [:top]
|
120
162
|
t.cells[t.row_length-1, 3].font_style = :bold
|
121
163
|
end
|
122
|
-
# @pdf.stroke_bounds
|
123
164
|
end
|
124
165
|
end
|
125
|
-
|
126
|
-
|
127
166
|
end
|
128
167
|
end
|
129
168
|
end
|
data/lib/lohnausweis/rohdaten.rb
CHANGED
@@ -60,6 +60,14 @@ module Planik
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
class ArbeitsItem
|
64
|
+
attr_accessor :datum, :name, :typ, :zeit_von, :zeit_bis, :arbeitszeit
|
65
|
+
|
66
|
+
def initialize(datum, name, typ, zeit_von, zeit_bis, arbeitszeit)
|
67
|
+
@datum, @name, @typ, @zeit_von, @zeit_bis, @arbeitszeit = datum, name, typ, zeit_von, zeit_bis, arbeitszeit
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
63
71
|
attr_accessor :start_datum, :end_datum
|
64
72
|
attr_accessor :monatslohn
|
65
73
|
attr_accessor :adresse
|
@@ -71,10 +79,12 @@ module Planik
|
|
71
79
|
attr_accessor :ferien
|
72
80
|
attr_accessor :lohn_freifelder
|
73
81
|
attr_accessor :abzug_freifelder
|
82
|
+
attr_accessor :arbeitsliste
|
74
83
|
|
75
84
|
def initialize
|
76
85
|
@lohn_freifelder = []
|
77
86
|
@abzug_freifelder = []
|
87
|
+
@arbeitsliste = []
|
78
88
|
yield self
|
79
89
|
|
80
90
|
end
|
@@ -82,6 +92,7 @@ module Planik
|
|
82
92
|
def add_lohn_freifeld freifeld
|
83
93
|
lohn_freifelder << freifeld
|
84
94
|
end
|
95
|
+
|
85
96
|
def add_abzug_freifeld freifeld
|
86
97
|
abzug_freifelder << freifeld
|
87
98
|
end
|
data/lib/lohnausweis/version.rb
CHANGED
data/mit_korrektur_januar.pdf
CHANGED
@@ -12,204 +12,15 @@ endobj
|
|
12
12
|
endobj
|
13
13
|
3 0 obj
|
14
14
|
<< /Type /Pages
|
15
|
-
/Count
|
16
|
-
/Kids [5 0 R]
|
15
|
+
/Count 2
|
16
|
+
/Kids [5 0 R 9 0 R]
|
17
17
|
>>
|
18
18
|
endobj
|
19
19
|
4 0 obj
|
20
|
-
<< /Length
|
20
|
+
<< /Length 10967
|
21
21
|
>>
|
22
22
|
stream
|
23
23
|
q
|
24
|
-
q
|
25
|
-
/DeviceRGB cs
|
26
|
-
0.000 0.000 0.000 scn
|
27
|
-
/DeviceRGB CS
|
28
|
-
0.000 0.000 0.000 SCN
|
29
|
-
[1 4] 0 d
|
30
|
-
16.000 36.000 m
|
31
|
-
559.000 36.000 l
|
32
|
-
S
|
33
|
-
36.000 16.000 m
|
34
|
-
36.000 805.000 l
|
35
|
-
S
|
36
|
-
[ ] 0 d
|
37
|
-
37.000 36.000 m
|
38
|
-
37.000 36.552 36.552 37.000 36.000 37.000 c
|
39
|
-
35.448 37.000 35.000 36.552 35.000 36.000 c
|
40
|
-
35.000 35.448 35.448 35.000 36.000 35.000 c
|
41
|
-
36.552 35.000 37.000 35.448 37.000 36.000 c
|
42
|
-
36.000 36.000 m
|
43
|
-
f
|
44
|
-
137.000 36.000 m
|
45
|
-
137.000 36.552 136.552 37.000 136.000 37.000 c
|
46
|
-
135.448 37.000 135.000 36.552 135.000 36.000 c
|
47
|
-
135.000 35.448 135.448 35.000 136.000 35.000 c
|
48
|
-
136.552 35.000 137.000 35.448 137.000 36.000 c
|
49
|
-
136.000 36.000 m
|
50
|
-
f
|
51
|
-
|
52
|
-
BT
|
53
|
-
131 26.0 Td
|
54
|
-
/F1.0 7 Tf
|
55
|
-
[<313030>] TJ
|
56
|
-
ET
|
57
|
-
|
58
|
-
237.000 36.000 m
|
59
|
-
237.000 36.552 236.552 37.000 236.000 37.000 c
|
60
|
-
235.448 37.000 235.000 36.552 235.000 36.000 c
|
61
|
-
235.000 35.448 235.448 35.000 236.000 35.000 c
|
62
|
-
236.552 35.000 237.000 35.448 237.000 36.000 c
|
63
|
-
236.000 36.000 m
|
64
|
-
f
|
65
|
-
|
66
|
-
BT
|
67
|
-
231 26.0 Td
|
68
|
-
/F1.0 7 Tf
|
69
|
-
[<323030>] TJ
|
70
|
-
ET
|
71
|
-
|
72
|
-
337.000 36.000 m
|
73
|
-
337.000 36.552 336.552 37.000 336.000 37.000 c
|
74
|
-
335.448 37.000 335.000 36.552 335.000 36.000 c
|
75
|
-
335.000 35.448 335.448 35.000 336.000 35.000 c
|
76
|
-
336.552 35.000 337.000 35.448 337.000 36.000 c
|
77
|
-
336.000 36.000 m
|
78
|
-
f
|
79
|
-
|
80
|
-
BT
|
81
|
-
331 26.0 Td
|
82
|
-
/F1.0 7 Tf
|
83
|
-
[<333030>] TJ
|
84
|
-
ET
|
85
|
-
|
86
|
-
437.000 36.000 m
|
87
|
-
437.000 36.552 436.552 37.000 436.000 37.000 c
|
88
|
-
435.448 37.000 435.000 36.552 435.000 36.000 c
|
89
|
-
435.000 35.448 435.448 35.000 436.000 35.000 c
|
90
|
-
436.552 35.000 437.000 35.448 437.000 36.000 c
|
91
|
-
436.000 36.000 m
|
92
|
-
f
|
93
|
-
|
94
|
-
BT
|
95
|
-
431 26.0 Td
|
96
|
-
/F1.0 7 Tf
|
97
|
-
[<343030>] TJ
|
98
|
-
ET
|
99
|
-
|
100
|
-
537.000 36.000 m
|
101
|
-
537.000 36.552 536.552 37.000 536.000 37.000 c
|
102
|
-
535.448 37.000 535.000 36.552 535.000 36.000 c
|
103
|
-
535.000 35.448 535.448 35.000 536.000 35.000 c
|
104
|
-
536.552 35.000 537.000 35.448 537.000 36.000 c
|
105
|
-
536.000 36.000 m
|
106
|
-
f
|
107
|
-
|
108
|
-
BT
|
109
|
-
531 26.0 Td
|
110
|
-
/F1.0 7 Tf
|
111
|
-
[<353030>] TJ
|
112
|
-
ET
|
113
|
-
|
114
|
-
37.000 136.000 m
|
115
|
-
37.000 136.552 36.552 137.000 36.000 137.000 c
|
116
|
-
35.448 137.000 35.000 136.552 35.000 136.000 c
|
117
|
-
35.000 135.448 35.448 135.000 36.000 135.000 c
|
118
|
-
36.552 135.000 37.000 135.448 37.000 136.000 c
|
119
|
-
36.000 136.000 m
|
120
|
-
f
|
121
|
-
|
122
|
-
BT
|
123
|
-
19 134.0 Td
|
124
|
-
/F1.0 7 Tf
|
125
|
-
[<313030>] TJ
|
126
|
-
ET
|
127
|
-
|
128
|
-
37.000 236.000 m
|
129
|
-
37.000 236.552 36.552 237.000 36.000 237.000 c
|
130
|
-
35.448 237.000 35.000 236.552 35.000 236.000 c
|
131
|
-
35.000 235.448 35.448 235.000 36.000 235.000 c
|
132
|
-
36.552 235.000 37.000 235.448 37.000 236.000 c
|
133
|
-
36.000 236.000 m
|
134
|
-
f
|
135
|
-
|
136
|
-
BT
|
137
|
-
19 234.0 Td
|
138
|
-
/F1.0 7 Tf
|
139
|
-
[<323030>] TJ
|
140
|
-
ET
|
141
|
-
|
142
|
-
37.000 336.000 m
|
143
|
-
37.000 336.552 36.552 337.000 36.000 337.000 c
|
144
|
-
35.448 337.000 35.000 336.552 35.000 336.000 c
|
145
|
-
35.000 335.448 35.448 335.000 36.000 335.000 c
|
146
|
-
36.552 335.000 37.000 335.448 37.000 336.000 c
|
147
|
-
36.000 336.000 m
|
148
|
-
f
|
149
|
-
|
150
|
-
BT
|
151
|
-
19 334.0 Td
|
152
|
-
/F1.0 7 Tf
|
153
|
-
[<333030>] TJ
|
154
|
-
ET
|
155
|
-
|
156
|
-
37.000 436.000 m
|
157
|
-
37.000 436.552 36.552 437.000 36.000 437.000 c
|
158
|
-
35.448 437.000 35.000 436.552 35.000 436.000 c
|
159
|
-
35.000 435.448 35.448 435.000 36.000 435.000 c
|
160
|
-
36.552 435.000 37.000 435.448 37.000 436.000 c
|
161
|
-
36.000 436.000 m
|
162
|
-
f
|
163
|
-
|
164
|
-
BT
|
165
|
-
19 434.0 Td
|
166
|
-
/F1.0 7 Tf
|
167
|
-
[<343030>] TJ
|
168
|
-
ET
|
169
|
-
|
170
|
-
37.000 536.000 m
|
171
|
-
37.000 536.552 36.552 537.000 36.000 537.000 c
|
172
|
-
35.448 537.000 35.000 536.552 35.000 536.000 c
|
173
|
-
35.000 535.448 35.448 535.000 36.000 535.000 c
|
174
|
-
36.552 535.000 37.000 535.448 37.000 536.000 c
|
175
|
-
36.000 536.000 m
|
176
|
-
f
|
177
|
-
|
178
|
-
BT
|
179
|
-
19 534.0 Td
|
180
|
-
/F1.0 7 Tf
|
181
|
-
[<353030>] TJ
|
182
|
-
ET
|
183
|
-
|
184
|
-
37.000 636.000 m
|
185
|
-
37.000 636.552 36.552 637.000 36.000 637.000 c
|
186
|
-
35.448 637.000 35.000 636.552 35.000 636.000 c
|
187
|
-
35.000 635.448 35.448 635.000 36.000 635.000 c
|
188
|
-
36.552 635.000 37.000 635.448 37.000 636.000 c
|
189
|
-
36.000 636.000 m
|
190
|
-
f
|
191
|
-
|
192
|
-
BT
|
193
|
-
19 634.0 Td
|
194
|
-
/F1.0 7 Tf
|
195
|
-
[<363030>] TJ
|
196
|
-
ET
|
197
|
-
|
198
|
-
37.000 736.000 m
|
199
|
-
37.000 736.552 36.552 737.000 36.000 737.000 c
|
200
|
-
35.448 737.000 35.000 736.552 35.000 736.000 c
|
201
|
-
35.000 735.448 35.448 735.000 36.000 735.000 c
|
202
|
-
36.552 735.000 37.000 735.448 37.000 736.000 c
|
203
|
-
36.000 736.000 m
|
204
|
-
f
|
205
|
-
|
206
|
-
BT
|
207
|
-
19 734.0 Td
|
208
|
-
/F1.0 7 Tf
|
209
|
-
[<373030>] TJ
|
210
|
-
ET
|
211
|
-
|
212
|
-
Q
|
213
24
|
|
214
25
|
BT
|
215
26
|
386 707.384 Td
|
@@ -234,12 +45,12 @@ ET
|
|
234
45
|
|
235
46
|
BT
|
236
47
|
416.024 679.6399999999999 Td
|
237
|
-
/
|
238
|
-
[<
|
48
|
+
/F1.0 12 Tf
|
49
|
+
[<204f626572> -15 <75747a77696c>] TJ
|
239
50
|
ET
|
240
51
|
|
241
52
|
416.024 678.390 m
|
242
|
-
|
53
|
+
476.216 678.390 l
|
243
54
|
S
|
244
55
|
|
245
56
|
BT
|
@@ -935,7 +746,7 @@ ET
|
|
935
746
|
BT
|
936
747
|
41 247.38400000000004 Td
|
937
748
|
/F1.0 8 Tf
|
938
|
-
[<
|
749
|
+
[<5374756e64656e73616c646f2056> 80 <6f72> -25 <6d6f6e6174>] TJ
|
939
750
|
ET
|
940
751
|
|
941
752
|
1 w
|
@@ -992,7 +803,7 @@ ET
|
|
992
803
|
BT
|
993
804
|
507.53599999999994 216.88800000000003 Td
|
994
805
|
/F1.0 8 Tf
|
995
|
-
[<
|
806
|
+
[<3135332e3637>] TJ
|
996
807
|
ET
|
997
808
|
|
998
809
|
1 w
|
@@ -1001,7 +812,7 @@ ET
|
|
1001
812
|
BT
|
1002
813
|
41 201.50400000000002 Td
|
1003
814
|
/F2.0 8 Tf
|
1004
|
-
[<
|
815
|
+
[<53616c646f207065722033302e30362e32303134>] TJ
|
1005
816
|
ET
|
1006
817
|
|
1007
818
|
1 w
|
@@ -1027,16 +838,23 @@ ET
|
|
1027
838
|
S
|
1028
839
|
|
1029
840
|
BT
|
1030
|
-
36
|
841
|
+
36 56.256 Td
|
1031
842
|
/F1.0 8 Tf
|
1032
843
|
[<5769722062697474656e20536965> 15 <2c20646965204c6f686e6162726563686e> 10 <756e6720736f66> 30 <6f72> -40 <74207a75207072> -15 <fc66> 30 <656e20756e6420556e7374696d6d69676b> 20 <656974656e20756e> 20 <76> 25 <65727afc676c696368206d69747a757465696c656e2e>] TJ
|
1033
844
|
ET
|
1034
845
|
|
1035
846
|
|
1036
847
|
BT
|
1037
|
-
36
|
848
|
+
36 47.008 Td
|
849
|
+
/F1.0 8 Tf
|
850
|
+
[<416e68616e673a20417262656974737a> 15 <6569742076> 25 <6f6e2030312e30362e32303134206269732033302e30362e323031342e>] TJ
|
851
|
+
ET
|
852
|
+
|
853
|
+
|
854
|
+
BT
|
855
|
+
357.00800000000004 37.760000000000005 Td
|
1038
856
|
/F1.0 8 Tf
|
1039
|
-
[<
|
857
|
+
[<47656e6572> -15 <696572> -40 <742076> 25 <6f6e20506c616e696b20616d2030392e30352e3230313420756d2031343a303320556872>] TJ
|
1040
858
|
ET
|
1041
859
|
|
1042
860
|
Q
|
@@ -1069,21 +887,318 @@ endobj
|
|
1069
887
|
/Encoding /WinAnsiEncoding
|
1070
888
|
>>
|
1071
889
|
endobj
|
890
|
+
8 0 obj
|
891
|
+
<< /Length 3304
|
892
|
+
>>
|
893
|
+
stream
|
894
|
+
q
|
895
|
+
|
896
|
+
BT
|
897
|
+
36 800.146 Td
|
898
|
+
/F2.0 8 Tf
|
899
|
+
[<416e68616e673a20417262656974737a> -10 <6569742076> 30 <6f6e2030312e30362e32303134206269732033302e30362e32303134>] TJ
|
900
|
+
ET
|
901
|
+
|
902
|
+
/DeviceRGB cs
|
903
|
+
0.847 0.847 0.847 scn
|
904
|
+
36.000 770.480 83.333 15.520 re
|
905
|
+
f
|
906
|
+
0.000 0.000 0.000 scn
|
907
|
+
0.847 0.847 0.847 scn
|
908
|
+
119.333 770.480 83.333 15.520 re
|
909
|
+
f
|
910
|
+
0.000 0.000 0.000 scn
|
911
|
+
0.847 0.847 0.847 scn
|
912
|
+
202.667 770.480 83.333 15.520 re
|
913
|
+
f
|
914
|
+
0.000 0.000 0.000 scn
|
915
|
+
0.847 0.847 0.847 scn
|
916
|
+
286.000 770.480 83.333 15.520 re
|
917
|
+
f
|
918
|
+
0.000 0.000 0.000 scn
|
919
|
+
0.847 0.847 0.847 scn
|
920
|
+
369.333 770.480 83.333 15.520 re
|
921
|
+
f
|
922
|
+
0.000 0.000 0.000 scn
|
923
|
+
0.847 0.847 0.847 scn
|
924
|
+
452.667 770.480 83.333 15.520 re
|
925
|
+
f
|
926
|
+
0.000 0.000 0.000 scn
|
927
|
+
1 w
|
928
|
+
/DeviceRGB CS
|
929
|
+
0.000 0.000 0.000 SCN
|
930
|
+
|
931
|
+
BT
|
932
|
+
41 775.3679999999999 Td
|
933
|
+
/F2.0 8 Tf
|
934
|
+
[<446174756d>] TJ
|
935
|
+
ET
|
936
|
+
|
937
|
+
1 w
|
938
|
+
0.000 0.000 0.000 SCN
|
939
|
+
|
940
|
+
BT
|
941
|
+
124.33333333333333 775.3679999999999 Td
|
942
|
+
/F2.0 8 Tf
|
943
|
+
[<4469656e73742f417262656974>] TJ
|
944
|
+
ET
|
945
|
+
|
946
|
+
1 w
|
947
|
+
0.000 0.000 0.000 SCN
|
948
|
+
|
949
|
+
BT
|
950
|
+
207.66666666666666 775.3679999999999 Td
|
951
|
+
/F2.0 8 Tf
|
952
|
+
[<54> 60 <7970>] TJ
|
953
|
+
ET
|
954
|
+
|
955
|
+
1 w
|
956
|
+
0.000 0.000 0.000 SCN
|
957
|
+
|
958
|
+
BT
|
959
|
+
291.0 775.3679999999999 Td
|
960
|
+
/F2.0 8 Tf
|
961
|
+
[<53746172> -20 <74>] TJ
|
962
|
+
ET
|
963
|
+
|
964
|
+
1 w
|
965
|
+
0.000 0.000 0.000 SCN
|
966
|
+
|
967
|
+
BT
|
968
|
+
374.3333333333333 775.3679999999999 Td
|
969
|
+
/F2.0 8 Tf
|
970
|
+
[<456e6465>] TJ
|
971
|
+
ET
|
972
|
+
|
973
|
+
1 w
|
974
|
+
0.000 0.000 0.000 SCN
|
975
|
+
|
976
|
+
BT
|
977
|
+
491.02399999999994 775.3679999999999 Td
|
978
|
+
/F2.0 8 Tf
|
979
|
+
[<417262656974737a> -10 <656974>] TJ
|
980
|
+
ET
|
981
|
+
|
982
|
+
1 w
|
983
|
+
0.000 0.000 0.000 SCN
|
984
|
+
|
985
|
+
BT
|
986
|
+
41 759.984 Td
|
987
|
+
/F1.0 8 Tf
|
988
|
+
[<30312e30362e32303134>] TJ
|
989
|
+
ET
|
990
|
+
|
991
|
+
1 w
|
992
|
+
0.000 0.000 0.000 SCN
|
993
|
+
|
994
|
+
BT
|
995
|
+
124.33333333333333 759.984 Td
|
996
|
+
/F1.0 8 Tf
|
997
|
+
[<34>] TJ
|
998
|
+
ET
|
999
|
+
|
1000
|
+
1 w
|
1001
|
+
0.000 0.000 0.000 SCN
|
1002
|
+
|
1003
|
+
BT
|
1004
|
+
207.66666666666666 759.984 Td
|
1005
|
+
/F1.0 8 Tf
|
1006
|
+
[<4469656e7374>] TJ
|
1007
|
+
ET
|
1008
|
+
|
1009
|
+
1 w
|
1010
|
+
0.000 0.000 0.000 SCN
|
1011
|
+
|
1012
|
+
BT
|
1013
|
+
291.0 759.984 Td
|
1014
|
+
/F1.0 8 Tf
|
1015
|
+
[<30363a3435>] TJ
|
1016
|
+
ET
|
1017
|
+
|
1018
|
+
1 w
|
1019
|
+
0.000 0.000 0.000 SCN
|
1020
|
+
|
1021
|
+
BT
|
1022
|
+
374.3333333333333 759.984 Td
|
1023
|
+
/F1.0 8 Tf
|
1024
|
+
[<31363a3030>] TJ
|
1025
|
+
ET
|
1026
|
+
|
1027
|
+
1 w
|
1028
|
+
0.000 0.000 0.000 SCN
|
1029
|
+
|
1030
|
+
BT
|
1031
|
+
516.432 759.984 Td
|
1032
|
+
/F1.0 8 Tf
|
1033
|
+
[<382e3234>] TJ
|
1034
|
+
ET
|
1035
|
+
|
1036
|
+
1 w
|
1037
|
+
0.000 0.000 0.000 SCN
|
1038
|
+
|
1039
|
+
BT
|
1040
|
+
41 744.736 Td
|
1041
|
+
/F1.0 8 Tf
|
1042
|
+
[<30322e30362e32303134>] TJ
|
1043
|
+
ET
|
1044
|
+
|
1045
|
+
1 w
|
1046
|
+
0.000 0.000 0.000 SCN
|
1047
|
+
|
1048
|
+
BT
|
1049
|
+
124.33333333333333 744.736 Td
|
1050
|
+
/F1.0 8 Tf
|
1051
|
+
[<32>] TJ
|
1052
|
+
ET
|
1053
|
+
|
1054
|
+
1 w
|
1055
|
+
0.000 0.000 0.000 SCN
|
1056
|
+
|
1057
|
+
BT
|
1058
|
+
207.66666666666666 744.736 Td
|
1059
|
+
/F1.0 8 Tf
|
1060
|
+
[<4469656e7374>] TJ
|
1061
|
+
ET
|
1062
|
+
|
1063
|
+
1 w
|
1064
|
+
0.000 0.000 0.000 SCN
|
1065
|
+
|
1066
|
+
BT
|
1067
|
+
291.0 744.736 Td
|
1068
|
+
/F1.0 8 Tf
|
1069
|
+
[<30373a3435>] TJ
|
1070
|
+
ET
|
1071
|
+
|
1072
|
+
1 w
|
1073
|
+
0.000 0.000 0.000 SCN
|
1074
|
+
|
1075
|
+
BT
|
1076
|
+
374.3333333333333 744.736 Td
|
1077
|
+
/F1.0 8 Tf
|
1078
|
+
[<32343a3030>] TJ
|
1079
|
+
ET
|
1080
|
+
|
1081
|
+
1 w
|
1082
|
+
0.000 0.000 0.000 SCN
|
1083
|
+
|
1084
|
+
BT
|
1085
|
+
516.432 744.736 Td
|
1086
|
+
/F1.0 8 Tf
|
1087
|
+
[<362e3233>] TJ
|
1088
|
+
ET
|
1089
|
+
|
1090
|
+
1 w
|
1091
|
+
0.000 0.000 0.000 SCN
|
1092
|
+
|
1093
|
+
BT
|
1094
|
+
41 729.488 Td
|
1095
|
+
/F1.0 8 Tf
|
1096
|
+
[<30322e30362e32303134>] TJ
|
1097
|
+
ET
|
1098
|
+
|
1099
|
+
1 w
|
1100
|
+
0.000 0.000 0.000 SCN
|
1101
|
+
|
1102
|
+
BT
|
1103
|
+
124.33333333333333 729.488 Td
|
1104
|
+
/F1.0 8 Tf
|
1105
|
+
[<32>] TJ
|
1106
|
+
ET
|
1107
|
+
|
1108
|
+
1 w
|
1109
|
+
0.000 0.000 0.000 SCN
|
1110
|
+
|
1111
|
+
BT
|
1112
|
+
207.66666666666666 729.488 Td
|
1113
|
+
/F1.0 8 Tf
|
1114
|
+
[<416e6465726520417262656974>] TJ
|
1115
|
+
ET
|
1116
|
+
|
1117
|
+
1 w
|
1118
|
+
0.000 0.000 0.000 SCN
|
1119
|
+
1 w
|
1120
|
+
0.000 0.000 0.000 SCN
|
1121
|
+
1 w
|
1122
|
+
0.000 0.000 0.000 SCN
|
1123
|
+
|
1124
|
+
BT
|
1125
|
+
516.432 729.488 Td
|
1126
|
+
/F1.0 8 Tf
|
1127
|
+
[<362e3234>] TJ
|
1128
|
+
ET
|
1129
|
+
|
1130
|
+
1 w
|
1131
|
+
0.000 0.000 0.000 SCN
|
1132
|
+
|
1133
|
+
BT
|
1134
|
+
41 714.1039999999999 Td
|
1135
|
+
/F2.0 8 Tf
|
1136
|
+
[<417262656974737a> -10 <65697420746f74616c>] TJ
|
1137
|
+
ET
|
1138
|
+
|
1139
|
+
1 w
|
1140
|
+
0.000 0.000 0.000 SCN
|
1141
|
+
1 w
|
1142
|
+
0.000 0.000 0.000 SCN
|
1143
|
+
1 w
|
1144
|
+
0.000 0.000 0.000 SCN
|
1145
|
+
1 w
|
1146
|
+
0.000 0.000 0.000 SCN
|
1147
|
+
1 w
|
1148
|
+
0.000 0.000 0.000 SCN
|
1149
|
+
452.667 724.736 m
|
1150
|
+
536.000 724.736 l
|
1151
|
+
S
|
1152
|
+
[ ] 0 d
|
1153
|
+
1 w
|
1154
|
+
0.000 0.000 0.000 SCN
|
1155
|
+
|
1156
|
+
BT
|
1157
|
+
511.9839999999999 714.1039999999999 Td
|
1158
|
+
/F2.0 8 Tf
|
1159
|
+
[<32302e3731>] TJ
|
1160
|
+
ET
|
1161
|
+
|
1162
|
+
|
1163
|
+
BT
|
1164
|
+
357.00800000000004 48.256 Td
|
1165
|
+
/F1.0 8 Tf
|
1166
|
+
[<47656e6572> -15 <696572> -40 <742076> 25 <6f6e20506c616e696b20616d2030392e30352e3230313420756d2031343a303320556872>] TJ
|
1167
|
+
ET
|
1168
|
+
|
1169
|
+
Q
|
1170
|
+
|
1171
|
+
endstream
|
1172
|
+
endobj
|
1173
|
+
9 0 obj
|
1174
|
+
<< /Type /Page
|
1175
|
+
/Parent 3 0 R
|
1176
|
+
/MediaBox [0 0 595.28 841.89]
|
1177
|
+
/Contents 8 0 R
|
1178
|
+
/Resources << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
|
1179
|
+
/Font << /F2.0 7 0 R
|
1180
|
+
/F1.0 6 0 R
|
1181
|
+
>>
|
1182
|
+
>>
|
1183
|
+
>>
|
1184
|
+
endobj
|
1072
1185
|
xref
|
1073
|
-
0
|
1186
|
+
0 10
|
1074
1187
|
0000000000 65535 f
|
1075
1188
|
0000000015 00000 n
|
1076
1189
|
0000000109 00000 n
|
1077
1190
|
0000000158 00000 n
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1191
|
+
0000000221 00000 n
|
1192
|
+
0000011241 00000 n
|
1193
|
+
0000011433 00000 n
|
1194
|
+
0000011530 00000 n
|
1195
|
+
0000011632 00000 n
|
1196
|
+
0000014988 00000 n
|
1082
1197
|
trailer
|
1083
|
-
<< /Size
|
1198
|
+
<< /Size 10
|
1084
1199
|
/Root 2 0 R
|
1085
1200
|
/Info 1 0 R
|
1086
1201
|
>>
|
1087
1202
|
startxref
|
1088
|
-
|
1203
|
+
15180
|
1089
1204
|
%%EOF
|
@@ -10,7 +10,7 @@ module Planik
|
|
10
10
|
r.end_datum = Date.new(2014, 06, 30)
|
11
11
|
r.adresse = Rohdaten::Adresse.new("Margherita", "Giuba", "Mauerstrasse", "34E", "3456", "Oberutzwil")
|
12
12
|
r.monatslohn = 4500
|
13
|
-
r.arbeitszeit = Rohdaten::Arbeitszeit.new(-22.3, 150, 153.
|
13
|
+
r.arbeitszeit = Rohdaten::Arbeitszeit.new(-22.3, 150, 153.665)
|
14
14
|
r.zulage_nacht = Rohdaten::MengeAnsatz.new(3.56, 8)
|
15
15
|
r.zulage_wochenende = Rohdaten::MengeAnsatz.new(2.12, 8)
|
16
16
|
r.kinderzulage = Rohdaten::MengeAnsatz.new(2, 260)
|
@@ -26,6 +26,13 @@ module Planik
|
|
26
26
|
r.add_abzug_freifeld(Rohdaten::Freifeld.new("Händischer Abzug", "irgendwas", "nochmals was", 12))
|
27
27
|
|
28
28
|
r.ferien = Rohdaten::Ferien.new(304, 22)
|
29
|
+
|
30
|
+
r.arbeitsliste = [
|
31
|
+
#attr_accessor :datum, :name, :typ, :zeit_von, :zeit_bis, :arbeitszeit
|
32
|
+
Rohdaten::ArbeitsItem.new(Date.new(2014, 06, 01), "4", "Dienst", Time.new(2000, 1, 1, 6, 45), Time.new(2000, 1, 1, 16, 00), 8.2388),
|
33
|
+
Rohdaten::ArbeitsItem.new(Date.new(2014, 06, 02), "2", "Dienst", Time.new(2000, 1, 1, 7, 45), Time.new(2000, 1, 1, 24, 00), 6.234),
|
34
|
+
Rohdaten::ArbeitsItem.new(Date.new(2014, 06, 02), "2", "Andere Arbeit", nil, nil, 6.235)
|
35
|
+
]
|
29
36
|
end
|
30
37
|
pdf = PdfGenerator.new(rohdaten).create_pdf
|
31
38
|
pdf.render_file "mit_korrektur_januar.pdf"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lohnausweis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Muehlethaler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|