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 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