teodoro 0.0.11 → 0.2.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 +10 -5
  3. data/lib/teodoro/arquivo_de_evento.rb +15 -15
  4. data/lib/teodoro/{arquivo_de_evento_exceto_de_exclusao.rb → arquivo_de_evento_criador_de_arquivo_data.rb} +2 -6
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +2 -2
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +9 -33
  7. data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +30 -0
  8. data/lib/teodoro/arquivo_de_evento_retificavel.rb +23 -0
  9. data/lib/teodoro/arquivo_xml.rb +34 -22
  10. data/lib/teodoro/empresa.rb +77 -9
  11. data/lib/teodoro/leiaute.rb +24 -0
  12. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1000.rb +7 -9
  13. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1005.rb +4 -4
  14. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1010.rb +2 -4
  15. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1020.rb +4 -4
  16. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1030.rb +4 -4
  17. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1040.rb +2 -4
  18. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1050.rb +4 -4
  19. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s1070.rb +2 -4
  20. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2190.rb +2 -2
  21. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2200.rb +121 -22
  22. data/lib/teodoro/leiaute/arquivo_s2205.rb +264 -0
  23. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2206.rb +18 -7
  24. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2230.rb +56 -12
  25. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2250.rb +24 -8
  26. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2299.rb +23 -20
  27. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2300.rb +17 -9
  28. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2306.rb +27 -7
  29. data/lib/teodoro/{leiaute_2 → leiaute}/arquivo_s2399.rb +11 -8
  30. data/lib/teodoro/leiaute/arquivo_s3000.rb +33 -0
  31. metadata +25 -23
  32. data/lib/teodoro/leiaute_2.rb +0 -24
  33. data/lib/teodoro/leiaute_2/arquivo_s2205.rb +0 -157
  34. data/lib/teodoro/leiaute_2/arquivo_s3000.rb +0 -41
@@ -1,8 +1,10 @@
1
1
  module Teodoro
2
- module Leiaute_2
2
+ module Leiaute
3
3
  class ArquivoS2299 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
+ # FIXME: Tales registrar na empresa
7
+
6
8
  private
7
9
 
8
10
  def noh_principal_do_evento
@@ -10,8 +12,8 @@ module Teodoro
10
12
  end
11
13
 
12
14
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-GER"
15
+ @nome_do_arquivo_data ||=
16
+ "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER"
15
17
  end
16
18
 
17
19
  def cpf_do_trabalhador
@@ -22,9 +24,21 @@ module Teodoro
22
24
  @matricula_do_trabalhador ||= evento['evtDeslig/ideVinculo/matricula']
23
25
  end
24
26
 
25
- # rubocop:disable Metrics/MethodLength, Layout/LineLength
26
- def itens_do_conteudo_do_arquivo_data
27
+ def data_de_admissao
28
+ contrato_de_emprego.data_de_admissao
29
+ end
30
+
31
+ def contrato_de_emprego
32
+ @contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
33
+ end
34
+
35
+ def contratos_de_emprego
36
+ empresa.contratos_de_emprego
37
+ end
38
+
39
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
27
40
  [
41
+ # rubocop:disable Layout/LineLength
28
42
  ['ESX_CPF', cpf_do_trabalhador],
29
43
  ['ESX_MATRICULA', matricula_do_trabalhador],
30
44
  ['ESX_CATEGORIA'],
@@ -276,14 +290,15 @@ module Teodoro
276
290
  ['Horarios_#_CodigoHorarioContratual'],
277
291
  ['Horarios_#_Dia'],
278
292
  ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
293
+ # rubocop:enable Layout/LineLength
279
294
  ]
280
295
  end
281
- # rubocop:enable Metrics/MethodLength, Layout/LineLength
282
296
 
283
297
  def identificador_do_demonstrativo
284
298
  evento['evtDeslig/infoDeslig/verbasResc']&.then do |verbas|
285
299
  verbas.*('dmDev').then do |demonstrativos|
286
- raise if demonstrativos.size > 1
300
+ puts "\n \e[33mmais de um demonstrativo (considerado apenas o primeiro)\e[0m" if
301
+ demonstrativos.size > 1 # yellow
287
302
 
