br_danfe 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|