teodoro 0.0.13 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d13e1befb47f42baadda75f5ee3fbab43f2903ad4853c22d9f8a5dc2d3e5b484
4
- data.tar.gz: 7d200caa9e141f52a9a486b033247d4f49c3c158839dd808985e38f9480d2f86
3
+ metadata.gz: e696e8f08a36cd8a03c594889275036e4d7c93450fdd726695f7f459324e397e
4
+ data.tar.gz: 5a681ee9a32067f055efa512a0244770d7b9745ee30a267758a5cc8a79ec7171
5
5
  SHA512:
6
- metadata.gz: 7cb73aef9770bc0de0c95d311257d470166d852509d03977dc8e7aedb77236aca8e1eb7b127ce7d6ddcefc932b4a2ecb7e7b8e80de77068ea2e6a497187956f4
7
- data.tar.gz: 6d3c6f76c54af41cdde69b54fc2a6d9245dec8e258fada8b22a8162d587b46cdf36c8bfac99bc47af2a13f63614b52f81fab74ba25efa10b27743d9ca6c9dc3d
6
+ metadata.gz: 65b6daa91ab167768a7167f99957cb310448c7dd93ac1d0f918ec25827398c1562d2db40bbc6b7b008ac6f43ccadddf25ba5410b467d0caa470b699b4a68ffcb
7
+ data.tar.gz: c600d82615cd701367aa868155d67494549bd5b3f5d28cf34661f39f55bdb6cf244dfaf23bce9b39e288247f8fc5004bc467a5527ca287bb6327c2da65ada080
@@ -2,36 +2,31 @@ module Teodoro
2
2
  module ArquivoDeEvento
3
3
  private
4
4
 
5
- def initialize(empresa:, versao_do_leiaute:, evento:, recibo:)
5
+ def initialize(empresa:, arquivo_xml:)
6
6
  @empresa = empresa
7
- @versao_do_leiaute = versao_do_leiaute
8
- @evento = evento
9
- @recibo = recibo
7
+ @arquivo_xml = arquivo_xml
10
8
  end
11
9
 
12
- attr_reader :empresa, :versao_do_leiaute, :evento, :recibo
10
+ attr_reader :empresa, :arquivo_xml
13
11
 
14
- def leiaute_simplificado?
15
- versao_do_leiaute.start_with?('_S_')
12
+ def versao_do_leiaute
13
+ arquivo_xml.versao_do_leiaute
16
14
  end
17
15
 
18
- def processo_de_emissao_do_evento
19
- evento["#{noh_principal_do_evento}/ideEvento/procEmi"]
16
+ def evento
17
+ arquivo_xml.evento
20
18
  end
21
19
 
22
- def criar_caminho_do_arquivo_data(nome_do_arquivo)
23
- File.join(
24
- destino_dos_arquivos_data,
25
- "#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
26
- )
20
+ def recibo
21
+ arquivo_xml.recibo
27
22
  end
28
23
 
29
- def destino_dos_arquivos_data
30
- empresa.destino_dos_arquivos_data
24
+ def versao_do_aplicativo_de_processamento_do_evento
25
+ @versao_do_aplicativo_de_processamento_do_evento ||= recibo['retornoEvento/processamento/versaoAppProcessamento']
31
26
  end
32
27
 
33
- def windows?
34
- OS.windows?
28
+ def numero_do_recibo
29
+ @numero_do_recibo ||= recibo['retornoEvento/recibo/nrRecibo']
35
30
  end
36
31
  end
37
32
  end
@@ -1,6 +1,6 @@
1
1
  module Teodoro
2
2
  module ArquivoDeEventoExcetoDeExclusao
3
- include ArquivoDeEvento
3
+ include ArquivoDeEventoProcessadorDeArquivoData
4
4
 
5
5
  private
6
6
 
@@ -14,10 +14,6 @@ module Teodoro
14
14
  (itens_do_conteudo_do_arquivo_data.map { "#{_1}=#{_2}" } + ['']).join("\n")
15
15
  end
16
16
 
17
- def versao_do_aplicativo_de_processamento_do_evento
18
- recibo['retornoEvento/processamento/versaoAppProcessamento']
19
- end
20
-
21
17
  def tipo_de_inscricao_do_empregador
22
18
  @tipo_de_inscricao_do_empregador ||= evento["#{noh_principal_do_evento}/ideEmpregador/tpInsc"]
23
19
  end
@@ -38,10 +38,6 @@ module Teodoro
38
38
  de_recibo_para_nome_do_arquivo_data[numero_do_recibo] = nome_do_arquivo_data
