teodoro 0.0.12 → 0.2.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.
@@ -29,8 +29,7 @@ module Teodoro
29
29
  @codigo ||= evento['evtTabRubrica/infoRubrica/*/ideRubrica/codRubr']
30
30
  end
31
31
 
32
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
33
- def itens_do_conteudo_do_arquivo_data
32
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
34
33
  [
35
34
  ['RequestVerificationToken'],
36
35
  ['SomenteVisualizacao'],
@@ -59,7 +58,6 @@ module Teodoro
59
58
  ['hd_ProcessoSindicato']
60
59
  ]
61
60
  end
62
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
63
61
  end
64
62
  end
65
63
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_da_lotacao_tributaria ||= evento['evtTabLotacao/infoLotacao/*/ideLotacao/codLotacao']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -60,9 +60,9 @@ module Teodoro
60
60
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
61
61
  ['idEdicaoProcesso'],
62
62
  ['ExibirContribuicaoPatronal']
63
+ # rubocop:enable Layout/LineLength
63
64
  ]
64
65
  end
65
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
66
66
  end
67
67
  end
68
68
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_do_cargo ||= evento['evtTabCargo/infoCargo/*/ideCargo/codCargo']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -51,9 +51,9 @@ module Teodoro
51
51
  ['NrReciboEventoOriginal'],
52
52
  ['DescricaoProcEmi'],
53
53
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
54
+ # rubocop:enable Layout/LineLength
54
55
  ]
55
56
  end
56
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
57
57
  end
58
58
  end
59
59
  end
@@ -23,8 +23,7 @@ module Teodoro
23
23
  @codigo_da_funcao ||= evento['evtTabFuncao/infoFuncao/*/ideFuncao/codFuncao']
24
24
  end
25
25
 
26
- # rubocop:disable Metrics/MethodLength
27
- def itens_do_conteudo_do_arquivo_data
26
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
28
27
  [
29
28
  ['RequestVerificationToken'],
30
29
  ['SomenteVisualizacao'],
@@ -43,7 +42,6 @@ module Teodoro
43
42
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
44
43
  ]
45
44
  end
46
- # rubocop:enable Metrics/MethodLength
47
45
  end
48
46
  end
49
47
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_do_horario ||= evento['evtTabHorTur/infoHorContratual/*/ideHorContratual/codHorContrat']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -60,9 +60,9 @@ module Teodoro
60
60
  ["DadosHorario_ListaHorarioIntervalo_#{seq}_DuracaoIntervalo", intervalo['durInterv']]
61
61
  ]
62
62
  end.sum([])
63
+ # rubocop:enable Layout/LineLength
63
64
  ]
64
65
  end
65
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
66
66
  end
67
67
  end
68
68
  end
@@ -25,8 +25,7 @@ module Teodoro
25
25
  @numero_do_processo ||= evento['evtTabProcesso/infoProcesso/*/ideProcesso/nrProc']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
31
30
  ['RequestVerificationToken'],
32
31
  ['SomenteVisualizacao'],
@@ -69,7 +68,6 @@ module Teodoro
69
68
  end.sum([])
70
69
  ]
71
70
  end
72
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
73
71
  end
74
72
  end
75
73
  end
@@ -8,7 +8,7 @@ module Teodoro
8
8
  end
9
9
 
10
10
  def nome_do_arquivo_data
11
- "PRE[#{cpf_do_trabalhador}]"
11
+ @nome_do_arquivo_data ||= "PRE[#{cpf_do_trabalhador}]"
12
12
  end
13
13
 
14
14
  def cpf_do_trabalhador
@@ -4,22 +4,31 @@ module Teodoro
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
6
  def processar
7
+ remover_registro_do_contrato_de_emprego if retificacao?
8
+
7
9
  super
8
10
 
9
- registrar_admissao
11
+ registrar_contrato_de_emprego
10
12
  end
11
13
 
12
14
  private
13
15
 
