teodoro 0.6.1 → 0.10.1

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +3 -2
  3. data/lib/teodoro/arquivo_data.rb +87 -0
  4. data/lib/teodoro/arquivo_de_evento.rb +14 -2
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +32 -14
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +42 -12
  7. data/lib/teodoro/arquivo_de_origem.rb +7 -7
  8. data/lib/teodoro/arquivo_xml.rb +48 -24
  9. data/lib/teodoro/console.rb +3 -1
  10. data/lib/teodoro/empresa.rb +181 -161
  11. data/lib/teodoro/leiaute/arquivo_s1000.rb +20 -24
  12. data/lib/teodoro/leiaute/arquivo_s1005.rb +12 -18
  13. data/lib/teodoro/leiaute/arquivo_s1010.rb +9 -13
  14. data/lib/teodoro/leiaute/arquivo_s1020.rb +6 -10
  15. data/lib/teodoro/leiaute/arquivo_s1030.rb +4 -8
  16. data/lib/teodoro/leiaute/arquivo_s1040.rb +3 -7
  17. data/lib/teodoro/leiaute/arquivo_s1050.rb +6 -12
  18. data/lib/teodoro/leiaute/arquivo_s1070.rb +9 -13
  19. data/lib/teodoro/leiaute/arquivo_s2190.rb +16 -17
  20. data/lib/teodoro/leiaute/arquivo_s2200.rb +161 -185
  21. data/lib/teodoro/leiaute/arquivo_s2205.rb +132 -167
  22. data/lib/teodoro/leiaute/arquivo_s2206.rb +72 -75
  23. data/lib/teodoro/leiaute/arquivo_s2230.rb +87 -91
  24. data/lib/teodoro/leiaute/arquivo_s2250.rb +36 -40
  25. data/lib/teodoro/leiaute/arquivo_s2299.rb +171 -169
  26. data/lib/teodoro/leiaute/arquivo_s2300.rb +135 -159
  27. data/lib/teodoro/leiaute/arquivo_s2306.rb +148 -151
  28. data/lib/teodoro/leiaute/arquivo_s2399.rb +123 -127
  29. data/lib/teodoro/leiaute/arquivo_s3000.rb +4 -8
  30. data/lib/teodoro/xml.rb +2 -2
  31. metadata +3 -5
  32. data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +0 -52
  33. data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +0 -30
  34. data/lib/teodoro/arquivo_de_evento_retificavel.rb +0 -23
@@ -1,5 +1,7 @@
1
1
  module Console
2
- def self.print(string = nil)
2
+ def self.print(string)
3
3
  Kernel.print "\r\e[2K#{string}"
4
+ yield
5
+ Kernel.print "\r\e[2K"
4
6
  end
5
7
  end
@@ -5,195 +5,220 @@ module Teodoro
5
5
  class Empresa
6
6
  private
7
7
 
8
- def initialize(caminho:, destino:)
9
- @caminho = caminho
10
- @destino = File.join(destino, nome_do_diretorio)
8
+ def initialize(args)
9
+ @impl = Impl.new(**args)
11
10
  end
12
11
 
13
- attr_reader :caminho, :destino
12
+ attr_reader :impl
14
13
 
15
14
  public
16
15
 
17
16
  def processar
18
- dar_feedback_para_o_usuario
19
- criar_diretorio_destino
20
- criar_diretorio_dos_arquivos_xml
21
- descompactar_arquivos_de_origem
22
- criar_diretorio_dos_arquivos_data
23
- ordenar_arquivos_xml
24
- processar_arquivos_xml
25
- limpar_linha_de_feedback
17
+ impl.processar
26
18
  end
27
19
 
28
- private
29
-
30
- def dar_feedback_para_o_usuario
31
- puts Rainbow(nome_do_diretorio).green
32
- end
33
-
34
- def nome_do_diretorio
35
- @nome_do_diretorio ||= File.basename(caminho)
36
- end
37
-
38
- def criar_diretorio_destino
39
- Dir.mkdir(destino)
40
- end
41
-
42
- def criar_diretorio_dos_arquivos_xml
43
- Dir.mkdir(destino_dos_arquivos_xml)
44
- end
45
-
46
- def destino_dos_arquivos_xml
47
- @destino_dos_arquivos_xml ||= File.join(destino, 'xmls')
48
- end
49
-
50
- def descompactar_arquivos_de_origem
51
- arquivos_de_origem.each(&:descompactar)
52
- end
20
+ class Impl
21
+ private
53
22
 