39
39
  end
40
40
 
41
- def numero_do_recibo
42
- recibo['retornoEvento/recibo/nrRecibo']
43
- end
44
-
45
41
  def caminho_do_arquivo_data
46
42
  criar_caminho_do_arquivo_data(nome_do_arquivo_data)
47
43
  end
@@ -0,0 +1,30 @@
1
+ module Teodoro
2
+ module ArquivoDeEventoProcessadorDeArquivoData
3
+ include ArquivoDeEvento
4
+
5
+ private
6
+
7
+ def leiaute_simplificado?
8
+ versao_do_leiaute.start_with?('_S_')
9
+ end
10
+
11
+ def processo_de_emissao_do_evento
12
+ evento["#{noh_principal_do_evento}/ideEvento/procEmi"]
13
+ end
14
+
15
+ def criar_caminho_do_arquivo_data(nome_do_arquivo)
16
+ File.join(
17
+ destino_dos_arquivos_data,
18
+ "#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
19
+ )
20
+ end
21
+
22
+ def destino_dos_arquivos_data
23
+ empresa.destino_dos_arquivos_data
24
+ end
25
+
26
+ def windows?
27
+ OS.windows?
28
+ end
29
+ end
30
+ end
@@ -1,4 +1,5 @@
1
1
  require_relative 'arquivo_de_evento'
2
+ require_relative 'arquivo_de_evento_processador_de_arquivo_data'
2
3
  require_relative 'arquivo_de_evento_exceto_de_exclusao'
3
4
  require_relative 'arquivo_de_evento_de_tabela'
4
5
  require_relative 'arquivo_de_evento_nao_periodico'
@@ -106,7 +107,10 @@ module Teodoro
106
107
  end
107
108
 
108
109
  def arquivo
109
- classe_do_arquivo.new(empresa: empresa, versao_do_leiaute: versao_do_leiaute, evento: evento, recibo: recibo)
110
+ classe_do_arquivo.new(
111
+ empresa: empresa,
112
+ arquivo_xml: Obj.new(versao_do_leiaute: versao_do_leiaute, evento: evento, recibo: recibo)
113
+ )
110
114
  end
111
115
 
112
116
  def classe_do_arquivo
@@ -84,8 +84,8 @@ module Teodoro
84
84
  @empresa ||= Obj.new(
85
85
  destino_dos_arquivos_data: destino_dos_arquivos_data,
86
86
  de_recibo_para_nome_do_arquivo_data: {},
87
- admissoes_por_matricula: {},
88
- contratos_de_trabalhado_sem_vinculo: ContratosDeTrabalhadorSemVinculo.new
87
+ contratos_de_emprego: ContratosDeEmprego.new,
88
+ contratos_de_trabalho_sem_vinculo: ContratosDeTrabalhoSemVinculo.new
89
89
  )
90
90
  end
91
91
 
@@ -93,19 +93,51 @@ module Teodoro
93
93
  Console.print
94
94
  end
95
95
 
96
- class ContratosDeTrabalhadorSemVinculo
96
+ class ContratosDeEmprego
97
+ def []=(matricula, contrato)
98
+ contratos_por_matricula[matricula] = contrato
99
+ end
100
+
101
+ def [](matricula)
102
+ contratos_por_matricula[matricula]
103
+ end
104
+
105
+ def *(cpf_do_trabalhador:, data:)
106
+ contratos
107
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador }
108
+ .select { _1.data_de_admissao <= data } # data de rescisao
109
+ .sort_by(&:data_de_admissao)
110
+ end
111
+
112
+ private
113
+
114
+ def contratos_por_matricula
115
+ @contratos_por_matricula ||= {}
116
+ end
117
+
118
+ def contratos
119
+ contratos_por_matricula.values
120
+ end
121
+ end
122
+
123
+ class ContratosDeTrabalhoSemVinculo
97
124
  def <<(contrato)
98
125
  contratos << contrato
99
126
  end
100
127
 
101
128
  def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
102
129
  contratos
103
- .select {
104
- [_1.cpf_do_trabalhador, _1.categoria_do_trabalhador] == [cpf_do_trabalhador, categoria_do_trabalhador]
105
- }
130
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador }
131
+ .select { _1.categoria_do_trabalhador == categoria_do_trabalhador}
132
+ .select { _1.data_de_inicio <= data }
133
+ .max_by(&:data_de_inicio)
134
+ end
135
+
136
+ def *(cpf_do_trabalhador:, data:)
137
+ contratos
138
+ .select { _1.cpf_do_trabalhador == cpf_do_trabalhador }
139
+ .select { _1.data_de_inicio <= data } # FIXME: Tales data de termino
106
140
  .sort_by(&:data_de_inicio)
