teodoro 0.0.10 → 0.1.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +5 -11
  3. data/lib/teodoro/arquivo_de_evento.rb +22 -8
  4. data/lib/teodoro/{arquivo_de_evento_exceto_de_exclusao.rb → arquivo_de_evento_criador_de_arquivo_data.rb} +2 -8
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +2 -12
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +9 -42
  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_de_origem.rb +1 -1
  10. data/lib/teodoro/arquivo_xml.rb +44 -73
  11. data/lib/teodoro/console.rb +2 -6
  12. data/lib/teodoro/empresa.rb +108 -14
  13. data/lib/teodoro/leiaute.rb +24 -0
  14. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1000.rb +7 -9
  15. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1005.rb +4 -4
  16. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1010.rb +3 -5
  17. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1020.rb +4 -4
  18. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1030.rb +4 -4
  19. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1040.rb +2 -4
  20. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1050.rb +4 -4
  21. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1070.rb +2 -4
  22. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2190.rb +2 -2
  23. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2200.rb +138 -22
  24. data/lib/teodoro/leiaute/arquivo_s2205.rb +264 -0
  25. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2206.rb +18 -7
  26. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2230.rb +56 -12
  27. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2250.rb +25 -9
  28. data/lib/teodoro/leiaute/arquivo_s2299.rb +313 -0
  29. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2300.rb +31 -5
  30. data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2306.rb +27 -7
  31. data/lib/teodoro/leiaute/arquivo_s2399.rb +306 -0
  32. data/lib/teodoro/leiaute/arquivo_s3000.rb +33 -0
  33. data/lib/teodoro/obj.rb +5 -0
  34. metadata +26 -21
  35. data/lib/teodoro/leiaute_2_4_1.rb +0 -22
  36. data/lib/teodoro/leiaute_2_4_1/arquivo_s2205.rb +0 -157
  37. data/lib/teodoro/leiaute_2_4_1/arquivo_s3000.rb +0 -45
@@ -1,5 +1,5 @@
1
1
  module Teodoro
2
- module Leiaute_2_4_1
2
+ module Leiaute
3
3
  class ArquivoS2206 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
@@ -10,11 +10,10 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
13
  @nome_do_arquivo_data ||= [
15
14
  'TRA',
16
15
  "[#{cpf_do_trabalhador}]",
17
- "[EPG_#{matricula_do_trabalhador}_dataDeAdmissao]",
16
+ "[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
18
17
  "-ACO[#{data_da_alteracao.delete('-')}]"
19
18
  ].join
20
19
  end
@@ -27,18 +26,30 @@ module Teodoro
27
26
  @matricula_do_trabalhador ||= evento['evtAltContratual/ideVinculo/matricula']
28
27
  end
29
28
 
29
+ def data_de_admissao
30
+ contrato_de_emprego.data_de_admissao
31
+ end
32
+
33
+ def contrato_de_emprego
34
+ contratos_de_emprego[matricula_do_trabalhador]
35
+ end
36
+
37
+ def contratos_de_emprego
38
+ empresa.contratos_de_emprego
39
+ end
40
+
30
41
  def data_da_alteracao
31
42
  evento['evtAltContratual/altContratual/dtAlteracao']
32
43
  end
33
44
 
34
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
35
- def itens_do_conteudo_do_arquivo_data
45
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
36
46
  [
47
+ # rubocop:disable Layout/LineLength
37
48
  ['ESX_CPF', cpf_do_trabalhador],
38
49
  ['ESX_MATRICULA', matricula_do_trabalhador],
39
50
  ['ESX_CATEGORIA', categoria_do_trabalhador],
40
51
  %w[ESX_SEMVINCULO 0],
41
- ['ESX_DATAADMISSAO'], # FIXME: Tales
52
+ ['ESX_DATAADMISSAO', data_de_admissao],
42
53
  ['ESX_DATAALTERACAO', data_da_alteracao],
43
54
  ['cpfTrabalhador', cpf_do_trabalhador],
44
55
  ['nomeTrabalhador'],
@@ -175,9 +186,9 @@ module Teodoro
175
186
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
176
187
  ]
177
188
  end.sum([])
189
+ # rubocop:enable Layout/LineLength
178
190
  ]
179
191
  end
180
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
181
192
 
182
193
  def categoria_do_trabalhador
183
194
  @categoria_do_trabalhador ||= evento['evtAltContratual/altContratual/infoContrato/codCateg']