54
- def arquivos_de_origem
55
- Dir[File.join(caminho, '*.zip')]
56
- .map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
57
- end
23
+ def initialize(caminho:, destino:)
24
+ @caminho = caminho
25
+ @destino = File.join(destino, nome_do_diretorio)
26
+ end
58
27
 
59
- def criar_diretorio_dos_arquivos_data
60
- Dir.mkdir(destino_dos_arquivos_data)
61
- end
28
+ attr_reader :caminho, :destino
62
29
 
63
- def destino_dos_arquivos_data
64
- @destino_dos_arquivos_data ||= File.join(destino, 'data')
65
- end
30
+ public
66
31
 
67
- def ordenar_arquivos_xml
68
- Console.print 'ordenando os arquivos XML...'
69
- arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
70
- end
32
+ attr_reader :arquivos_xml_por_recibo_a_retificar
33
+
34
+ def processar
35
+ dar_feedback_para_o_usuario
36
+ criar_diretorio_destino
37
+ criar_diretorio_dos_arquivos_xml
38
+ descompactar_arquivos_de_origem
39
+ criar_diretorio_dos_arquivos_data
40
+ carregar_arquivos_xml
41
+ classificar_arquivos_xml
42
+ ordenar_arquivos_xml
43
+ processar_arquivos_xml
44
+ end
71
45
 
72
- def processar_arquivos_xml
73
- # otimizacao do gerenciamento de memoria
74
- arquivos_xml.shift.processar while arquivos_xml.any?
75
- end
46
+ def destino_dos_arquivos_data
47
+ @destino_dos_arquivos_data ||= File.join(destino, 'data')
48
+ end
76
49
 
77
- def arquivos_xml
78
- @arquivos_xml ||= Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
79
- .map { |caminho| ArquivoXML.new(empresa: empresa, caminho: caminho) }
80
- .select(&:processavel?)
81
- end
50
+ def arquivos_data
51
+ @arquivos_data ||= ArquivosData.new(destino_dos_arquivos_data)
52
+ end
82
53
 
83
- def empresa
84
- @empresa ||= Obj.new(
85
- destino_dos_arquivos_data: destino_dos_arquivos_data,
86
- arquivos_data: ArquivosData.new(destino_dos_arquivos_data),
87
- contratos_de_emprego: ContratosDeEmprego.new,
88
- contratos_de_trabalho_sem_vinculo: ContratosDeTrabalhoSemVinculo.new
89
- )
90
- end
54
+ def contratos_de_emprego
55
+ @contratos_de_emprego ||= ContratosDeEmprego.new
56
+ end
91
57
 
92
- def limpar_linha_de_feedback
93
- Console.print
94
- end
58
+ def contratos_de_trabalho_sem_vinculo
59
+ @contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new
60
+ end
95
61
 
96
- class ArquivosData
97
62
  private
98
63
 
99
- def initialize(destino_dos_arquivos_data)
100
- @destino_dos_arquivos_data = destino_dos_arquivos_data
64
+ def dar_feedback_para_o_usuario
65
+ puts Rainbow(nome_do_diretorio).green
101
66
  end
102
67
 
103
- attr_reader :destino_dos_arquivos_data
104
-
105
- public
68
+ def nome_do_diretorio
69
+ @nome_do_diretorio ||= File.basename(caminho)
70
+ end
106
71
 
107
- def registrar(recibo:, nome:)
108
- (nomes_por_recibo[recibo] ||= []) << nome
72
+ def criar_diretorio_destino
73
+ Dir.mkdir(destino)
109
74
  end
110
75
 
111
- def excluir(recibo)
112
- (nomes_por_recibo.delete(recibo) || [])
113
- .map { |nome| File.join(destino_dos_arquivos_data, "#{nome}.data") }
114
- .each { File.delete(_1) }
76
+ def criar_diretorio_dos_arquivos_xml
77
+ Dir.mkdir(destino_dos_arquivos_xml)
115
78
  end
116
79
 
117
- private
80
+ def destino_dos_arquivos_xml
81
+ @destino_dos_arquivos_xml ||= File.join(destino, 'xmls')
82
+ end
118
83
 
119
- def nomes_por_recibo
120
- @nomes_por_recibo ||= {}
84
+ def descompactar_arquivos_de_origem
85
+ # otimizacao do gerenciamento de memoria
86
+ arquivos_de_origem.shift.descompactar while arquivos_de_origem.any?
121
87
  end
122
- end
123
88
 