107
- .reverse
108
- .find { _1.data_de_inicio <= data }
109
141
  end
110
142
 
111
143
  private
@@ -1,7 +1,6 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- # rubocop:disable Metrics/ClassLength
4
- class ArquivoS1000
3
+ class ArquivoS1000 # rubocop:disable Metrics/ClassLength
5
4
  include ArquivoDeEventoDeTabela
6
5
 
7
6
  private
@@ -64,9 +63,9 @@ module Teodoro
64
63
  'idePeriodo'
65
64
  end
66
65
 
67
- # rubocop:disable Layout/LineLength, Metrics/MethodLength, Metrics/AbcSize
68
- def itens_do_conteudo_do_arquivo_data
66
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
69
67
  [
68
+ # rubocop:disable Layout/LineLength
70
69
  ['TipoInscricaoEmpregador', tipo_de_inscricao],
71
70
  ['FapBdContrib'],
72
71
  ['AlteracaoEmPeriodoExistente'],
@@ -150,14 +149,13 @@ module Teodoro
150
149
  ["ListaSoftHouses_#{seq}_Email", software_house['email']]
151
150
  ]
152
151
  end.sum([])
152
+ # rubocop:enable Layout/LineLength
153
153
  ]
154
154
  end
155
- # rubocop:enable Layout/LineLength, Metrics/MethodLength, Metrics/AbcSize
156
155
 
157
156
  def softwares_house
158
157
  evento.*('evtInfoEmpregador/infoEmpregador/*/infoCadastro/softwareHouse')
159
158
  end
160
159
  end
161
- # rubocop:enable Metrics/ClassLength
162
160
  end
163
161
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  'ideEstab'
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
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'],
@@ -75,9 +75,9 @@ module Teodoro
75
75
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
76
76
  ['idEdicaoSH'],
77
77
  ['ExibirContribuicaoPatronal']
78
+ # rubocop:enable Layout/LineLength
78
79
  ]
79
80
  end
80
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
81
81
  end
82
82
  end
83
83
  end
@@ -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
@@ -12,14 +12,16 @@ module Teodoro
12
12
  private
13
13
 
14
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
15
+ contratos_de_emprego[matricula_do_trabalhador] = Obj.new(
16
+ matricula: matricula_do_trabalhador,
17
+ data_de_admissao: data_de_admissao,
18
+ categoria_do_trabalhador: categoria_do_trabalhador,
19
+ cpf_do_trabalhador: cpf_do_trabalhador
18
20
  )
19
21
  end
20
22
 
21
- def admissoes_por_matricula
22
- empresa.admissoes_por_matricula
23
+ def contratos_de_emprego
24
+ empresa.contratos_de_emprego
23
25
  end
24
26
 
25
27
  def data_de_admissao
@@ -1,18 +1,29 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
- include ArquivoDeEventoNaoPeriodico
3
+ class ArquivoS2205
4
+ include ArquivoDeEvento
5
+
6
+ def processar
7
+ contratos_de_trabalho.each(&:processar)
8
+ end
5
9
 
6
10
  private
7
11
 
8
- def noh_principal_do_evento
9
- 'evtAltCadastral'
12
+ def contratos_de_trabalho
13
+ (contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
14
+ .map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
15
+ end
16
+
17
+ def contratos_de_emprego
18
+ empresa.contratos_de_emprego
19
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
20
+ .map { [ContratoDeEmprego, _1] }
10
21
  end
11
22
 
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('-')}]"
23
+ def contratos_de_trabalho_sem_vinculo
24
+ empresa.contratos_de_trabalho_sem_vinculo
25
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
26
+ .map { [ContratoDeTrabalhoSemVinculo, _1] }
16
27
  end
17
28
 
18
29
  def cpf_do_trabalhador
@@ -23,135 +34,221 @@ module Teodoro
23
34
  @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
24
35
  end