288
303
  demonstrativos[0]['ideDmDev']
289
304
  end
@@ -291,19 +306,7 @@ module Teodoro
291
306
  end
292
307
 
293
308
  def categoria_do_trabalhador
294
- admissao.categoria_do_trabalhador
295
- end
296
-
297
- def admissao
298
- @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
299
- end
300
-
301
- def admissoes_por_matricula
302
- empresa.admissoes_por_matricula
303
- end
304
-
305
- def data_de_admissao
306
- admissao.data
309
+ contrato_de_emprego.categoria_do_trabalhador
307
310
  end
308
311
  end
309
312
  end
@@ -1,9 +1,11 @@
1
1
  module Teodoro
2
- module Leiaute_2
2
+ module Leiaute
3
3
  class ArquivoS2300 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
6
  def processar
7
+ remover_registro_do_contrato_de_trabalhador_sem_vinculo if retificacao?
8
+
7
9
  super
8
10
 
9
11
  registrar_contrato_de_trabalhador_sem_vinculo
@@ -11,16 +13,21 @@ module Teodoro
11
13
 
12
14
  private
13
15
 
16
+ def remover_registro_do_contrato_de_trabalhador_sem_vinculo
17
+ contratos_de_trabalho_sem_vinculo.remover(numero_do_recibo_a_retificar)
18
+ end
19
+
14
20
  def registrar_contrato_de_trabalhador_sem_vinculo
15
- contratos_de_trabalhador_sem_vinculo << Obj.new(
21
+ contratos_de_trabalho_sem_vinculo << Obj.new(
16
22
  cpf_do_trabalhador: cpf_do_trabalhador,
17
23
  categoria_do_trabalhador: categoria_do_trabalhador,
18
- data_de_inicio: data_de_inicio
24
+ data_de_inicio: data_de_inicio,
25
+ recibo: numero_do_recibo
19
26
  )
20
27
  end
21
28
 
22
- def contratos_de_trabalhador_sem_vinculo
23
- empresa.contratos_de_trabalhador_sem_vinculo
29
+ def contratos_de_trabalho_sem_vinculo
30
+ empresa.contratos_de_trabalho_sem_vinculo
24
31
  end
25
32
 
26
33
  def noh_principal_do_evento
@@ -28,7 +35,8 @@ module Teodoro
28
35
  end
29
36
 
30
37
  def nome_do_arquivo_data
31
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM"
38
+ @nome_do_arquivo_data ||=
39
+ "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM"
32
40
  end
33
41
 
34
42
  def cpf_do_trabalhador
@@ -43,9 +51,9 @@ module Teodoro
43
51
  evento['evtTSVInicio/infoTSVInicio/dtInicio']
44
52
  end
45
53
 
46
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
47
- def itens_do_conteudo_do_arquivo_data
54
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
48
55
  [
56
+ # rubocop:disable Layout/LineLength
49
57
  ['ESX_CPF', evento['evtTSVInicio/trabalhador/cpfTrab']],
50
58
  ['ESX_MATRICULA'],
51
59
  ['ESX_CATEGORIA', evento['evtTSVInicio/infoTSVInicio/codCateg']],
@@ -294,9 +302,9 @@ module Teodoro
294
302
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
295
303
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
296
304
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa']]
305
+ # rubocop:enable Layout/LineLength
297
306
  ]
298
307
  end
299
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
300
308
  end
301
309
  end
302
310
  end
@@ -1,5 +1,5 @@
1
1
  module Teodoro
2
- module Leiaute_2
2
+ module Leiaute
3
3
  class ArquivoS2306 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
@@ -10,8 +10,12 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeInicio
14
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_dataDeInicio]-ACO[#{data_da_alteracao.delete('-')}]"
13
+ @nome_do_arquivo_data ||= [
14
+ 'TRA',
15
+ "[#{cpf_do_trabalhador}]",
16
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]",
17
+ "-ACO[#{data_da_alteracao.delete('-')}]"
18
+ ].join
15
19
  end
16
20
 
17
21
  def cpf_do_trabalhador
@@ -22,18 +26,34 @@ module Teodoro
22
26
  evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']
23
27
  end
24
28
 