@@ -1,5 +1,5 @@
1
1
  module Teodoro
2
- module Leiaute_2_4_1
2
+ module Leiaute
3
3
  class ArquivoS2230 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
@@ -10,9 +10,9 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
13
  @nome_do_arquivo_data ||= [
15
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-",
14
+ "TRA[#{cpf_do_trabalhador}]",
15
+ "[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
16
16
  fim_do_afastamento? ? 'TAF' : 'IAF',
17
17
  '[',
18
18
  inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
@@ -26,16 +26,52 @@ module Teodoro
26
26
  evento['evtAfastTemp/ideVinculo/cpfTrab']
27
27
  end
28
28
 
29
+ def empregado?
30
+ matricula_do_trabalhador
31
+ end
32
+
29
33
  def matricula_do_trabalhador
30
- evento['evtAfastTemp/ideVinculo/matricula']
34
+ @matricula_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/matricula']
31
35
  end
32
36
 
33
- def fim_do_afastamento?
34
- fim_do_afastamento
37
+ def nome_do_arquivo_data_identif_do_empregado
38
+ "EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}"
35
39
  end
36
40
 
37
- def fim_do_afastamento
38
- @fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
41
+ def data_de_admissao
42
+ contrato_de_emprego.data_de_admissao
43
+ end
44
+
45
+ def contrato_de_emprego
46
+ contratos_de_emprego[matricula_do_trabalhador]
47
+ end
48
+
49
+ def contratos_de_emprego
50
+ empresa.contratos_de_emprego
51
+ end
52
+
53
+ def nome_do_arquivo_data_identif_do_tsv
54
+ "TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
55
+ end
56
+
57
+ def categoria_do_trabalhador
58
+ @categoria_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/codCateg']
59
+ end
60
+
61
+ def data_de_inicio_do_contrato_de_trabalho
62
+ contrato_de_trabalho_sem_vinculo.data_de_inicio
63
+ end
64
+
65
+ def contrato_de_trabalho_sem_vinculo
66
+ contratos_de_trabalho_sem_vinculo[
67
+ cpf_do_trabalhador: cpf_do_trabalhador,
68
+ categoria_do_trabalhador: categoria_do_trabalhador,
69
+ data: inicio_do_afastamento? ? data_de_inicio_do_afastamento : data_de_termino_do_afastamento
70
+ ]
71
+ end
72
+
73
+ def contratos_de_trabalho_sem_vinculo
74
+ empresa.contratos_de_trabalho_sem_vinculo
39
75
  end
40
76
 
41
77
  def inicio_do_afastamento?
@@ -54,12 +90,20 @@ module Teodoro
54
90
  fim_do_afastamento['dtTermAfast']
55
91
  end
56
92
 
57
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
58
- def itens_do_conteudo_do_arquivo_data
93
+ def fim_do_afastamento
94
+ @fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
95
+ end
96
+
97
+ def fim_do_afastamento?
98
+ fim_do_afastamento
99
+ end
100
+
101
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
59
102
  [
103
+ # rubocop:disable Layout/LineLength
60
104
  ['ESX_CPF', evento['evtAfastTemp/ideVinculo/cpfTrab']],
61
105
  ['ESX_MATRICULA', evento['evtAfastTemp/ideVinculo/matricula']],
62
- ['ESX_CATEGORIA', evento['evtAfastTemp/ideVinculo/codCateg']],
106
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
63
107
  ['ESX_DATAADMISSAO'],
64
108
  %w[ESX_SEMVINCULO 0],
65
109
  ['ESX_INICIO', evento['evtAfastTemp/infoAfastamento/iniAfastamento/dtIniAfast']],
@@ -139,9 +183,9 @@ module Teodoro
139
183
  ["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_DescricaoOrgaoClasse"]
140
184
  ]
141
185
  end.sum([])
186
+ # rubocop:enable Layout/LineLength
142
187
  ]
143
188
  end
144
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
145
189
  end
146
190
  end
147
191
  end
@@ -1,5 +1,5 @@
1
1
  module Teodoro
2
- module Leiaute_2_4_1
2
+ module Leiaute
3
3
  class ArquivoS2250
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
@@ -10,8 +10,8 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
- @nome_do_arquivo_data ||= "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-AVI"
13
+ @nome_do_arquivo_data ||=
14
+ "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-AVI"
15
15
  end
16
16
 
17
17
  def cpf_do_trabalhador