14
- def registrar_admissao
15
- admissoes_por_matricula[matricula_do_trabalhador] = Obj.new(
16
- data: data_de_admissao,
17
- categoria_do_trabalhador: categoria_do_trabalhador
16
+ def remover_registro_do_contrato_de_emprego
17
+ contratos_de_emprego.remover(numero_do_recibo_a_retificar)
18
+ end
19
+
20
+ def registrar_contrato_de_emprego
21
+ contratos_de_emprego << Obj.new(
22
+ matricula: matricula_do_trabalhador,
23
+ data_de_admissao: data_de_admissao,
24
+ categoria_do_trabalhador: categoria_do_trabalhador,
25
+ cpf_do_trabalhador: cpf_do_trabalhador,
26
+ recibo: numero_do_recibo
18
27
  )
19
28
  end
20
29
 
21
- def admissoes_por_matricula
22
- empresa.admissoes_por_matricula
30
+ def contratos_de_emprego
31
+ empresa.contratos_de_emprego
23
32
  end
24
33
 
25
34
  def data_de_admissao
@@ -47,9 +56,9 @@ module Teodoro
47
56
  @matricula_do_trabalhador ||= evento['evtAdmissao/vinculo/matricula']
48
57
  end
49
58
 
50
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
51
- def itens_do_conteudo_do_arquivo_data
59
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
52
60
  [
61
+ # rubocop:disable Layout/LineLength
53
62
  ['ESX_CPF', cpf_do_trabalhador],
54
63
  ['ESX_MATRICULA', matricula_do_trabalhador],
55
64
  ['ESX_CATEGORIA', categoria_do_trabalhador],
@@ -158,7 +167,7 @@ module Teodoro
158
167
  ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
159
168
  ['SemNumeroLogradouroEnderecoEX'],
160
169
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAdmissao/trabalhador/trabEstrangeiro/casadoBr']],
161
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_estrangeiro],
170
+ item_do_conteudo_do_arquivo_data('EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'),
162
171
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
163
172
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAdmissao/trabalhador/trabEstrangeiro/dtChegada']],
164
173
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAdmissao/trabalhador/trabEstrangeiro/filhosBr']],
@@ -251,19 +260,19 @@ module Teodoro
251
260
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/descComp']],
252
261
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
253
262
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
254
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/uf']],
255
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/tpLograd']],
263
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf'),
264
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro'),
256
265
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
257
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/nrLograd']],
258
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/dscLograd']],
259
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/complemento']],
260
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/codMunic']],
261
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/cep']],
262
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/bairro']],
266
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro'),
267
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro'),
268
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento'),
269
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio'),
270
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep'),
271
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro'),
263
272
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/nrInsc']],
264
273
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/tpInsc']],
265
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/nrInsc']],
266
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/tpInsc']],
274
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'),
275
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'),
267
276
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/hipLeg']],
268
277
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/justContr']],
269
278
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/tpInclContr']],
@@ -309,29 +318,99 @@ module Teodoro
309
318
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
310
319
  ]
311
320
  end.sum([])
321
+ # rubocop:enable Layout/LineLength
312
322
  ]
313
323
  end
314
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
315
324
 
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
+ def item_do_conteudo_do_arquivo_data(chave)
326
+ chaves_valores_de_acordo_com_a_versao_do_leiaute[chave]
327
+ end
328
+
329
+ def chaves_valores_de_acordo_com_a_versao_do_leiaute
330
+ @chaves_valores_de_acordo_com_a_versao_do_leiaute ||=
331
+ (leiaute_simplificado? ? ChavesValoresDoLeiauteSimplificado : ChavesValoresDoLeiaute2).new(evento)
332
+ end
333
+
334
+ module ChavesValores
335
+ private
336
+
337
+ def initialize(evento)
338
+ @evento = evento
339
+ end
340
+
341
+ attr_reader :evento
342
+
343
+ public
344
+
345
+ def [](chave)
346
+ de_chave_para_chave_valor[chave]
347
+ end
348
+
349
+ private
350
+
351
+ def de_chave_para_chave_valor
352
+ @de_chave_para_chave_valor ||=
353
+ itens_do_conteudo_do_arquivo_data.map { |chave, valor| [chave, [chave, valor]] }.to_h
354
+ end
355
+ end
356
+
357
+ class ChavesValoresDoLeiaute2
358
+ include ChavesValores
359
+
360
+ private
361
+
362
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
363
+ [
364
+ # rubocop:disable Layout/LineLength
365
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAdmissao/trabalhador/trabEstrangeiro/classTrabEstrang']],
366
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/uf']],
367
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/tpLograd']],
368
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/nrLograd']],
369
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/dscLograd']],
370
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/complemento']],
371
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/codMunic']],
372
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/cep']],
373
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/bairro']],
374
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/nrInsc']],
375
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/tpInsc']]
376
+ # rubocop:enable Layout/LineLength
377
+ ]
325
378
  end