124
- class ContratosDeEmprego
125
- def registrar_admissao(admissao:, afastamento:)
126
- contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
89
+ def arquivos_de_origem
90
+ @arquivos_de_origem ||=
91
+ Dir[File.join(caminho, '*.zip')]
92
+ .map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
127
93
  end
128
94
 
129
- def [](matricula = nil, recibo: nil)
130
- if matricula
131
- contratos_por_matricula[matricula]
132
- else
133
- contratos.find { _1.recibo == recibo }
134
- end
95
+ def criar_diretorio_dos_arquivos_data
96
+ Dir.mkdir(destino_dos_arquivos_data)
135
97
  end
136
98
 
137
- def *(cpf_do_trabalhador:, data:)
138
- contratos
139
- .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
140
- .sort_by(&:data_de_admissao)
99
+ def carregar_arquivos_xml
100
+ arquivos_xml.each(&:carregar)
141
101
  end
142
102
 
143
- def remover(recibo)
144
- contratos_por_matricula.delete_if { _2.recibo == recibo }
103
+ def arquivos_xml
104
+ @arquivos_xml ||=
105
+ Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
106
+ .map { |caminho| ArquivoXML.new(empresa: self, caminho: caminho) }
145
107
  end
146
108
 
147
- private
109
+ def classificar_arquivos_xml
110
+ Console.print 'classificando os arquivos XML...' do
111
+ arquivos_xml
112
+ .select(&:processavel?)
113
+ .partition(&:retificacao?)
114
+ .then do |de_retificacao, exceto_de_retificacao|
115
+ @arquivos_xml_por_recibo_a_retificar = de_retificacao.map { [_1.numero_do_recibo_a_retificar, _1] }.to_h
116
+ @arquivos_xml = exceto_de_retificacao
117
+ end
118
+ end
119
+ end
148
120
 
149
- def contratos_por_matricula
150
- @contratos_por_matricula ||= {}
121
+ def ordenar_arquivos_xml
122
+ Console.print 'ordenando os arquivos XML...' do
123
+ arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
124
+ end
151
125
  end
152
126
 
153
- def contratos
154
- contratos_por_matricula.values
127
+ def processar_arquivos_xml
128
+ # otimizacao do gerenciamento de memoria
129
+ arquivos_xml.shift.processar while arquivos_xml.any?
155
130
  end
156
131
 
157
- class Contrato
132
+ class ArquivosData
158
133
  private
159
134
 
160
- def initialize(admissao:, afastamento:)
161
- @admissao = admissao
162
- @afastamento = afastamento
135
+ def initialize(destino_dos_arquivos_data)
136
+ @destino_dos_arquivos_data = destino_dos_arquivos_data
163
137
  end
164
138
 
165
- attr_reader :admissao, :data_de_desligamento
139
+ attr_reader :destino_dos_arquivos_data
166
140
 
167
141
  public
168
142
 
169
- extend Forwardable
143
+ def registrar(recibo:, nome:)
144
+ (nomes_por_recibo[recibo] ||= []) << nome
145
+ end
146
+
147
+ def excluir(recibo)
148
+ (nomes_por_recibo.delete(recibo) || [])
149
+ .map { |nome| File.join(destino_dos_arquivos_data, "#{nome}.data") }
150
+ .each { File.delete(_1) }
151
+ end
170
152
 
171
- def_delegators :admissao, :matricula, :data_de_admissao, :categoria_do_trabalhador, :cpf_do_trabalhador, :recibo
153
+ private
172
154
 
173
- attr_accessor :afastamento
155
+ def nomes_por_recibo
156
+ @nomes_por_recibo ||= {}
157
+ end
158
+ end
174
159
 
175
- attr_writer :data_de_desligamento
160
+ class ContratosDeEmprego
161
+ def registrar_admissao(admissao:, afastamento:)
162
+ contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
163
+ end
176
164
 
177
- def ativo?(data)
178
- data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
165
+ def [](matricula)
166
+ contratos_por_matricula[matricula]
179
167
  end
180
168
 
181
- def retificar_admissao(admissao:, afastamento:)
182
- @admissao = Obj.new({ matricula: matricula }.merge(admissao.to_h))
183
- @afastamento = afastamento if afastamento
169
+ def *(cpf_do_trabalhador:, data:)
170
+ contratos
171
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
172
+ .sort_by(&:data_de_admissao)
184
173
  end
185
- end
186
- end
187
174
 