29
+ def data_de_inicio
30
+ contrato_de_trabalho.data_de_inicio
31
+ end
32
+
33
+ def contrato_de_trabalho
34
+ contratos_de_trabalho_sem_vinculo[
35
+ cpf_do_trabalhador: cpf_do_trabalhador,
36
+ categoria_do_trabalhador: categoria_do_trabalhador,
37
+ data: data_da_alteracao
38
+ ]
39
+ end
40
+
41
+ def contratos_de_trabalho_sem_vinculo
42
+ empresa.contratos_de_trabalho_sem_vinculo
43
+ end
44
+
25
45
  def data_da_alteracao
26
46
  evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']
27
47
  end
28
48
 
29
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
30
- def itens_do_conteudo_do_arquivo_data
49
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
31
50
  [
51
+ # rubocop:disable Layout/LineLength
32
52
  ['ESX_CPF', evento['evtTSVAltContr/ideTrabSemVinculo/cpfTrab']],
33
53
  ['ESX_MATRICULA'],
34
54
  ['ESX_CATEGORIA', evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']],
35
55
  %w[ESX_SEMVINCULO 1],
36
- ['ESX_DATAADMISSAO'], # FIXME: Tales
56
+ ['ESX_DATAADMISSAO', data_de_inicio],
37
57
  ['ESX_DATAALTERACAO', evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']],
38
58
  ['cpfTrabalhador'],
39
59
  ['nomeTrabalhador'],
@@ -159,9 +179,9 @@ module Teodoro
159
179
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/nivEstagio']],
160
180
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/nrApol']],
161
181
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/vlrBolsa']]
182
+ # rubocop:enable Layout/LineLength
162
183
  ]
163
184
  end
164
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
165
185
  end
166
186
  end
167
187
  end
@@ -1,8 +1,10 @@
1
1
  module Teodoro
2
- module Leiaute_2
2
+ module Leiaute
3
3
  class ArquivoS2399 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
+ # FIXME: Tales registrar termino na empresa
7
+
6
8
  private
7
9
 
8
10
  def noh_principal_do_evento
@@ -10,7 +12,8 @@ module Teodoro
10
12
  end
11
13
 
12
14
  def nome_do_arquivo_data
13
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER"
15
+ @nome_do_arquivo_data ||=
16
+ "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER"
14
17
  end
15
18
 
16
19
  def cpf_do_trabalhador
@@ -26,24 +29,24 @@ module Teodoro
26
29
  end
27
30
 
28
31
  def contrato_de_trabalho
29
- contratos_de_trabalhador_sem_vinculo[
32
+ contratos_de_trabalho_sem_vinculo[
30
33
  cpf_do_trabalhador: cpf_do_trabalhador,
31
34
  categoria_do_trabalhador: categoria_do_trabalhador,
32
35
  data: data_do_termino
33
36
  ]
34
37
  end
35
38
 
36
- def contratos_de_trabalhador_sem_vinculo
37
- empresa.contratos_de_trabalhador_sem_vinculo
39
+ def contratos_de_trabalho_sem_vinculo
40
+ empresa.contratos_de_trabalho_sem_vinculo
38
41
  end
39
42
 
40
43
  def data_do_termino
41
44
  @data_do_termino ||= evento['evtTSVTermino/infoTSVTermino/dtTerm']
42
45
  end
43
46
 
44
- # rubocop:disable Metrics/MethodLength, Layout/LineLength
45
- def itens_do_conteudo_do_arquivo_data
47
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
46
48
  [
49
+ # rubocop:disable Layout/LineLength
47
50
  ['ESX_CPF', cpf_do_trabalhador],
48
51
  ['ESX_MATRICULA'],
49
52
  ['ESX_CATEGORIA', categoria_do_trabalhador],
@@ -295,9 +298,9 @@ module Teodoro
295
298
  ['Horarios_#_CodigoHorarioContratual'],
296
299
  ['Horarios_#_Dia'],
297
300
  ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
301
+ # rubocop:enable Layout/LineLength
298
302
  ]
299
303
  end
300
- # rubocop:enable Metrics/MethodLength, Layout/LineLength
301
304
  end
302
305
  end
303
306
  end
@@ -0,0 +1,33 @@
1
+ module Teodoro
2
+ module Leiaute
3
+ class ArquivoS3000
4
+ include ArquivoDeEventoProcessadorDeArquivoData
5
+
6
+ def processar
7
+ excluir_arquivos_data if tipo_de_evento_processavel?
8
+ end
9
+
10
+ private
11
+
12
+ def tipo_de_evento_processavel?
13
+ ArquivoXML::TIPOS_DE_EVENTO_PROCESSAVEIS.include?(tipo_de_evento)
14
+ end
15
+
16
+ def tipo_de_evento
17
+ evento['evtExclusao/infoExclusao/tpEvento'].delete('-')
18
+ end
19
+
20
+ def excluir_arquivos_data
21
+ arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
22
+ end
23
+
24
+ def arquivos_data
25
+ empresa.arquivos_data
26
+ end
27
+
28
+ def numero_de_recibo_do_evento_a_excluir
29
+ evento['evtExclusao/infoExclusao/nrRecEvt']
30
+ end
31
+ end
32
+ end
33
+ 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.11
4
+ version: 0.2.0
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 00:00:00.000000000 Z
11
+ date: 2021-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -174,34 +174,36 @@ files:
174
174
  - bin/teodoro
175
175
  - lib/teodoro.rb
176
176
  - lib/teodoro/arquivo_de_evento.rb
177
+ - lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb
177
178
  - lib/teodoro/arquivo_de_evento_de_tabela.rb
178
- - lib/teodoro/arquivo_de_evento_exceto_de_exclusao.rb
179
179
  - lib/teodoro/arquivo_de_evento_nao_periodico.rb
180
+ - lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb
181
+ - lib/teodoro/arquivo_de_evento_retificavel.rb
180
182
  - lib/teodoro/arquivo_de_origem.rb
181
183
  - lib/teodoro/arquivo_xml.rb
182
184
  - lib/teodoro/cnpj.rb
183
185
  - lib/teodoro/console.rb
184
186
  - lib/teodoro/empresa.rb
185
- - lib/teodoro/leiaute_2.rb
186
- - lib/teodoro/leiaute_2/arquivo_s1000.rb
187
- - lib/teodoro/leiaute_2/arquivo_s1005.rb
188
- - lib/teodoro/leiaute_2/arquivo_s1010.rb
189
- - lib/teodoro/leiaute_2/arquivo_s1020.rb
190
- - lib/teodoro/leiaute_2/arquivo_s1030.rb
191
- - lib/teodoro/leiaute_2/arquivo_s1040.rb
192
- - lib/teodoro/leiaute_2/arquivo_s1050.rb
193
- - lib/teodoro/leiaute_2/arquivo_s1070.rb
194
- - lib/teodoro/leiaute_2/arquivo_s2190.rb
195
- - lib/teodoro/leiaute_2/arquivo_s2200.rb
196
- - lib/teodoro/leiaute_2/arquivo_s2205.rb
197
- - lib/teodoro/leiaute_2/arquivo_s2206.rb
198
- - lib/teodoro/leiaute_2/arquivo_s2230.rb
199
- - lib/teodoro/leiaute_2/arquivo_s2250.rb
200
- - lib/teodoro/leiaute_2/arquivo_s2299.rb
201
- - lib/teodoro/leiaute_2/arquivo_s2300.rb
202
- - lib/teodoro/leiaute_2/arquivo_s2306.rb
203
- - lib/teodoro/leiaute_2/arquivo_s2399.rb
204
- - lib/teodoro/leiaute_2/arquivo_s3000.rb
187
+ - lib/teodoro/leiaute.rb
188
+ - lib/teodoro/leiaute/arquivo_s1000.rb
189
+ - lib/teodoro/leiaute/arquivo_s1005.rb
190
+ - lib/teodoro/leiaute/arquivo_s1010.rb
191
+ - lib/teodoro/leiaute/arquivo_s1020.rb
192
+ - lib/teodoro/leiaute/arquivo_s1030.rb
193
+ - lib/teodoro/leiaute/arquivo_s1040.rb
194
+ - lib/teodoro/leiaute/arquivo_s1050.rb
195
+ - lib/teodoro/leiaute/arquivo_s1070.rb
196
+ - lib/teodoro/leiaute/arquivo_s2190.rb
197
+ - lib/teodoro/leiaute/arquivo_s2200.rb
198
+ - lib/teodoro/leiaute/arquivo_s2205.rb
199
+ - lib/teodoro/leiaute/arquivo_s2206.rb
200
+ - lib/teodoro/leiaute/arquivo_s2230.rb
201
+ - lib/teodoro/leiaute/arquivo_s2250.rb
202
+ - lib/teodoro/leiaute/arquivo_s2299.rb
203
+ - lib/teodoro/leiaute/arquivo_s2300.rb
204
+ - lib/teodoro/leiaute/arquivo_s2306.rb
205
+ - lib/teodoro/leiaute/arquivo_s2399.rb
206
+ - lib/teodoro/leiaute/arquivo_s3000.rb
205
207
  - lib/teodoro/obj.rb
206
208
  - lib/teodoro/xml.rb
207
209
  homepage:
@@ -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
@@ -1,157 +0,0 @@
1
- module Teodoro
2
- module Leiaute_2
3
- class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
- include ArquivoDeEventoNaoPeriodico
5
-
6
- private
7
-
8
- def noh_principal_do_evento
9
- 'evtAltCadastral'
10
- end
11
-
12
- def nome_do_arquivo_data
13
- # FIXME: Tales matricula dataDeAdmissao
14
- @nome_do_arquivo_data ||=
15
- "TRA[#{cpf_do_trabalhador}][EPG_matricula_dataDeAdmissao]-ACA[#{data_da_alteracao.delete('-')}]"
16
- end
17
-
18
- def cpf_do_trabalhador
19
- @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
20
- end
21
-
22
- def data_da_alteracao
23
- @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
24
- end
25
-
26
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
27
- def itens_do_conteudo_do_arquivo_data
28
- [
29
- ['ESX_CPF', cpf_do_trabalhador],
30
- ['ESX_MATRICULA'], # FIXME: Tales
31
- ['ESX_CATEGORIA'], # FIXME: Tales
32
- %w[ESX_SEMVINCULO 0],
33
- ['ESX_DATAADMISSAO'], # FIXME: Tales
34
- ['ESX_DATAALTERACAO', data_da_alteracao],
35
- ['DataAlteracao', data_da_alteracao],
36
- ['IdEventoXml'],
37
- ['NrReciboEventoOriginal'],
38
- ['RequestVerificationToken'],
39
- ['SomenteLeitura'],
40
- ['VisualizarDadosCadastrais'],
41
- ['UrlRetorno'],
42
- ['visualizar'],
43
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
44
- ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
45
- ['IdEdicaoDependente'],
46
- ['commandArgument'],
47
- ['EventoAdmissao_TipoEventoEnviado'],
48
- ['HiddenCurrentUrl'],
49
- ['ehCodigoAcesso'],
50
- ['ExibirTrocarPerfil'],
51
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
52
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
53
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
54
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
55
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
56
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
57
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
58
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
59
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
60
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
61
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
62
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
63
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
64
- ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
65
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
66
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
67
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
68
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
69
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
70
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
71
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
72
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
73
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
74
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
75
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
76
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
77
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
78
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
79
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
80
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
81
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
82
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
83
- ['SemNumeroLogradouroEnderecoBR'],
84
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
85
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
86
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
87
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
88
- ['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
89
- ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
90
- ['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
91
- ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
92
- ['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
93
- ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
94
- ['ResideExterior'],
95
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
96
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
97
- ['SemNumeroLogradouroEnderecoEX'],
98
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
99
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
100
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
101
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
102
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
103
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
104
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
105
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
106
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
107
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
108
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
109
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
110
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
111
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
112
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
113
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
114
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
115
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
116
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
117
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
118
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
119
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
120
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
121
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
122
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
123
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
124
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
125
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
126
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
128
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
129
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
130
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
131
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
132
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
133
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
134
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
135
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
136
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
137
- ['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
138
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
139
- ['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
140
- *evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
141
- [
142
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
143
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
144
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
145
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
146
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
147
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
148
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
149
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
150
- ]
151
- end.sum([])
152
- ]
153
- end
154
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
155
- end
156
- end
157
- end