326
379
  end
327
380
 
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
381
+ class ChavesValoresDoLeiauteSimplificado
382
+ include ChavesValores
383
+
384
+ private
385
+
386
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
387
+ [
388
+ # rubocop:disable Layout/LineLength
389
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_imigrante],
390
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/uf']],
391
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/tpLograd']],
392
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/nrLograd']],
393
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/dscLograd']],
394
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/complemento']],
395
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/codMunic']],
396
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/cep']],
397
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/bairro']],
398
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/nrInsc']],
399
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/tpInsc']]
400
+ # rubocop:enable Layout/LineLength
401
+ ]
402
+ end
403
+
404
+ def condicao_de_ingresso_do_trabalhador_imigrante
405
+ {
406
+ '1' => 4,
407
+ '2' => 5,
408
+ '4' => 10,
409
+ '5' => 11,
410
+ '6' => 12
411
+ }[evento['evtAdmissao/trabalhador/trabImig/condIng']] || evento['evtAdmissao/trabalhador/trabImig/tmpResid']
412
+ end
413
+ end
335
414
  end
336
415
  end
337
416
  end
@@ -1,7 +1,13 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
- include ArquivoDeEventoNaoPeriodico
3
+ class ArquivoS2205
4
+ include ArquivoDeEventoProcessadorDeArquivoData
5
+ include ArquivoDeEventoRetificavel
6
+
7
+ def processar
8
+ deletar_arquivos_data_originais if retificacao?
9
+ processar_contratos_de_trabalho
10
+ end
5
11
 
6
12
  private
7
13
 
@@ -9,10 +15,25 @@ module Teodoro
9
15
  'evtAltCadastral'
10
16
  end