188
- class ContratosDeTrabalhoSemVinculo
189
- def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
190
- contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
175
+ def remover(recibo)
176
+ contratos_por_matricula.delete_if { _2.recibo == recibo }
177
+ end
178
+
179
+ private
180
+
181
+ def contratos_por_matricula
182
+ @contratos_por_matricula ||= {}
183
+ end
184
+
185
+ def contratos
186
+ contratos_por_matricula.values
187
+ end
188
+
189
+ class Contrato
190
+ private
191
+
192
+ def initialize(admissao:, afastamento:)
193
+ @admissao = admissao
194
+ @afastamento = afastamento
195
+ end
196
+
197
+ attr_reader :admissao, :data_de_desligamento
198
+
199
+ public
200
+
201
+ extend Forwardable
202
+
203
+ def_delegators :admissao, :matricula, :data_de_admissao, :categoria_do_trabalhador, :cpf_do_trabalhador,
204
+ :recibo
205
+
206
+ attr_accessor :afastamento
207
+
208
+ attr_writer :data_de_desligamento
209
+
210
+ def ativo?(data)
211
+ data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
212
+ end
213
+ end
191
214
  end
192
215
 
193
- def [](cpf_do_trabalhador: nil, categoria_do_trabalhador: nil, data: nil, recibo: nil)
194
- if recibo
195
- contratos.find { _1.recibo == recibo }
196
- else
216
+ class ContratosDeTrabalhoSemVinculo
217
+ def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
218
+ contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
219
+ end
220
+
221
+ def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
197
222
  contratos
198
223
  .select {
199
224
  _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
@@ -201,51 +226,46 @@ module Teodoro
201
226
  }
202
227
  .max_by(&:data_de_inicio)
203
228
  end
204
- end
205
-
206
- def *(cpf_do_trabalhador:, data:)
207
- contratos
208
- .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
209
- .sort_by(&:data_de_inicio)
210
- end
211
229
 
212
- def remover(recibo)
213
- contratos.delete_if { _1.recibo == recibo }
214
- end
215
-
216
- private
230
+ def *(cpf_do_trabalhador:, data:)
231
+ contratos
232
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
233
+ .sort_by(&:data_de_inicio)
234
+ end
217
235
 
218
- def contratos
219
- @contratos ||= []
220
- end
236
+ def remover(recibo)
237
+ contratos.delete_if { _1.recibo == recibo }
238
+ end
221
239
 
222
- class Contrato
223
240
  private
224
241
 
225
- def initialize(inicio_de_contrato:, afastamento:)
226
- @inicio_de_contrato = inicio_de_contrato
227
- @afastamento = afastamento
242
+ def contratos
243
+ @contratos ||= []
228
244
  end
229
245
 
230
- attr_reader :inicio_de_contrato, :data_do_termino
246
+ class Contrato
247
+ private
231
248
 
232
- public
249
+ def initialize(inicio_de_contrato:, afastamento:)
250
+ @inicio_de_contrato = inicio_de_contrato
251
+ @afastamento = afastamento
252
+ end
233
253
 
234
- extend Forwardable
254
+ attr_reader :inicio_de_contrato, :data_do_termino
235
255
 
236
- def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
256
+ public
237
257
 
238
- attr_accessor :afastamento
258
+ extend Forwardable
239
259
 
240
- attr_writer :data_do_termino
260
+ def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
241
261
 
242
- def ativo?(data)
243
- data_de_inicio <= data && (!data_do_termino || data_do_termino >= data)
244
- end
262
+ attr_accessor :afastamento
263
+
264
+ attr_writer :data_do_termino
245
265
 
246
- def retificar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
247
- @inicio_de_contrato = inicio_de_contrato
248
- @afastamento = afastamento if afastamento
266
+ def ativo?(data)
267
+ data_de_inicio <= data && (!data_do_termino || data_do_termino >= data)
268
+ end
249
269
  end
250
270
  end
251
271
  end
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtInfoEmpregador'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoEmpregador'
14
10
  end
@@ -52,7 +48,7 @@ module Teodoro
52
48
  end
53
49
 
54
50
  def numero_de_inscricao
55
- @numero_de_inscricao ||= evento['evtInfoEmpregador/ideEmpregador/nrInsc']
51
+ @numero_de_inscricao ||= evento['ideEmpregador/nrInsc']
56
52
  end
57
53
 
58
54
  def cnpj_raiz
@@ -79,31 +75,31 @@ module Teodoro
79
75
  ['RetornoAction'],
80
76
  ['ehOrgaoPublico', [orgao_publico?, :bool]],
81
77
  ['ehOrgaoPublicoUniao', [orgao_publico?, :bool]],
