br_danfe 1.0.0 → 1.1.0
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/br_danfe/danfe_lib/nfe_lib/ticket.rb +31 -1
- data/lib/br_danfe/version.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/ticket_spec.rb +101 -3
- data/spec/fixtures/nfe/lib/ticket#render.pdf +0 -0
- data/spec/fixtures/nfe/lib/ticket#render_with_dEmit.pdf +0 -0
- data/spec/fixtures/nfe/lib/ticket#render_with_dhEmit.pdf +0 -0
- data/spec/fixtures/nfe/v2.00/custom_options.fixture.pdf +30 -23
- data/spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml.fixture.pdf +28 -21
- data/spec/fixtures/nfe/v2.00/nfe_with_entrega.xml.fixture.pdf +28 -21
- data/spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml.fixture.pdf +104 -75
- data/spec/fixtures/nfe/v2.00/nfe_with_fci.xml.fixture.pdf +89 -64
- data/spec/fixtures/nfe/v2.00/nfe_with_ns.xml.fixture.pdf +104 -75
- data/spec/fixtures/nfe/v2.00/nfe_without_ns.xml.fixture.pdf +85 -84
- data/spec/fixtures/nfe/v3.10/multiples.xmls.on.the.same.pdf.pdf +40 -26
- data/spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml.fixture.pdf +28 -21
- data/spec/fixtures/nfe/v3.10/with_footer.fixture.pdf +30 -23
- data/spec/fixtures/nfe/v3.10/with_issqn.fixture.pdf +28 -21
- data/spec/fixtures/nfe/v3.10/with_three_pages.fixture.pdf +32 -25
- data/spec/fixtures/nfe/v3.10/without_issqn.fixture.pdf +30 -23
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0065ecc578a1c2674e5016933139893da32c7f171bc7cd2664bc7c6e4b57a557
|
4
|
+
data.tar.gz: b8eed0a2c45411b7d1ddacc55646160318583340c33e774f7f5b99895741626f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f84470f41a63b7983c126f63e8b773a55c7ee2191bc5234cc7dde0f6b6ac68f28717a1ba14a876131375c97768003708b16fc9e8ee2b43554993682a9ca18326
|
7
|
+
data.tar.gz: 7842f17333347f39567fc454c385691dd5a3e3ee8c800e5b29d0601a378bbfd6484671443f0ec9f5b9a9f9cf4143ccd91e740159b6e3b4c03f94124fbf1ebfc1
|
data/Gemfile.lock
CHANGED
@@ -8,13 +8,43 @@ module BrDanfe
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def render
|
11
|
-
|
11
|
+
render_additional_data
|
12
12
|
@pdf.ibox 0.85, 3.85, 0.75, 2.7, I18n.t('danfe.ticket.received_at')
|
13
13
|
@pdf.ibox 0.85, 11.75, 4.60, 2.7, I18n.t('danfe.ticket.receiver')
|
14
14
|
@pdf.ibox 1.70, 4.00, 16.35, 1.85, '',
|
15
15
|
I18n.t('danfe.ticket.document', nNF: @xml['ide/nNF'], serie: @xml['ide/serie']),
|
16
16
|
align: :center, valign: :center
|
17
17
|
end
|
18
|
+
|
19
|
+
def render_additional_data
|
20
|
+
data = generate_additional_data
|
21
|
+
@pdf.ibox 0.85, 15.60, 0.75, 1.85, '', data, size: 6
|
22
|
+
end
|
23
|
+
|
24
|
+
def generate_additional_data
|
25
|
+
additional_data = []
|
26
|
+
additional_data.push(name_content)
|
27
|
+
additional_data.push("DESTINATÁRIO: #{recipient_content}")
|
28
|
+
additional_data.push("EMITIDA EM: #{emmited_at_content}")
|
29
|
+
additional_data.push("VALOR TOTAL DA NOTA: R$ #{total_value_content}")
|
30
|
+
additional_data.join(' * ')
|
31
|
+
end
|
32
|
+
|
33
|
+
def name_content
|
34
|
+
I18n.t('danfe.ticket.xNome', xNome: @xml['emit/xNome'])
|
35
|
+
end
|
36
|
+
|
37
|
+
def recipient_content
|
38
|
+
@xml['dest/xNome'].to_s
|
39
|
+
end
|
40
|
+
|
41
|
+
def total_value_content
|
42
|
+
BrDanfe::Helper.numerify(@xml['ICMSTot/vNF']).to_s
|
43
|
+
end
|
44
|
+
|
45
|
+
def emmited_at_content
|
46
|
+
@xml['ide/dhEmi'].present? ? Helper.format_date(@xml['ide/dhEmi']) : Helper.format_date(@xml['ide/dEmi'])
|
47
|
+
end
|
18
48
|
end
|
19
49
|
end
|
20
50
|
end
|
data/lib/br_danfe/version.rb
CHANGED
@@ -15,12 +15,22 @@ describe BrDanfe::DanfeLib::NfeLib::Ticket do
|
|
15
15
|
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
16
16
|
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
|
17
17
|
<ide>
|
18
|
-
<
|
19
|
-
<serie>1</serie>
|
18
|
+
<dhEmi>2024-10-04T10:57:54-03:00</dhEmi>
|
20
19
|
</ide>
|
21
20
|
<emit>
|
22
|
-
<xNome>
|
21
|
+
<xNome>Empresa teste</xNome>
|
23
22
|
</emit>
|
23
|
+
<dest>
|
24
|
+
<CNPJ>18191228000171</CNPJ>
|
25
|
+
<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
|
26
|
+
<indIEDest>9</indIEDest>
|
27
|
+
<email>desenvolvedores@asseinfo.com.br</email>
|
28
|
+
</dest>
|
29
|
+
<total>
|
30
|
+
<ICMSTot>
|
31
|
+
<vNF>40.00</vNF>
|
32
|
+
</ICMSTot>
|
33
|
+
</total>
|
24
34
|
</infNFe>
|
25
35
|
</NFe>
|
26
36
|
XML
|
@@ -38,5 +48,93 @@ describe BrDanfe::DanfeLib::NfeLib::Ticket do
|
|
38
48
|
|
39
49
|
expect("#{base_dir}ticket#render.pdf").to have_same_content_of file: output_pdf
|
40
50
|
end
|
51
|
+
|
52
|
+
context 'when xml returns a date' do
|
53
|
+
describe 'with dhEmi' do
|
54
|
+
let(:xml) { BrDanfe::XML.new(xml_with_dhEmi) }
|
55
|
+
|
56
|
+
let(:xml_with_dhEmi) do
|
57
|
+
<<~XML
|
58
|
+
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
59
|
+
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
|
60
|
+
<ide>
|
61
|
+
<dhEmi>2024-10-04T10:57:54-03:00</dhEmi>
|
62
|
+
</ide>
|
63
|
+
<emit>
|
64
|
+
<xNome>Empresa teste</xNome>
|
65
|
+
</emit>
|
66
|
+
<dest>
|
67
|
+
<CNPJ>18191228000171</CNPJ>
|
68
|
+
<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
|
69
|
+
<indIEDest>9</indIEDest>
|
70
|
+
<email>desenvolvedores@asseinfo.com.br</email>
|
71
|
+
</dest>
|
72
|
+
<total>
|
73
|
+
<ICMSTot>
|
74
|
+
<vNF>40.00</vNF>
|
75
|
+
</ICMSTot>
|
76
|
+
</total>
|
77
|
+
</infNFe>
|
78
|
+
</NFe>
|
79
|
+
XML
|
80
|
+
end
|
81
|
+
|
82
|
+
before do
|
83
|
+
subject.render
|
84
|
+
File.delete(output_pdf) if File.exist?(output_pdf)
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'renders xml to the pdf' do
|
88
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
89
|
+
|
90
|
+
pdf.render_file output_pdf
|
91
|
+
|
92
|
+
expect("#{base_dir}ticket#render_with_dhEmit.pdf").to have_same_content_of file: output_pdf
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
describe 'with dEmi' do
|
97
|
+
let(:xml) { BrDanfe::XML.new(xml_with_dEmi) }
|
98
|
+
|
99
|
+
let(:xml_with_dEmi) do
|
100
|
+
<<~XML
|
101
|
+
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
102
|
+
<infNFe Id="NFe25111012345678901234550020000134151000134151" versao="2.00">
|
103
|
+
<ide>
|
104
|
+
<dEmi>2024-10-04</dEmi>
|
105
|
+
</ide>
|
106
|
+
<emit>
|
107
|
+
<xNome>Empresa teste</xNome>
|
108
|
+
</emit>
|
109
|
+
<dest>
|
110
|
+
<CNPJ>18191228000171</CNPJ>
|
111
|
+
<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
|
112
|
+
<indIEDest>9</indIEDest>
|
113
|
+
<email>desenvolvedores@asseinfo.com.br</email>
|
114
|
+
</dest>
|
115
|
+
<total>
|
116
|
+
<ICMSTot>
|
117
|
+
<vNF>40.00</vNF>
|
118
|
+
</ICMSTot>
|
119
|
+
</total>
|
120
|
+
</infNFe>
|
121
|
+
</NFe>
|
122
|
+
XML
|
123
|
+
end
|
124
|
+
|
125
|
+
before do
|
126
|
+
subject.render
|
127
|
+
File.delete(output_pdf) if File.exist?(output_pdf)
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'renders xml to the pdf' do
|
131
|
+
expect(File.exist?(output_pdf)).to be_falsey
|
132
|
+
|
133
|
+
pdf.render_file output_pdf
|
134
|
+
|
135
|
+
expect("#{base_dir}ticket#render_with_dEmit.pdf").to have_same_content_of file: output_pdf
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
41
139
|
end
|
42
140
|
end
|
Binary file
|
Binary file
|
Binary file
|
@@ -17,7 +17,7 @@ endobj
|
|
17
17
|
>>
|
18
18
|
endobj
|
19
19
|
4 0 obj
|
20
|
-
<< /Length
|
20
|
+
<< /Length 34465
|
21
21
|
>>
|
22
22
|
stream
|
23
23
|
q
|
@@ -26,9 +26,16 @@ q
|
|
26
26
|
S
|
27
27
|
|
28
28
|
BT
|
29
|
-
23.25984
|
29
|
+
23.25984 817.29082 Td
|
30
30
|
/F1.0 6 Tf
|
31
|
-
<
|
31
|
+
<5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f202a2044455354494e4154e752494f3a> Tj
|
32
|
+
ET
|
33
|
+
|
34
|
+
|
35
|
+
BT
|
36
|
+
23.25984 810.94882 Td
|
37
|
+
/F1.0 6 Tf
|
38
|
+
<5363686e656964657220456c6563747269632042726173696c204c746461202a20454d495449444120454d3a2032382f31322f32303133202a2056414c4f5220544f54414c204441204e4f54413a205224203230302c3030> Tj
|
32
39
|
ET
|
33
40
|
|
34
41
|
21.25984 777.25984 109.13386 24.09449 re
|
@@ -3301,30 +3308,30 @@ xref
|
|
3301
3308
|
0000000109 00000 n
|
3302
3309
|
0000000158 00000 n
|
3303
3310
|
0000000215 00000 n
|
3304
|
-
|
3305
|
-
|
3306
|
-
|
3307
|
-
|
3308
|
-
|
3309
|
-
|
3310
|
-
|
3311
|
-
|
3312
|
-
|
3313
|
-
|
3314
|
-
|
3315
|
-
|
3316
|
-
|
3317
|
-
|
3318
|
-
|
3319
|
-
|
3320
|
-
|
3321
|
-
|
3322
|
-
|
3311
|
+
0000034733 00000 n
|
3312
|
+
0000035093 00000 n
|
3313
|
+
0000035539 00000 n
|
3314
|
+
0000035707 00000 n
|
3315
|
+
0000035872 00000 n
|
3316
|
+
0000036039 00000 n
|
3317
|
+
0000038428 00000 n
|
3318
|
+
0000038803 00000 n
|
3319
|
+
0000053822 00000 n
|
3320
|
+
0000054035 00000 n
|
3321
|
+
0000055389 00000 n
|
3322
|
+
0000056303 00000 n
|
3323
|
+
0000063480 00000 n
|
3324
|
+
0000063691 00000 n
|
3325
|
+
0000065045 00000 n
|
3326
|
+
0000065959 00000 n
|
3327
|
+
0000071714 00000 n
|
3328
|
+
0000071933 00000 n
|
3329
|
+
0000073287 00000 n
|
3323
3330
|
trailer
|
3324
3331
|
<< /Size 24
|
3325
3332
|
/Root 2 0 R
|
3326
3333
|
/Info 1 0 R
|
3327
3334
|
>>
|
3328
3335
|
startxref
|
3329
|
-
|
3336
|
+
74201
|
3330
3337
|
%%EOF
|
@@ -17,7 +17,7 @@ endobj
|
|
17
17
|
>>
|
18
18
|
endobj
|
19
19
|
4 0 obj
|
20
|
-
<< /Length
|
20
|
+
<< /Length 34343
|
21
21
|
>>
|
22
22
|
stream
|
23
23
|
q
|
@@ -26,9 +26,16 @@ q
|
|
26
26
|
S
|
27
27
|
|
28
28
|
BT
|
29
|
-
23.25984
|
29
|
+
23.25984 817.29082 Td
|
30
30
|
/F1.0 6 Tf
|
31
|
-
<
|
31
|
+
<5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f202a2044455354494e4154e752494f3a> Tj
|
32
|
+
ET
|
33
|
+
|
34
|
+
|
35
|
+
BT
|
36
|
+
23.25984 810.94882 Td
|
37
|
+
/F1.0 6 Tf
|
38
|
+
<5363686e656964657220456c6563747269632042726173696c204c746461202a20454d495449444120454d3a2032382f31322f32303133202a2056414c4f5220544f54414c204441204e4f54413a205224203230302c3030> Tj
|
32
39
|
ET
|
33
40
|
|
34
41
|
21.25984 777.25984 109.13386 24.09449 re
|
@@ -3235,28 +3242,28 @@ xref
|
|
3235
3242
|
0000000109 00000 n
|
3236
3243
|
0000000158 00000 n
|
3237
3244
|
0000000215 00000 n
|
3238
|
-
|
3239
|
-
|
3240
|
-
|
3241
|
-
|
3242
|
-
|
3243
|
-
|
3244
|
-
|
3245
|
-
|
3246
|
-
|
3247
|
-
|
3248
|
-
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3252
|
-
|
3253
|
-
|
3254
|
-
|
3245
|
+
0000034611 00000 n
|
3246
|
+
0000034960 00000 n
|
3247
|
+
0000035406 00000 n
|
3248
|
+
0000035574 00000 n
|
3249
|
+
0000035739 00000 n
|
3250
|
+
0000035906 00000 n
|
3251
|
+
0000050925 00000 n
|
3252
|
+
0000051138 00000 n
|
3253
|
+
0000052492 00000 n
|
3254
|
+
0000053406 00000 n
|
3255
|
+
0000060583 00000 n
|
3256
|
+
0000060794 00000 n
|
3257
|
+
0000062148 00000 n
|
3258
|
+
0000063062 00000 n
|
3259
|
+
0000068817 00000 n
|
3260
|
+
0000069036 00000 n
|
3261
|
+
0000070390 00000 n
|
3255
3262
|
trailer
|
3256
3263
|
<< /Size 22
|
3257
3264
|
/Root 2 0 R
|
3258
3265
|
/Info 1 0 R
|
3259
3266
|
>>
|
3260
3267
|
startxref
|
3261
|
-
|
3268
|
+
71304
|
3262
3269
|
%%EOF
|
@@ -17,7 +17,7 @@ endobj
|
|
17
17
|
>>
|
18
18
|
endobj
|
19
19
|
4 0 obj
|
20
|
-
<< /Length
|
20
|
+
<< /Length 36129
|
21
21
|
>>
|
22
22
|
stream
|
23
23
|
q
|
@@ -26,9 +26,16 @@ q
|
|
26
26
|
S
|
27
27
|
|
28
28
|
BT
|
29
|
-
23.25984
|
29
|
+
23.25984 817.29082 Td
|
30
30
|
/F1.0 6 Tf
|
31
|
-
<
|
31
|
+
<5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f202a2044455354494e4154e752494f3a> Tj
|
32
|
+
ET
|
33
|
+
|
34
|
+
|
35
|
+
BT
|
36
|
+
23.25984 810.94882 Td
|
37
|
+
/F1.0 6 Tf
|
38
|
+
<5363686e656964657220456c6563747269632042726173696c204c746461202a20454d495449444120454d3a2032382f31322f32303133202a2056414c4f5220544f54414c204441204e4f54413a205224203230302c3030> Tj
|
32
39
|
ET
|
33
40
|
|
34
41
|
21.25984 777.25984 109.13386 24.09449 re
|
@@ -3386,28 +3393,28 @@ xref
|
|
3386
3393
|
0000000109 00000 n
|
3387
3394
|
0000000158 00000 n
|
3388
3395
|
0000000215 00000 n
|
3389
|
-
|
3390
|
-
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
|
3395
|
-
|
3396
|
-
|
3397
|
-
|
3398
|
-
|
3399
|
-
|
3400
|
-
|
3401
|
-
|
3402
|
-
|
3403
|
-
|
3404
|
-
|
3405
|
-
|
3396
|
+
0000036397 00000 n
|
3397
|
+
0000036746 00000 n
|
3398
|
+
0000037192 00000 n
|
3399
|
+
0000037360 00000 n
|
3400
|
+
0000037525 00000 n
|
3401
|
+
0000037692 00000 n
|
3402
|
+
0000052711 00000 n
|
3403
|
+
0000052924 00000 n
|
3404
|
+
0000054278 00000 n
|
3405
|
+
0000055192 00000 n
|
3406
|
+
0000062859 00000 n
|
3407
|
+
0000063070 00000 n
|
3408
|
+
0000064424 00000 n
|
3409
|
+
0000065338 00000 n
|
3410
|
+
0000071093 00000 n
|
3411
|
+
0000071312 00000 n
|
3412
|
+
0000072666 00000 n
|
3406
3413
|
trailer
|
3407
3414
|
<< /Size 22
|
3408
3415
|
/Root 2 0 R
|
3409
3416
|
/Info 1 0 R
|
3410
3417
|
>>
|
3411
3418
|
startxref
|
3412
|
-
|
3419
|
+
73580
|
3413
3420
|
%%EOF
|