25
36
 
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
- ]
37
+ module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
38
+ include ArquivoDeEventoNaoPeriodico
39
+
40
+ private
41
+
42
+ def initialize(contrato:, **args)
43
+ super(**args)
44
+
45
+ @contrato = contrato
46
+ end
47
+
48
+ attr_reader :contrato
49
+
50
+ def noh_principal_do_evento
51
+ 'evtAltCadastral'
52
+ end
53
+
54
+ def nome_do_arquivo_data
55
+ @nome_do_arquivo_data ||= [
56
+ "TRA[#{cpf_do_trabalhador}]",
57
+ nome_do_arquivo_data_identificacao_do_contrato,
58
+ "-ACA[#{data_da_alteracao.delete('-')}]"
59
+ ].join
60
+ end
61
+
62
+ def cpf_do_trabalhador
63
+ @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
64
+ end
65
+
66
+ def data_da_alteracao
67
+ @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
68
+ end
69
+
70
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
71
+ [
72
+ # rubocop:disable Layout/LineLength
73
+ ['ESX_CPF', cpf_do_trabalhador],
74
+ ['ESX_MATRICULA', matricula_do_contrato],
75
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
76
+ %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
77
+ ['ESX_DATAADMISSAO', data_de_inicio_do_contrato_de_trabalho],
78
+ ['ESX_DATAALTERACAO', data_da_alteracao],
79
+ ['DataAlteracao', data_da_alteracao],
80
+ ['IdEventoXml'],
81
+ ['NrReciboEventoOriginal'],
82
+ ['RequestVerificationToken'],
83
+ ['SomenteLeitura'],
84
+ ['VisualizarDadosCadastrais'],
85
+ ['UrlRetorno'],
86
+ ['visualizar'],
87
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
88
+ ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
89
+ ['IdEdicaoDependente'],
90
+ ['commandArgument'],
91
+ ['EventoAdmissao_TipoEventoEnviado'],
92
+ ['HiddenCurrentUrl'],
93
+ ['ehCodigoAcesso'],
94
+ ['ExibirTrocarPerfil'],
95
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
96
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
97
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
98
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
99
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
100
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
101
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
102
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
103
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
104
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
105
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
106
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
107
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
108
+ ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
109
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
110
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
111
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
112
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
113
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
114
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
115
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
116
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
117
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
118
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
119
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
120
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
121
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
122
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
123
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
124
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
125
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
126
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
127
+ ['SemNumeroLogradouroEnderecoBR'],
128
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
129
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
130
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
131
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
132
+ ['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
133
+ ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
134
+ ['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
135
+ ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
136
+ ['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
137
+ ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
138
+ ['ResideExterior'],
139
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
140
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
141
+ ['SemNumeroLogradouroEnderecoEX'],
142
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
143
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
144
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
145
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
146
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
147
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
148
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
149
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
150
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
151
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
152
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
153
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
154
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
155
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
156
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
157
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
158
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
159
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
160
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
161
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
162
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
163
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
164
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
165
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
166
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
167
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
168
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
169
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
170
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
171
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
172
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
173
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
174
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
175
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
176
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
177
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
178
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
179
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
180
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
181
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
182
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
183
+ ['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
184
+ *evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
185
+ [
186
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
187
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
188
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
189
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
190
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
191
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
192
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
193
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
194
+ ]
195
+ end.sum([])
196
+ # rubocop:enable Layout/LineLength
197
+ ]
198
+ end
199
+ end
200
+
201
+ class ContratoDeEmprego
202
+ include ContratoDeTrabalho
203
+
204
+ private
205
+
206
+ def nome_do_arquivo_data_identificacao_do_contrato
207
+ "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
208
+ end
209
+
210
+ def matricula_do_contrato
211
+ contrato.matricula
212
+ end
213
+
214
+ def data_de_admissao
215
+ contrato.data_de_admissao
216
+ end
217
+
218
+ def categoria_do_trabalhador
219
+ contrato.categoria_do_trabalhador
220
+ end
221
+
222
+ def data_de_inicio_do_contrato_de_trabalho
223
+ data_de_admissao
224
+ end
225
+ end
226
+
227
+ class ContratoDeTrabalhoSemVinculo
228
+ include ContratoDeTrabalho
229
+
230
+ private
231
+
232
+ def nome_do_arquivo_data_identificacao_do_contrato
233
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
234
+ end
235
+
236
+ def categoria_do_trabalhador
237
+ contrato.categoria_do_trabalhador
238
+ end
239
+
240
+ def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
241
+ contrato.data_de_inicio
242
+ end
243
+
244
+ def matricula_do_contrato
245
+ nil
246
+ end
247
+
248
+ def data_de_inicio_do_contrato_de_trabalho
249
+ data_de_inicio_do_contrato_de_trabalho_sem_vinculo
250
+ end
153
251
  end
154
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
155
252
  end
156
253
  end
157
254
  end