82
- ['ehOrgaoPublicoEstadualMunicipalDistrital', [evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool]],
78
+ ['ehOrgaoPublicoEstadualMunicipalDistrital', [evento['infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool]],
83
79
  ['ExibeModoCompleto'],
84
80
  ['InicioValidade', [inicio_da_validade, :mes_ano]],
85
81
  ['FimValidade', [fim_da_validade, :mes_ano]],
86
82
  ['NomeRazaoSocial', nome_ou_razao_social],
87
- ['ClassificacaoTributaria', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/classTrib']],
88
- ['NaturezaJuridica', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/natJurid']],
89
- ['IndicativoRegEletronico', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indOptRegEletron']],
90
- ['IndicativoCooperativa', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indCoop']],
91
- ['IndicativoConstrutora', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indConstr']],
92
- ['IndicativoDesoneracaoFolha', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indDesFolha']],
93
- ['IndicativoEntidadeEducativa', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indEntEd']],
94
- ['IndicativoEmpresaTrabalhoTemporario', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indEtt']],
95
- ['CpfContato', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/cpfCtt']],
96
- ['NomeContato', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/nmCtt']],
97
- ['TelefoneFixo', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/foneFixo']],
98
- ['TelefoneCelular', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/foneCel']],
99
- ['Email', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/email']],
83
+ ['ClassificacaoTributaria', evento['infoEmpregador/*/infoCadastro/classTrib']],
84
+ ['NaturezaJuridica', evento['infoEmpregador/*/infoCadastro/natJurid']],
85
+ ['IndicativoRegEletronico', evento['infoEmpregador/*/infoCadastro/indOptRegEletron']],
86
+ ['IndicativoCooperativa', evento['infoEmpregador/*/infoCadastro/indCoop']],
87
+ ['IndicativoConstrutora', evento['infoEmpregador/*/infoCadastro/indConstr']],
88
+ ['IndicativoDesoneracaoFolha', evento['infoEmpregador/*/infoCadastro/indDesFolha']],
89
+ ['IndicativoEntidadeEducativa', evento['infoEmpregador/*/infoCadastro/indEntEd']],
90
+ ['IndicativoEmpresaTrabalhoTemporario', evento['infoEmpregador/*/infoCadastro/indEtt']],
91
+ ['CpfContato', evento['infoEmpregador/*/infoCadastro/contato/cpfCtt']],
92
+ ['NomeContato', evento['infoEmpregador/*/infoCadastro/contato/nmCtt']],
93
+ ['TelefoneFixo', evento['infoEmpregador/*/infoCadastro/contato/foneFixo']],
94
+ ['TelefoneCelular', evento['infoEmpregador/*/infoCadastro/contato/foneCel']],
95
+ ['Email', evento['infoEmpregador/*/infoCadastro/contato/email']],
100
96
  ['SoftwareHouseTela_CnpjSoftwareHouse'],
101
97
  ['SoftwareHouseTela_NomeRazaoSocial'],
102
98
  ['SoftwareHouseTela_NomeContato'],
103
99
  ['SoftwareHouseTela_Telefone'],
104
100
  ['SoftwareHouseTela_Email'],
105
- ['IndicativoSituacaoPF', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoComplementares/situacaoPF/indSitPF']],
106
- ['IndicativoSituacaoPJ', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoComplementares/situacaoPJ/indSitPJ']],
101
+ ['IndicativoSituacaoPF', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPF/indSitPF']],
102
+ ['IndicativoSituacaoPJ', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPJ/indSitPJ']],
107
103
  ['IdEventoXml', id_do_evento],
108
104
  ['NrReciboEventoOriginal', numero_do_recibo],
109
105
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
@@ -126,15 +122,15 @@ module Teodoro
126
122
  end
127
123
 
128
124
  def nome_ou_razao_social
129
- @nome_ou_razao_social ||= evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/nmRazao']
125
+ @nome_ou_razao_social ||= evento['infoEmpregador/*/infoCadastro/nmRazao']
130
126
  end
131
127
 
132
128
  def orgao_publico?
133
- @orgao_publico ||= evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoOP']
129
+ @orgao_publico ||= evento['infoEmpregador/*/infoCadastro/infoOP']
134
130
  end
135
131
 
136
132
  def softwares_house
137
- evento.*('evtInfoEmpregador/infoEmpregador/*/infoCadastro/softwareHouse')
133
+ evento.*('infoEmpregador/*/infoCadastro/softwareHouse')
138
134
  end
139
135
  end
140
136
  end