@@ -22,14 +22,26 @@ module Teodoro
22
22
  @matricula_do_trabalhador ||= evento['evtAvPrevio/ideVinculo/matricula']
23
23
  end
24
24
 
25
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
26
- def itens_do_conteudo_do_arquivo_data
25
+ def data_de_admissao
26
+ contrato_de_emprego.data_de_admissao
27
+ end
28
+
29
+ def contrato_de_emprego
30
+ @contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
31
+ end
32
+
33
+ def contratos_de_emprego
34
+ empresa.contratos_de_emprego
35
+ end
36
+
37
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
27
38
  [
39
+ # rubocop:disable Layout/LineLength
28
40
  ['ESX_CPF', cpf_do_trabalhador],
29
41
  ['ESX_MATRICULA', matricula_do_trabalhador],
30
- ['ESX_CATEGORIA'], # FIXME: Tales
42
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
31
43
  %w[ESX_SEMVINCULO 0],
32
- ['ESX_DATAADMISSAO'], # FIXME: Tales
44
+ ['ESX_DATAADMISSAO', data_de_admissao],
33
45
  ['OperacaoAvisoPrevio'],
34
46
  ['MostrarCancelamento'],
35
47
  ['MostrarAvisoPrevio'],
@@ -52,11 +64,15 @@ module Teodoro
52
64
  ['IdEventoXml'],
53
65
  ['NrReciboEventoOriginal'],
54
66
  ['RequestVerificationToken'],
55
- ['DescricaoProcEmi', evento['evtAvPrevio/ideEvento/procEmi']],
67
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
56
68
  ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']]
69
+ # rubocop:enable Layout/LineLength
57
70
  ]
58
71
  end
59
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
72
+
73
+ def categoria_do_trabalhador
74
+ contrato_de_emprego.categoria_do_trabalhador
75
+ end
60
76
  end
61
77
  end
62
78
  end
