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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 345273bdb39c1d133110285def88a0dcae14df47b6e1b8fcd6085ab753d3898e
4
- data.tar.gz: 2d24c830171df9dd03b4870e96704385a809d240ae7abcb3b4c0adc31673a2dd
3
+ metadata.gz: 0065ecc578a1c2674e5016933139893da32c7f171bc7cd2664bc7c6e4b57a557
4
+ data.tar.gz: b8eed0a2c45411b7d1ddacc55646160318583340c33e774f7f5b99895741626f
5
5
  SHA512:
6
- metadata.gz: '08340f8602de112ea5260412165d3481f7a1122074093f30e505afacda6fbbdab1ccd43fdddffc606c60b546311ff89f92d08f20abc204832f33e95f702364fd'
7
- data.tar.gz: 9ad4f2ed6707f8b4d486f4f8d78fb1cb4d251ae0b2b867c4cb760050343a491633ec5b59751d469e7eb7189feff096fd33e65f04a93afc334fdf64778ef3d9ee
6
+ metadata.gz: f84470f41a63b7983c126f63e8b773a55c7ee2191bc5234cc7dde0f6b6ac68f28717a1ba14a876131375c97768003708b16fc9e8ee2b43554993682a9ca18326
7
+ data.tar.gz: 7842f17333347f39567fc454c385691dd5a3e3ee8c800e5b29d0601a378bbfd6484671443f0ec9f5b9a9f9cf4143ccd91e740159b6e3b4c03f94124fbf1ebfc1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- br_danfe (1.0.0)
4
+ br_danfe (1.1.0)
5
5
  barby (= 0.6.9)
6
6
  br_documents (>= 0.1.3)
7
7
  i18n (>= 0.8.6)
@@ -8,13 +8,43 @@ module BrDanfe
8
8
  end
9
9
 
10
10
  def render
11
- @pdf.ibox 0.85, 15.60, 0.75, 1.85, I18n.t('danfe.ticket.xNome', xNome: @xml['emit/xNome'])
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
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '1.1.0'.freeze
3
3
  end
@@ -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
- <nNF>1</nNF>
19
- <serie>1</serie>
18
+ <dhEmi>2024-10-04T10:57:54-03:00</dhEmi>
20
19
  </ide>
21
20
  <emit>
22
- <xNome>Nome do Remetente Ltda</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
@@ -17,7 +17,7 @@ endobj
17
17
  >>
18
18
  endobj
19
19
  4 0 obj
20
- << /Length 34210
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 819.29082 Td
29
+ 23.25984 817.29082 Td
30
30
  /F1.0 6 Tf
31
- <5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f> Tj
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
- 0000034478 00000 n
3305
- 0000034838 00000 n
3306
- 0000035284 00000 n
3307
- 0000035452 00000 n
3308
- 0000035617 00000 n
3309
- 0000035784 00000 n
3310
- 0000038173 00000 n
3311
- 0000038548 00000 n
3312
- 0000053567 00000 n
3313
- 0000053780 00000 n
3314
- 0000055134 00000 n
3315
- 0000056048 00000 n
3316
- 0000063225 00000 n
3317
- 0000063436 00000 n
3318
- 0000064790 00000 n
3319
- 0000065704 00000 n
3320
- 0000071459 00000 n
3321
- 0000071678 00000 n
3322
- 0000073032 00000 n
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
- 73946
3336
+ 74201
3330
3337
  %%EOF
@@ -17,7 +17,7 @@ endobj
17
17
  >>
18
18
  endobj
19
19
  4 0 obj
20
- << /Length 34088
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 819.29082 Td
29
+ 23.25984 817.29082 Td
30
30
  /F1.0 6 Tf
31
- <5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f> Tj
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
- 0000034356 00000 n
3239
- 0000034705 00000 n
3240
- 0000035151 00000 n
3241
- 0000035319 00000 n
3242
- 0000035484 00000 n
3243
- 0000035651 00000 n
3244
- 0000050670 00000 n
3245
- 0000050883 00000 n
3246
- 0000052237 00000 n
3247
- 0000053151 00000 n
3248
- 0000060328 00000 n
3249
- 0000060539 00000 n
3250
- 0000061893 00000 n
3251
- 0000062807 00000 n
3252
- 0000068562 00000 n
3253
- 0000068781 00000 n
3254
- 0000070135 00000 n
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
- 71049
3268
+ 71304
3262
3269
  %%EOF
@@ -17,7 +17,7 @@ endobj
17
17
  >>
18
18
  endobj
19
19
  4 0 obj
20
- << /Length 35874
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 819.29082 Td
29
+ 23.25984 817.29082 Td
30
30
  /F1.0 6 Tf
31
- <5245434542454d4f53204445204b524f4e20494e535452554d454e544f5320454c45545249434f53204c544441204f532050524f4455544f532f5345525649824f5320434f4e5354414e544553204441204e4f54412046495343414c20494e44494341444120414f204c41444f> Tj
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
- 0000036142 00000 n
3390
- 0000036491 00000 n
3391
- 0000036937 00000 n
3392
- 0000037105 00000 n
3393
- 0000037270 00000 n
3394
- 0000037437 00000 n
3395
- 0000052456 00000 n
3396
- 0000052669 00000 n
3397
- 0000054023 00000 n
3398
- 0000054937 00000 n
3399
- 0000062604 00000 n
3400
- 0000062815 00000 n
3401
- 0000064169 00000 n
3402
- 0000065083 00000 n
3403
- 0000070838 00000 n
3404
- 0000071057 00000 n
3405
- 0000072411 00000 n
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
- 73325
3419
+ 73580
3413
3420
  %%EOF