11
17
 
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('-')}]"
18
+ def processar_contratos_de_trabalho
19
+ contratos_de_trabalho.each(&:processar)
20
+ end
21
+
22
+ def contratos_de_trabalho
23
+ (contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
24
+ .map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
25
+ end
26
+
27
+ def contratos_de_emprego
28
+ empresa.contratos_de_emprego
29
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
30
+ .map { [ContratoDeEmprego, _1] }
31
+ end
32
+
33
+ def contratos_de_trabalho_sem_vinculo
34
+ empresa.contratos_de_trabalho_sem_vinculo
35
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
36
+ .map { [ContratoDeTrabalhoSemVinculo, _1] }
16
37
  end
17
38
 
18
39
  def cpf_do_trabalhador
@@ -23,135 +44,221 @@ module Teodoro
23
44
  @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
24
45
  end
25
46
 
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
- ]
47
+ module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
48
+ include ArquivoDeEventoNaoPeriodico
49
+
50
+ private
51
+
52
+ def initialize(contrato:, **args)
53
+ super(**args)
54
+
55
+ @contrato = contrato
56
+ end
57
+
58
+ attr_reader :contrato
59
+
60
+ def noh_principal_do_evento
61
+ 'evtAltCadastral'
62
+ end
63
+
64
+ def nome_do_arquivo_data
65
+ @nome_do_arquivo_data ||= [
66
+ "TRA[#{cpf_do_trabalhador}]",
67
+ nome_do_arquivo_data_identificacao_do_contrato,
68
+ "-ACA[#{data_da_alteracao.delete('-')}]"
69
+ ].join
70
+ end
71
+
72
+ def cpf_do_trabalhador
73
+ @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
74
+ end
75
+
76
+ def data_da_alteracao
77
+ @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
78
+ end
79
+
80
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
81
+ [
82
+ # rubocop:disable Layout/LineLength
83
+ ['ESX_CPF', cpf_do_trabalhador],
84
+ ['ESX_MATRICULA', matricula_do_contrato],
85
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
86
+ %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
87
+ ['ESX_DATAADMISSAO', data_de_inicio_do_contrato_de_trabalho],
88
+ ['ESX_DATAALTERACAO', data_da_alteracao],
89
+ ['DataAlteracao', data_da_alteracao],
90
+ ['IdEventoXml'],
91
+ ['NrReciboEventoOriginal'],
92
+ ['RequestVerificationToken'],
93
+ ['SomenteLeitura'],
94
+ ['VisualizarDadosCadastrais'],
95
+ ['UrlRetorno'],
96
+ ['visualizar'],
97
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
98
+ ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
99
+ ['IdEdicaoDependente'],
100
+ ['commandArgument'],
101
+ ['EventoAdmissao_TipoEventoEnviado'],
102
+ ['HiddenCurrentUrl'],
103
+ ['ehCodigoAcesso'],
104
+ ['ExibirTrocarPerfil'],
105
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
106
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
107
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
108
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
109
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
110
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
111
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
112
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
113
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
114
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
115
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
116
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
117
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
118
+ ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
119
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
120
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
121
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
122
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
123
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
124
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
125
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
126
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
127
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
128
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
129
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
130
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
131
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
132
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
133
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
134
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
135
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
136
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
137
+ ['SemNumeroLogradouroEnderecoBR'],
138
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
139
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
140
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
141
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
142
+ ['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
143
+ ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
144
+ ['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
145
+ ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
146
+ ['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
147
+ ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
148
+ ['ResideExterior'],
149
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
150
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
151
+ ['SemNumeroLogradouroEnderecoEX'],
152
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
153
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
154
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
155
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
156
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
157
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
158
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
159
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
160
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
161
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
162
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
163
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
164
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
165
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
166
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
167
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
168
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
169
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
170
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
171
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
172
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
173
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
174
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
175
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
176
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
177
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
178
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
179
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
180
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
181
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
182
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
183
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
184
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
185
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
186
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
187
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
188
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
189
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
190
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
191
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
192
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
193
+ ['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
194
+ *evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
195
+ [
196
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
197
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
198
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
199
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
200
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
201
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
202
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
203
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
204
+ ]
205
+ end.sum([])
206
+ # rubocop:enable Layout/LineLength
207
+ ]
208
+ end
209
+ end
210
+
211
+ class ContratoDeEmprego
212
+ include ContratoDeTrabalho
213
+
214
+ private
215
+
216
+ def nome_do_arquivo_data_identificacao_do_contrato
217
+ "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
218
+ end
219
+
220
+ def matricula_do_contrato
221
+ contrato.matricula
222
+ end
223
+
224
+ def data_de_admissao
225
+ contrato.data_de_admissao
226
+ end
227
+
228
+ def categoria_do_trabalhador
229
+ contrato.categoria_do_trabalhador
230
+ end
231
+
232
+ def data_de_inicio_do_contrato_de_trabalho
233
+ data_de_admissao
234
+ end
235
+ end
236
+
237
+ class ContratoDeTrabalhoSemVinculo
238
+ include ContratoDeTrabalho
239
+
240
+ private
241
+
242
+ def nome_do_arquivo_data_identificacao_do_contrato
243
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
244
+ end
245
+
246
+ def categoria_do_trabalhador
247
+ contrato.categoria_do_trabalhador
248
+ end
249
+
250
+ def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
251
+ contrato.data_de_inicio
252
+ end
253
+
254
+ def matricula_do_contrato
255
+ nil
256
+ end
257
+
258
+ def data_de_inicio_do_contrato_de_trabalho
259
+ data_de_inicio_do_contrato_de_trabalho_sem_vinculo
260
+ end
153
261
  end
154
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
155
262
  end
156
263
  end
157
264
  end