@@ -0,0 +1,313 @@
1
+ module Teodoro
2
+ module Leiaute
3
+ class ArquivoS2299 # rubocop:disable Metrics/ClassLength
4
+ include ArquivoDeEventoNaoPeriodico
5
+
6
+ # FIXME: Tales registrar na empresa
7
+
8
+ private
9
+
10
+ def noh_principal_do_evento
11
+ 'evtDeslig'
12
+ end
13
+
14
+ def nome_do_arquivo_data
15
+ @nome_do_arquivo_data ||=
16
+ "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER"
17
+ end
18
+
19
+ def cpf_do_trabalhador
20
+ @cpf_do_trabalhador ||= evento['evtDeslig/ideVinculo/cpfTrab']
21
+ end
22
+
23
+ def matricula_do_trabalhador
24
+ @matricula_do_trabalhador ||= evento['evtDeslig/ideVinculo/matricula']
25
+ end
26
+
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
40
+ [
41
+ # rubocop:disable Layout/LineLength
42
+ ['ESX_CPF', cpf_do_trabalhador],
43
+ ['ESX_MATRICULA', matricula_do_trabalhador],
44
+ ['ESX_CATEGORIA'],
45
+ %w[ESX_SEMVINCULO 0],
46
+ ['ESX_DATAADMISSAO'],
47
+ ['ESX_DATADESLIGAMENTO', evento['evtDeslig/infoDeslig/dtDeslig']],
48
+ ['ESX_INFOWEB_RESCISAO_IDEDMDEV', identificador_do_demonstrativo],
49
+ ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
50
+ ['ESX_INFOWEB_RESCISAO_MOTIVO', evento['evtDeslig/infoDeslig/mtvDeslig']],
51
+ ['ESX_INFOWEB_RESCISAO_MOTIVO_TEXT'],
52
+ ['IdEventoXml'],
53
+ ['NrReciboEventoOriginal'],
54
+ ['EventoAdmissao_TipoEventoEnviado'],
55
+ ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
56
+ ['EventoAdmissao_NrRecibo'],
57
+ ['EventoAdmissao_DataAlteracaoCadastral'],
58
+ ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
59
+ ['EventoAdmissao_InformacoesInicio_DataInicio'],
60
+ ['EventoAdmissao_DataAlteracaoContratual'],
61
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CategoriaOrigem'],
62
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CnpjOrigem'],
63
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_DataAdmissaoOrigem'],
64
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_MatriculaOrigem'],
65
+ ['ehEmpregadorGrande'],
66
+ ['filtro'],
67
+ ['idContratoSelecionado'],
68
+ ['idTrabalhador'],
69
+ ['tsv'],
70
+ ['EhListagemContratosSemVinculo'],
71
+ ['RequestVerificationToken'],
72
+ ['SomenteLeitura'],
73
+ ['VisualizarDadosCadastrais'],
74
+ ['UrlRetorno'],
75
+ ['visualizar'],
76
+ ['EhVisualizacao'],
77
+ ['idContrato'],
78
+ ['IdEvento'],
79
+ ['FiltroCargo'],
80
+ ['FiltroFuncao'],
81
+ ['IdContratoReferenciado'],
82
+ ['EhAlteracaoCadastral'],
83
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
84
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
85
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialEX_PaisResidencia'],
86
+ ['EhAlteracaoContratual'],
87
+ ['autocomplete_EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CategoriaOrigem'],
88
+ ['autocomplete_EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CategoriaOrigem'],
89
+ ['autocomplete_EventoAdmissao_InformacoesInicio_InfoAfastamento_CodigoMotivoAfastamento'],
90
+ ['CnpjPodeEnviarEvento'],
91
+ ['InformacoesTrabalhador_Cpf'],
92
+ ['InformacoesTrabalhador_Nome'],
93
+ ['FiltroHorario'],
94
+ ['HorarioTela_CodigoHorarioContratual'],
95
+ ['valorFoiSelecionado'],
96
+ ['idEdicaoHorario'],
97
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
98
+ ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
99
+ ['IdEdicaoDependente'],
100
+ ['commandArgument'],
101
+ ['cpfTrabalhador'],
102
+ ['nomeTrabalhador'],
103
+ ['TipoRegistroAdmissao'],
104
+ ['HorarioTela_Dia'],
105
+ ['NomeEstabelecimentoLocalTrabalho'],
106
+ ['EventoAdmissao_InfoTrabalhador_Cpf'],
107
+ ['EventoAdmissao_InfoTrabalhador_Nome'],
108
+ ['EventoAdmissao_InfoTrabalhador_Nis'],
109
+ ['EventoAdmissao_InfoTrabalhador_Sexo'],
110
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
111
+ ['EventoAdmissao_InfoTrabalhador_RacaCor'],
112
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
113
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
114
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
115
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
116
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
117
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
118
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
119
+ ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado'],
120
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
121
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
122
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
123
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
124
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
125
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
126
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
127
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
128
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
129
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
130
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
131
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro'],
132
+ ['EventoAdmissao_EnderecoResidencialBR_Cep'],
133
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio'],
134
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
135
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento'],
136
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro'],
137
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro'],
138
+ ['SemNumeroLogradouroEnderecoBR'],
139
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro'],
140
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
141
+ ['EventoAdmissao_EnderecoResidencialBR_Uf'],
142
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
143
+ ['EventoAdmissao_EnderecoResidencialEX_Bairro'],
144
+ ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal'],
145
+ ['EventoAdmissao_EnderecoResidencialEX_Complemento'],
146
+ ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro'],
147
+ ['EventoAdmissao_EnderecoResidencialEX_NomeCidade'],
148
+ ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro'],
149
+ ['ResideExterior'],
150
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia'],
151
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
152
+ ['SemNumeroLogradouroEnderecoEX'],
153
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
154
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
155
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
156
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
157
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
158
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
159
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
160
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
161
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
162
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
163
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
164
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
165
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
166
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
167
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
168
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
169
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
170
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
171
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade'],
172
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
173
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
174
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
175
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
176
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
177
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao'],
178
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic'],
179
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor'],
180
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao'],
181
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne'],
182
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor'],
183
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
184
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
185
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
186
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
187
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
188
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota'],
189
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao'],
190
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
191
+ ['EventoAdmissao_Contato_TelefonePrincipal'],
192
+ ['EventoAdmissao_Contato_EmailPrincipal'],
193
+ ['EventoAdmissao_Contato_TelefoneAlternativo'],
194
+ ['EventoAdmissao_Contato_EmailAlternativo'],
195
+ ['EventoAdmissao_Dependente_#_CPFDependente'],
196
+ ['EventoAdmissao_Dependente_#_DataNascimento'],
197
+ ['EventoAdmissao_Dependente_#_DataNascimentoFormatada'],
198
+ ['EventoAdmissao_Dependente_#_DependenteIRRF'],
199
+ ['EventoAdmissao_Dependente_#_DependenteSF'],
200
+ ['EventoAdmissao_Dependente_#_IncapacidadeDependente'],
201
+ ['EventoAdmissao_Dependente_#_NomeDependente'],
202
+ ['EventoAdmissao_Dependente_#_TipoDependente'],
203
+ ['CodigoCBO'],
204
+ ['CodigoCNAE'],
205
+ ['InfoVinculo_InfoContrato_AlvaraJudicial_NumeroProcessoJudicial'],
206
+ ['InfoVinculo_Matricula'],
207
+ ['InfoVinculo_TipoRegimeTrabalhista'],
208
+ ['InfoVinculo_TipoRegimePrevidenciario'],
209
+ ['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
210
+ ['InfoVinculo_InfoContrato_CodigoCargo'],
211
+ ['InfoVinculo_InfoContrato_CodigoFuncao'],
212
+ ['InfoVinculo_InfoContrato_CodigoCarreira'],
213
+ ['InfoVinculo_InfoContrato_DataIngressoCarreira'],
214
+ ['InfoVinculo_InfoContrato_Duracao_TipoContrato'],
215
+ ['InfoVinculo_InfoContrato_Duracao_DataTermino'],
216
+ ['InfoVinculo_DataInicioAfastamento'],
217
+ ['InfoVinculo_CodigoMotivoAfastamento'],
218
+ ['InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo'],
219
+ ['InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo'],
220
+ ['InfoVinculo_InfoContrato_Remuneracao_DescricaoSalarioVariavel'],
221
+ ['InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
222
+ ['InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial'],
223
+ ['InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal'],
224
+ ['InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
225
+ ['InfoVinculo_SucessaoVinculo_DataInicioVinculo'],
226
+ ['InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
227
+ ['InfoVinculo_SucessaoVinculo_MatriculaAnterior'],
228
+ ['InfoVinculo_SucessaoVinculo_Observacao'],
229
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional'],
230
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', data_de_admissao],
231
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataBase'],
232
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
233
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_NumeroInscricao'],
234
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_TipoInscricao'],
235
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
236
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
237
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade'],
238
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao'],
239
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada'],
240
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar'],
241
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao'],
242
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao'],
243
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf'],
244
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro'],
245
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
246
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro'],
247
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro'],
248
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento'],
249
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio'],
250
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep'],
251
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro'],
252
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao'],
253
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao'],
254
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'],
255
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'],
256
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal'],
257
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal'],
258
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato'],
259
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CategoriaOrigem'],
260
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CnpjEmpresaCedente'],
261
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_DataAdmissaoEmpresaCedente'],
262
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_InfoOnus'],
263
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_MatriculaEmpresaCedente'],
264
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimePrevidenciario'],
265
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimeTrabalhista'],
266
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
267
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
268
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro'],
269
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cep'],
270
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cnpj'],
271
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_CodigoMunicipio'],
272
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_DescricaoLogradouro'],
273
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_NumeroLogradouro'],
274
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_RazaoSocial'],
275
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Uf'],
276
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Bairro'],
277
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cep'],
278
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cnpj'],
279
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_CodigoMunicipio'],
280
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_DescricaoLogradouro'],
281
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_NumeroLogradouro'],
282
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_RazaoSocial'],
283
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Uf'],
284
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Cpf'],
285
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Nome'],
286
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NaturezaEstagio'],
287
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio'],
288
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro'],
289
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa'],
290
+ ['Horarios_#_CodigoHorarioContratual'],
291
+ ['Horarios_#_Dia'],
292
+ ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
293
+ # rubocop:enable Layout/LineLength
294
+ ]
295
+ end
296
+
297
+ def identificador_do_demonstrativo
298
+ evento['evtDeslig/infoDeslig/verbasResc']&.then do |verbas|
299
+ verbas.*('dmDev').then do |demonstrativos|
300
+ puts "\n \e[33mmais de um demonstrativo (considerado apenas o primeiro)\e[0m" if
301
+ demonstrativos.size > 1 # yellow
302
+
303
+ demonstrativos[0]['ideDmDev']
304
+ end
305
+ end
306
+ end
307
+
308
+ def categoria_do_trabalhador
309
+ contrato_de_emprego.categoria_do_trabalhador
310
+ end
311
+ end
312
+ end
313
+ end