teodoro 0.0.11 → 0.0.12
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/lib/teodoro/arquivo_de_evento.rb +7 -2
- data/lib/teodoro/arquivo_xml.rb +28 -21
- data/lib/teodoro/leiaute.rb +24 -0
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1000.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1005.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1010.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1020.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1030.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1040.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1050.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1070.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2190.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2200.rb +22 -2
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2205.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2206.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2230.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2250.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2299.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2300.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2306.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2399.rb +1 -1
- data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s3000.rb +1 -1
- metadata +22 -22
- data/lib/teodoro/leiaute_2.rb +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb82ca01d0e6d8a70fb3c77d09e5d89a03e473fa632f4382221cdffefb21feed
|
4
|
+
data.tar.gz: 7bc8f92129a1828c5c4fa4cd7fcc5f3e87ed6c21c524f334959c26e782fc8e26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dce1dc08d6027a38f86f3ed22b0f4876bb95a977637ccd2f18daee65087dd1c8bfacfec9a970809c9ede277fd72ba8eefba2aa8356067e89a48800608dad5a21
|
7
|
+
data.tar.gz: f363698c4d43d83faea482d15e3ccd0299d1396c93c3ea214c8285c467514f2273400c182bae85425d90ee3c01cc3537f3c4c874dbc8423c44921f35f8933b20
|
@@ -2,13 +2,18 @@ module Teodoro
|
|
2
2
|
module ArquivoDeEvento
|
3
3
|
private
|
4
4
|
|
5
|
-
def initialize(empresa:, evento:, recibo:)
|
5
|
+
def initialize(empresa:, versao_do_leiaute:, evento:, recibo:)
|
6
6
|
@empresa = empresa
|
7
|
+
@versao_do_leiaute = versao_do_leiaute
|
7
8
|
@evento = evento
|
8
9
|
@recibo = recibo
|
9
10
|
end
|
10
11
|
|
11
|
-
attr_reader :empresa, :evento, :recibo
|
12
|
+
attr_reader :empresa, :versao_do_leiaute, :evento, :recibo
|
13
|
+
|
14
|
+
def leiaute_simplificado?
|
15
|
+
versao_do_leiaute.start_with?('_S_')
|
16
|
+
end
|
12
17
|
|
13
18
|
def processo_de_emissao_do_evento
|
14
19
|
evento["#{noh_principal_do_evento}/ideEvento/procEmi"]
|
data/lib/teodoro/arquivo_xml.rb
CHANGED
@@ -3,7 +3,7 @@ require_relative 'arquivo_de_evento_exceto_de_exclusao'
|
|
3
3
|
require_relative 'arquivo_de_evento_de_tabela'
|
4
4
|
require_relative 'arquivo_de_evento_nao_periodico'
|
5
5
|
require_relative 'cnpj'
|
6
|
-
require_relative '
|
6
|
+
require_relative 'leiaute'
|
7
7
|
require_relative 'xml'
|
8
8
|
|
9
9
|
module Teodoro
|
@@ -47,8 +47,7 @@ module Teodoro
|
|
47
47
|
|
48
48
|
def momento_de_processamento_pelo_e_social
|
49
49
|
# otimizacao do gerenciamento de memoria
|
50
|
-
|
51
|
-
.then { |conteudo| Nokogiri::XML(conteudo) }
|
50
|
+
carregar_xml
|
52
51
|
.then { |xml| Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*').to_s) }
|
53
52
|
.then { |xml_do_recibo| XML.new(xml_do_recibo) }
|
54
53
|
.then { |recibo| recibo['retornoEvento/processamento/dhProcessamento'] }
|
@@ -59,8 +58,9 @@ module Teodoro
|
|
59
58
|
end
|
60
59
|
|
61
60
|
def processar
|
62
|
-
|
63
|
-
|
61
|
+
dar_feedback_para_o_usuario
|
62
|
+
validar_versao_do_leiaute
|
63
|
+
processar_arquivo
|
64
64
|
end
|
65
65
|
|
66
66
|
private
|
@@ -69,29 +69,24 @@ module Teodoro
|
|
69
69
|
@tipo_de_evento ||= nome[-6..].delete('-')
|
70
70
|
end
|
71
71
|
|
72
|
-
def
|
73
|
-
|
72
|
+
def carregar_xml
|
73
|
+
Nokogiri::XML(carregar_conteudo)
|
74
74
|
end
|
75
75
|
|
76
|
-
def
|
77
|
-
|
76
|
+
def carregar_conteudo
|
77
|
+
File.read(caminho)
|
78
78
|
end
|
79
79
|
|
80
|
-
def
|
81
|
-
|
80
|
+
def dar_feedback_para_o_usuario
|
81
|
+
Console.print "processando #{nome}.xml..."
|
82
82
|
end
|
83
83
|
|
84
|
-
def
|
85
|
-
|
86
|
-
'02_04_01' => Leiaute_2,
|
87
|
-
'02_04_02' => Leiaute_2,
|
88
|
-
'02_05_00' => Leiaute_2,
|
89
|
-
'_S_01_00_00' => Leiaute_2 # FIXME: Tales
|
90
|
-
}[versao_do_leiaute_no_xml]
|
84
|
+
def validar_versao_do_leiaute
|
85
|
+
raise unless %w[02_04_01 02_04_02 02_05_00 _S_01_00_00].include?(versao_do_leiaute)
|
91
86
|
end
|
92
87
|
|
93
|
-
def
|
94
|
-
namespace_do_evento.match(%r{.+/v(.+)$})[1]
|
88
|
+
def versao_do_leiaute
|
89
|
+
@versao_do_leiaute ||= namespace_do_evento.match(%r{.+/v(.+)$})[1]
|
95
90
|
end
|
96
91
|
|
97
92
|
def namespace_do_evento
|
@@ -103,7 +98,19 @@ module Teodoro
|
|
103
98
|
end
|
104
99
|
|
105
100
|
def xml
|
106
|
-
@xml ||=
|
101
|
+
@xml ||= carregar_xml
|
102
|
+
end
|
103
|
+
|
104
|
+
def processar_arquivo
|
105
|
+
arquivo.processar
|
106
|
+
end
|
107
|
+
|
108
|
+
def arquivo
|
109
|
+
classe_do_arquivo.new(empresa: empresa, versao_do_leiaute: versao_do_leiaute, evento: evento, recibo: recibo)
|
110
|
+
end
|
111
|
+
|
112
|
+
def classe_do_arquivo
|
113
|
+
Leiaute.const_get("Arquivo#{tipo_de_evento}")
|
107
114
|
end
|
108
115
|
|
109
116
|
def evento
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require_relative 'leiaute/arquivo_s1000'
|
2
|
+
require_relative 'leiaute/arquivo_s1005'
|
3
|
+
require_relative 'leiaute/arquivo_s1010'
|
4
|
+
require_relative 'leiaute/arquivo_s1020'
|
5
|
+
require_relative 'leiaute/arquivo_s1030'
|
6
|
+
require_relative 'leiaute/arquivo_s1040'
|
7
|
+
require_relative 'leiaute/arquivo_s1050'
|
8
|
+
require_relative 'leiaute/arquivo_s1070'
|
9
|
+
require_relative 'leiaute/arquivo_s2190'
|
10
|
+
require_relative 'leiaute/arquivo_s2200'
|
11
|
+
require_relative 'leiaute/arquivo_s2205'
|
12
|
+
require_relative 'leiaute/arquivo_s2206'
|
13
|
+
require_relative 'leiaute/arquivo_s2230'
|
14
|
+
require_relative 'leiaute/arquivo_s2250'
|
15
|
+
require_relative 'leiaute/arquivo_s2299'
|
16
|
+
require_relative 'leiaute/arquivo_s2300'
|
17
|
+
require_relative 'leiaute/arquivo_s2306'
|
18
|
+
require_relative 'leiaute/arquivo_s2399'
|
19
|
+
require_relative 'leiaute/arquivo_s3000'
|
20
|
+
|
21
|
+
module Teodoro
|
22
|
+
module Leiaute
|
23
|
+
end
|
24
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Teodoro
|
2
|
-
module
|
2
|
+
module Leiaute
|
3
3
|
class ArquivoS2200 # rubocop:disable Metrics/ClassLength
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
@@ -158,7 +158,7 @@ module Teodoro
|
|
158
158
|
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
|
159
159
|
['SemNumeroLogradouroEnderecoEX'],
|
160
160
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAdmissao/trabalhador/trabEstrangeiro/casadoBr']],
|
161
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
161
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_estrangeiro],
|
162
162
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
163
163
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAdmissao/trabalhador/trabEstrangeiro/dtChegada']],
|
164
164
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAdmissao/trabalhador/trabEstrangeiro/filhosBr']],
|
@@ -312,6 +312,26 @@ module Teodoro
|
|
312
312
|
]
|
313
313
|
end
|
314
314
|
# rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
|
315
|
+
|
316
|
+
def condicao_de_ingresso_do_trabalhador_estrangeiro
|
317
|
+
if leiaute_simplificado?
|
318
|
+
MAPEAMENTO_DA_CONDICAO_DE_INGRESSO_DO_TRABALHADOR_IMIGRANTE
|
319
|
+
.then do |mapeamento|
|
320
|
+
mapeamento[evento['evtAdmissao/trabalhador/trabImig/condIng']] ||
|
321
|
+
evento['evtAdmissao/trabalhador/trabImig/tmpResid']
|
322
|
+
end
|
323
|
+
else
|
324
|
+
evento['evtAdmissao/trabalhador/trabEstrangeiro/classTrabEstrang']
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
MAPEAMENTO_DA_CONDICAO_DE_INGRESSO_DO_TRABALHADOR_IMIGRANTE = {
|
329
|
+
'1' => 4,
|
330
|
+
'2' => 5,
|
331
|
+
'4' => 10,
|
332
|
+
'5' => 11,
|
333
|
+
'6' => 12
|
334
|
+
}.freeze
|
315
335
|
end
|
316
336
|
end
|
317
337
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teodoro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clavius Tales
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -182,26 +182,26 @@ files:
|
|
182
182
|
- lib/teodoro/cnpj.rb
|
183
183
|
- lib/teodoro/console.rb
|
184
184
|
- lib/teodoro/empresa.rb
|
185
|
-
- lib/teodoro/
|
186
|
-
- lib/teodoro/
|
187
|
-
- lib/teodoro/
|
188
|
-
- lib/teodoro/
|
189
|
-
- lib/teodoro/
|
190
|
-
- lib/teodoro/
|
191
|
-
- lib/teodoro/
|
192
|
-
- lib/teodoro/
|
193
|
-
- lib/teodoro/
|
194
|
-
- lib/teodoro/
|
195
|
-
- lib/teodoro/
|
196
|
-
- lib/teodoro/
|
197
|
-
- lib/teodoro/
|
198
|
-
- lib/teodoro/
|
199
|
-
- lib/teodoro/
|
200
|
-
- lib/teodoro/
|
201
|
-
- lib/teodoro/
|
202
|
-
- lib/teodoro/
|
203
|
-
- lib/teodoro/
|
204
|
-
- lib/teodoro/
|
185
|
+
- lib/teodoro/leiaute.rb
|
186
|
+
- lib/teodoro/leiaute/arquivo_s1000.rb
|
187
|
+
- lib/teodoro/leiaute/arquivo_s1005.rb
|
188
|
+
- lib/teodoro/leiaute/arquivo_s1010.rb
|
189
|
+
- lib/teodoro/leiaute/arquivo_s1020.rb
|
190
|
+
- lib/teodoro/leiaute/arquivo_s1030.rb
|
191
|
+
- lib/teodoro/leiaute/arquivo_s1040.rb
|
192
|
+
- lib/teodoro/leiaute/arquivo_s1050.rb
|
193
|
+
- lib/teodoro/leiaute/arquivo_s1070.rb
|
194
|
+
- lib/teodoro/leiaute/arquivo_s2190.rb
|
195
|
+
- lib/teodoro/leiaute/arquivo_s2200.rb
|
196
|
+
- lib/teodoro/leiaute/arquivo_s2205.rb
|
197
|
+
- lib/teodoro/leiaute/arquivo_s2206.rb
|
198
|
+
- lib/teodoro/leiaute/arquivo_s2230.rb
|
199
|
+
- lib/teodoro/leiaute/arquivo_s2250.rb
|
200
|
+
- lib/teodoro/leiaute/arquivo_s2299.rb
|
201
|
+
- lib/teodoro/leiaute/arquivo_s2300.rb
|
202
|
+
- lib/teodoro/leiaute/arquivo_s2306.rb
|
203
|
+
- lib/teodoro/leiaute/arquivo_s2399.rb
|
204
|
+
- lib/teodoro/leiaute/arquivo_s3000.rb
|
205
205
|
- lib/teodoro/obj.rb
|
206
206
|
- lib/teodoro/xml.rb
|
207
207
|
homepage:
|
data/lib/teodoro/leiaute_2.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
require_relative 'leiaute_2/arquivo_s1000'
|
2
|
-
require_relative 'leiaute_2/arquivo_s1005'
|
3
|
-
require_relative 'leiaute_2/arquivo_s1010'
|
4
|
-
require_relative 'leiaute_2/arquivo_s1020'
|
5
|
-
require_relative 'leiaute_2/arquivo_s1030'
|
6
|
-
require_relative 'leiaute_2/arquivo_s1040'
|
7
|
-
require_relative 'leiaute_2/arquivo_s1050'
|
8
|
-
require_relative 'leiaute_2/arquivo_s1070'
|
9
|
-
require_relative 'leiaute_2/arquivo_s2190'
|
10
|
-
require_relative 'leiaute_2/arquivo_s2200'
|
11
|
-
require_relative 'leiaute_2/arquivo_s2205'
|
12
|
-
require_relative 'leiaute_2/arquivo_s2206'
|
13
|
-
require_relative 'leiaute_2/arquivo_s2230'
|
14
|
-
require_relative 'leiaute_2/arquivo_s2250'
|
15
|
-
require_relative 'leiaute_2/arquivo_s2299'
|
16
|
-
require_relative 'leiaute_2/arquivo_s2300'
|
17
|
-
require_relative 'leiaute_2/arquivo_s2306'
|
18
|
-
require_relative 'leiaute_2/arquivo_s2399'
|
19
|
-
require_relative 'leiaute_2/arquivo_s3000'
|
20
|
-
|
21
|
-
module Teodoro
|
22
|
-
module Leiaute_2
|
23
|
-
end
|
24
|
-
end
|