teodoro 0.6.0 → 0.10.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +1 -0
  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 +29 -14
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +38 -12
  7. data/lib/teodoro/arquivo_de_origem.rb +7 -7
  8. data/lib/teodoro/arquivo_xml.rb +46 -22
  9. data/lib/teodoro/console.rb +3 -1
  10. data/lib/teodoro/empresa.rb +179 -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
@@ -5,195 +5,218 @@ 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
+ arquivos_de_origem.each(&:descompactar)
121
86
  end
122
- end
123
87
 
124
- class ContratosDeEmprego
125
- def registrar_admissao(admissao:, afastamento:)
126
- contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
88
+ def arquivos_de_origem
89
+ Dir[File.join(caminho, '*.zip')]
90
+ .map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
127
91
  end
128
92
 
129
- def [](matricula = nil, recibo: nil)
130
- if matricula
131
- contratos_por_matricula[matricula]
132
- else
133
- contratos.find { _1.recibo == recibo }
134
- end
93
+ def criar_diretorio_dos_arquivos_data
94
+ Dir.mkdir(destino_dos_arquivos_data)
135
95
  end
136
96
 
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)
97
+ def carregar_arquivos_xml
98
+ arquivos_xml.each(&:carregar)
141
99
  end
142
100
 
143
- def remover(recibo)
144
- contratos_por_matricula.delete_if { _2.recibo == recibo }
101
+ def arquivos_xml
102
+ @arquivos_xml ||=
103
+ Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
104
+ .map { |caminho| ArquivoXML.new(empresa: self, caminho: caminho) }
145
105
  end
146
106
 
147
- private
107
+ def classificar_arquivos_xml
108
+ Console.print 'classificando os arquivos XML...' do
109
+ arquivos_xml
110
+ .select(&:processavel?)
111
+ .partition(&:retificacao?)
112
+ .then do |de_retificacao, exceto_de_retificacao|
113
+ @arquivos_xml_por_recibo_a_retificar = de_retificacao.map { [_1.numero_do_recibo_a_retificar, _1] }.to_h
114
+ @arquivos_xml = exceto_de_retificacao
115
+ end
116
+ end
117
+ end
148
118
 
149
- def contratos_por_matricula
150
- @contratos_por_matricula ||= {}
119
+ def ordenar_arquivos_xml
120
+ Console.print 'ordenando os arquivos XML...' do
121
+ arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
122
+ end
151
123
  end
152
124
 
153
- def contratos
154
- contratos_por_matricula.values
125
+ def processar_arquivos_xml
126
+ # otimizacao do gerenciamento de memoria
127
+ arquivos_xml.shift.processar while arquivos_xml.any?
155
128
  end
156
129
 
157
- class Contrato
130
+ class ArquivosData
158
131
  private
159
132
 
160
- def initialize(admissao:, afastamento:)
161
- @admissao = admissao
162
- @afastamento = afastamento
133
+ def initialize(destino_dos_arquivos_data)
134
+ @destino_dos_arquivos_data = destino_dos_arquivos_data
163
135
  end
164
136
 
165
- attr_reader :admissao, :data_de_desligamento
137
+ attr_reader :destino_dos_arquivos_data
166
138
 
167
139
  public
168
140
 
169
- extend Forwardable
141
+ def registrar(recibo:, nome:)
142
+ (nomes_por_recibo[recibo] ||= []) << nome
143
+ end
144
+
145
+ def excluir(recibo)
146
+ (nomes_por_recibo.delete(recibo) || [])
147
+ .map { |nome| File.join(destino_dos_arquivos_data, "#{nome}.data") }
148
+ .each { File.delete(_1) }
149
+ end
170
150
 
171
- def_delegators :admissao, :matricula, :data_de_admissao, :categoria_do_trabalhador, :cpf_do_trabalhador, :recibo
151
+ private
172
152
 
173
- attr_accessor :afastamento
153
+ def nomes_por_recibo
154
+ @nomes_por_recibo ||= {}
155
+ end
156
+ end
174
157
 
175
- attr_writer :data_de_desligamento
158
+ class ContratosDeEmprego
159
+ def registrar_admissao(admissao:, afastamento:)
160
+ contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
161
+ end
176
162
 
177
- def ativo?(data)
178
- data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
163
+ def [](matricula)
164
+ contratos_por_matricula[matricula]
179
165
  end
180
166
 
181
- def retificar_admissao(admissao:, afastamento:)
182
- @admissao = Obj.new({ matricula: matricula }.merge(admissao.to_h))
183
- @afastamento = afastamento if afastamento
167
+ def *(cpf_do_trabalhador:, data:)
168
+ contratos
169
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
170
+ .sort_by(&:data_de_admissao)
184
171
  end
185
- end
186
- end
187
172
 
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)
173
+ def remover(recibo)
174
+ contratos_por_matricula.delete_if { _2.recibo == recibo }
175
+ end
176
+
177
+ private
178
+
179
+ def contratos_por_matricula
180
+ @contratos_por_matricula ||= {}
181
+ end
182
+
183
+ def contratos
184
+ contratos_por_matricula.values
185
+ end
186
+
187
+ class Contrato
188
+ private
189
+
190
+ def initialize(admissao:, afastamento:)
191
+ @admissao = admissao
192
+ @afastamento = afastamento
193
+ end
194
+
195
+ attr_reader :admissao, :data_de_desligamento
196
+
197
+ public
198
+
199
+ extend Forwardable
200
+
201
+ def_delegators :admissao, :matricula, :data_de_admissao, :categoria_do_trabalhador, :cpf_do_trabalhador,
202
+ :recibo
203
+
204
+ attr_accessor :afastamento
205
+
206
+ attr_writer :data_de_desligamento
207
+
208
+ def ativo?(data)
209
+ data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
210
+ end
211
+ end
191
212
  end
192
213
 
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
214
+ class ContratosDeTrabalhoSemVinculo
215
+ def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
216
+ contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
217
+ end
218
+
219
+ def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
197
220
  contratos
198
221
  .select {
199
222
  _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
@@ -201,51 +224,46 @@ module Teodoro
201
224
  }
202
225
  .max_by(&:data_de_inicio)
203
226
  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
227
 
212
- def remover(recibo)
213
- contratos.delete_if { _1.recibo == recibo }
214
- end
215
-
216
- private
228
+ def *(cpf_do_trabalhador:, data:)
229
+ contratos
230
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
231
+ .sort_by(&:data_de_inicio)
232
+ end
217
233
 
218
- def contratos
219
- @contratos ||= []
220
- end
234
+ def remover(recibo)
235
+ contratos.delete_if { _1.recibo == recibo }
236
+ end
221
237
 
222
- class Contrato
223
238
  private
224
239
 
225
- def initialize(inicio_de_contrato:, afastamento:)
226
- @inicio_de_contrato = inicio_de_contrato
227
- @afastamento = afastamento
240
+ def contratos
241
+ @contratos ||= []
228
242
  end
229
243
 
230
- attr_reader :inicio_de_contrato, :data_do_termino
244
+ class Contrato
245
+ private
231
246
 
232
- public
247
+ def initialize(inicio_de_contrato:, afastamento:)
248
+ @inicio_de_contrato = inicio_de_contrato
249
+ @afastamento = afastamento
250
+ end
233
251
 
234
- extend Forwardable
252
+ attr_reader :inicio_de_contrato, :data_do_termino
235
253
 
236
- def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
254
+ public
237
255
 
238
- attr_accessor :afastamento
256
+ extend Forwardable
239
257
 
240
- attr_writer :data_do_termino
258
+ def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
241
259
 
242
- def ativo?(data)
243
- data_de_inicio <= data && (!data_do_termino || data_do_termino >= data)
244
- end
260
+ attr_accessor :afastamento
261
+
262
+ attr_writer :data_do_termino
245
263
 
246
- def retificar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
247
- @inicio_de_contrato = inicio_de_contrato
248
- @afastamento = afastamento if afastamento
264
+ def ativo?(data)
265
+ data_de_inicio <= data && (!data_do_termino || data_do_termino >= data)
266
+ end
249
267
  end
250
268
  end
251
269
  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