teodoro 0.4.1 → 0.8.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +1 -0
  3. data/lib/teodoro/arquivo_de_evento.rb +2 -6
  4. data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +33 -2
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +6 -6
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +10 -3
  7. data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +3 -3
  8. data/lib/teodoro/arquivo_de_evento_retificavel.rb +8 -8
  9. data/lib/teodoro/arquivo_de_origem.rb +7 -7
  10. data/lib/teodoro/arquivo_xml.rb +46 -20
  11. data/lib/teodoro/console.rb +3 -1
  12. data/lib/teodoro/empresa.rb +190 -154
  13. data/lib/teodoro/leiaute/arquivo_s1000.rb +35 -59
  14. data/lib/teodoro/leiaute/arquivo_s1005.rb +18 -38
  15. data/lib/teodoro/leiaute/arquivo_s1010.rb +11 -15
  16. data/lib/teodoro/leiaute/arquivo_s1020.rb +13 -32
  17. data/lib/teodoro/leiaute/arquivo_s1030.rb +10 -23
  18. data/lib/teodoro/leiaute/arquivo_s1040.rb +5 -9
  19. data/lib/teodoro/leiaute/arquivo_s1050.rb +11 -20
  20. data/lib/teodoro/leiaute/arquivo_s1070.rb +12 -16
  21. data/lib/teodoro/leiaute/arquivo_s2190.rb +6 -8
  22. data/lib/teodoro/leiaute/arquivo_s2200.rb +111 -318
  23. data/lib/teodoro/leiaute/arquivo_s2205.rb +64 -95
  24. data/lib/teodoro/leiaute/arquivo_s2206.rb +29 -121
  25. data/lib/teodoro/leiaute/arquivo_s2230.rb +98 -96
  26. data/lib/teodoro/leiaute/arquivo_s2250.rb +13 -26
  27. data/lib/teodoro/leiaute/arquivo_s2299.rb +8 -121
  28. data/lib/teodoro/leiaute/arquivo_s2300.rb +99 -232
  29. data/lib/teodoro/leiaute/arquivo_s2306.rb +40 -44
  30. data/lib/teodoro/leiaute/arquivo_s2399.rb +4 -154
  31. data/lib/teodoro/leiaute/arquivo_s3000.rb +2 -2
  32. data/lib/teodoro/xml.rb +8 -2
  33. metadata +2 -2
@@ -5,16 +5,15 @@ module Teodoro
5
5
  include ArquivoDeEventoRetificavel
6
6
 
7
7
  def processar
8
- deletar_arquivos_data_originais if retificacao?
9
- processar_contratos_de_trabalho
8
+ if retificado?
9
+ processar_retificacao
10
+ else
11
+ processar_contratos_de_trabalho
12
+ end
10
13
  end
11
14
 
12
15
  private
13
16
 
14
- def noh_principal_do_evento
15
- 'evtAltCadastral'
16
- end
17
-
18
17
  def processar_contratos_de_trabalho
19
18
  contratos_de_trabalho.each(&:processar)
20
19
  end
@@ -37,11 +36,11 @@ module Teodoro
37
36
  end
38
37
 
39
38
  def cpf_do_trabalhador
40
- @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
39
+ @cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
41
40
  end
42
41
 
43
42
  def data_da_alteracao
44
- @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
43
+ @data_da_alteracao ||= evento['alteracao/dtAlteracao']
45
44
  end
46
45
 
47
46
  module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
@@ -57,10 +56,6 @@ module Teodoro
57
56
 
58
57
  attr_reader :contrato
59
58
 
60
- def noh_principal_do_evento
61
- 'evtAltCadastral'
62
- end
63
-
64
59
  def nome_do_arquivo_data
65
60
  @nome_do_arquivo_data ||= [
66
61
  "TRA[#{cpf_do_trabalhador}]",
@@ -70,11 +65,11 @@ module Teodoro
70
65
  end
71
66
 
72
67
  def cpf_do_trabalhador
73
- @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
68
+ @cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
74
69
  end
75
70
 
76
71
  def data_da_alteracao
77
- @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
72
+ @data_da_alteracao ||= evento['alteracao/dtAlteracao']
78
73
  end
79
74
 
80
75
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
@@ -84,118 +79,92 @@ module Teodoro
84
79
  ['ESX_MATRICULA', matricula_do_contrato],
85
80
  ['ESX_CATEGORIA', categoria_do_trabalhador],
86
81
  %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'],
82
+ ['ESX_DATAADMISSAO', [data_de_inicio_do_contrato_de_trabalho, :data]],
83
+ ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
84
+ ['DataAlteracao', [data_da_alteracao, :data]],
85
+ ['IdEventoXml', id_do_evento],
86
+ ['NrReciboEventoOriginal', numero_do_recibo],
92
87
  ['RequestVerificationToken'],
93
88
  ['SomenteLeitura'],
94
89
  ['VisualizarDadosCadastrais'],
95
90
  ['UrlRetorno'],
96
91
  ['visualizar'],
97
92
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
98
- ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
99
- ['IdEdicaoDependente'],
100
- ['commandArgument'],
93
+ ['VerProc', recibo['processamento/versaoAppProcessamento']],
101
94
  ['EventoAdmissao_TipoEventoEnviado'],
102
- ['HiddenCurrentUrl'],
103
- ['ehCodigoAcesso'],
104
- ['ExibirTrocarPerfil'],
105
95
  ['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']],
96
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['alteracao/dadosTrabalhador/nmTrab']],
97
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['alteracao/dadosTrabalhador/nisTrab']],
98
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['alteracao/dadosTrabalhador/sexo']],
109
99
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
110
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
100
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['alteracao/dadosTrabalhador/racaCor']],
111
101
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
112
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
102
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['alteracao/dadosTrabalhador/estCiv']],
113
103
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
114
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
104
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
115
105
  ['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']],
106
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
119
107
  ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
120
108
  ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
121
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
109
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data]],
122
110
  ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
123
111
  ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
124
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
112
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
125
113
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
126
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
114
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['alteracao/dadosTrabalhador/nascimento/paisNac']],
127
115
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
128
116
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
129
117
  ['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']],
118
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
119
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
120
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
133
121
  ['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']],
122
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
123
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
124
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
137
125
  ['SemNumeroLogradouroEnderecoBR'],
138
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
126
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
139
127
  ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
140
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
128
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
141
129
  ['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
130
  ['ResideExterior'],
149
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
150
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
151
131
  ['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']],
132
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
133
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data]],
134
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
135
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
158
136
  ['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']],
137
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data]],
138
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data]],
139
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data]],
140
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
141
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
164
142
  ['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']],
143
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
144
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
145
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
168
146
  ['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|
147
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data]],
148
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
149
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
150
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data]],
151
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
152
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
153
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
154
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
155
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
156
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
157
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
158
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
159
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
160
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['alteracao/dadosTrabalhador/contato/fonePrinc']],
161
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['alteracao/dadosTrabalhador/contato/emailPrinc']],
162
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['alteracao/dadosTrabalhador/contato/foneAlternat']],
163
+ *evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
195
164
  [
196
165
  ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
197
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
198
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
166
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
167
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
199
168
  ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
200
169
  ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
201
170
  ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
@@ -1,14 +1,10 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2206 # rubocop:disable Metrics/ClassLength
3
+ class ArquivoS2206
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtAltContratual'
10
- end
11
-
12
8
  def nome_do_arquivo_data
13
9
  @nome_do_arquivo_data ||= [
14
10
  'TRA',
@@ -19,11 +15,11 @@ module Teodoro
19
15
  end
20
16
 
21
17
  def cpf_do_trabalhador
22
- @cpf_do_trabalhador ||= evento['evtAltContratual/ideVinculo/cpfTrab']
18
+ @cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
23
19
  end
24
20
 
25
21
  def matricula_do_trabalhador
26
- @matricula_do_trabalhador ||= evento['evtAltContratual/ideVinculo/matricula']
22
+ @matricula_do_trabalhador ||= evento['ideVinculo/matricula']
27
23
  end
28
24
 
29
25
  def data_de_admissao
@@ -39,7 +35,7 @@ module Teodoro
39
35
  end
40
36
 
41
37
  def data_da_alteracao
42
- evento['evtAltContratual/altContratual/dtAlteracao']
38
+ evento['altContratual/dtAlteracao']
43
39
  end
44
40
 
45
41
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
@@ -47,151 +43,63 @@ module Teodoro
47
43
  # rubocop:disable Layout/LineLength
48
44
  ['ESX_CPF', cpf_do_trabalhador],
49
45
  ['ESX_MATRICULA', matricula_do_trabalhador],
50
- ['ESX_CATEGORIA', categoria_do_trabalhador],
51
46
  %w[ESX_SEMVINCULO 0],
52
- ['ESX_DATAADMISSAO', data_de_admissao],
53
- ['ESX_DATAALTERACAO', data_da_alteracao],
47
+ ['ESX_DATAADMISSAO', [data_de_admissao, :data]],
48
+ ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
54
49
  ['cpfTrabalhador', cpf_do_trabalhador],
55
- ['nomeTrabalhador'],
50
+ %w[nomeTrabalhador nomeTrabalhador],
51
+ ['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
52
+ ['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
56
53
  ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
57
- ['AlteracaoContratual_DataAlteracao', data_da_alteracao],
58
- ['AlteracaoContratual_DataEfeito', evento['evtAltContratual/altContratual/dtEf']],
59
- ['AlteracaoContratual_DescricaoAlteracao', evento['evtAltContratual/altContratual/dscAlt']],
60
- ['IdentificacaoVinculo_Nis', evento['evtAltContratual/ideVinculo/nisTrab']],
54
+ ['AlteracaoContratual_DataAlteracao', [data_da_alteracao, :data]],
55
+ ['AlteracaoContratual_DataEfeito', [evento['altContratual/dtEf'], :data]],
56
+ ['AlteracaoContratual_DescricaoAlteracao', evento['altContratual/dscAlt']],
57
+ ['IdentificacaoVinculo_Nis', evento['ideVinculo/nisTrab']],
61
58
  ['IndicadorRetificacao'],
62
- ['TipoProvimento'],
63
- ['TipoPlano'],
64
- ['JustificativaProrrogacao', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/trabTemp/justProrr']],
65
- ['MotivoAlteracao'],
66
- ['IdEventoXml'],
67
- ['NrReciboEventoOriginal'],
59
+ ['IdEventoXml', id_do_evento],
60
+ ['NrReciboEventoOriginal', numero_do_recibo],
68
61
  ['UrlRetorno'],
69
62
  ['idContrato'],
70
63
  ['SomenteLeitura'],
71
64
  ['IdEvento'],
72
- ['EhVisualizacao'],
73
65
  ['RequestVerificationToken'],
74
- ['ScrollTo'],
75
66
  ['IdContratoAlterado'],
76
67
  ['regTrab'],
77
- ['dataAdmissao'],
68
+ ['InformacoesContrato_CodigoCategoria', categoria_do_trabalhador],
69
+ ['VinculoAlteracao_TipoRegimePrevidenciario', evento['altContratual/vinculo/tpRegPrev']],
70
+ ['dataAdmissao', [data_de_admissao, :data]],
71
+ ['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
72
+ ['InformacoesCeletista_NaturezaAtividade', evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
78
73
  ['FiltroCargo'],
79
- ['valorFoiSelecionado'],
80
74
  ['FiltroFuncao'],
81
75
  ['HorarioTela_Dia'],
82
- ['FiltroHorario'],
83
- ['HorarioTela_CodigoHorarioContratual'],
84
76
  ['dataNomeacao'],
85
- ['DescricaoProcEmi'],
86
- ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
77
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
78
+ ['VerProc', recibo['processamento/versaoAppProcessamento']],
87
79
  ['FiltroEstabelecimentoLocalTrabalho'],
88
80
  ['NomeEstabelecimentoLocalTrabalho'],
89
- ['FiltroProcessoJudicial'],
90
- ['IdEventoRetificado'],
91
81
  ['CodigoCBO'],
82
+ ['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/infoContrato/remuneracao/undSalFixo']],
83
+ ['InformacoesContrato_TipoContrato', evento['altContratual/infoContrato/duracao/tpContr']],
92
84
  ['CodigoCNAE'],
93
- ['InfoVinculo_InfoContrato_AlvaraJudicial_NumeroProcessoJudicial'],
94
- ['InfoVinculo_Matricula', matricula_do_trabalhador],
95
- ['InfoVinculo_TipoRegimeTrabalhista'],
96
- ['InfoVinculo_TipoRegimePrevidenciario', evento['evtAltContratual/altContratual/vinculo/tpRegPrev']],
97
- ['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
98
- ['InfoVinculo_InfoContrato_CodigoCargo', evento['evtAltContratual/altContratual/infoContrato/codCargo']],
99
- ['InfoVinculo_InfoContrato_CodigoFuncao', evento['evtAltContratual/altContratual/infoContrato/codFuncao']],
100
- ['InfoVinculo_InfoContrato_CodigoCarreira', evento['evtAltContratual/altContratual/infoContrato/codCarreira']],
101
- ['InfoVinculo_InfoContrato_DataIngressoCarreira', evento['evtAltContratual/altContratual/infoContrato/dtIngrCarr']],
102
- ['InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['evtAltContratual/altContratual/infoContrato/duracao/tpContr']],
103
- ['InfoVinculo_InfoContrato_Duracao_DataTermino', evento['evtAltContratual/altContratual/infoContrato/duracao/dtTerm']],
104
- ['InfoVinculo_DataInicioAfastamento'],
105
- ['InfoVinculo_CodigoMotivoAfastamento'],
106
- ['InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['evtAltContratual/altContratual/infoContrato/remuneracao/undSalFixo']],
107
- ['InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['evtAltContratual/altContratual/infoContrato/remuneracao/vrSalFx']],
108
- ['InfoVinculo_InfoContrato_Remuneracao_DescricaoSalarioVariavel', evento['evtAltContratual/altContratual/infoContrato/remuneracao/dscSalVar']],
109
- ['InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada', evento['evtAltContratual/altContratual/infoContrato/horContratual/dscTpJorn']],
110
- ['InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['evtAltContratual/altContratual/infoContrato/horContratual/tmpParc']],
111
- ['InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['evtAltContratual/altContratual/infoContrato/horContratual/qtdHrsSem']],
112
- ['InfoVinculo_InfoContrato_HorarioContratual_TipoJornada', evento['evtAltContratual/altContratual/infoContrato/horContratual/tpJornada']],
113
- ['InfoVinculo_SucessaoVinculo_DataInicioVinculo'],
114
- ['InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
115
- ['InfoVinculo_SucessaoVinculo_MatriculaAnterior'],
116
- ['InfoVinculo_SucessaoVinculo_Observacao'],
117
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
118
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao'],
119
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataBase', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/dtBase']],
120
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
121
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_NumeroInscricao', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/aprend/nrInsc']],
122
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_TipoInscricao', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/aprend/tpInsc']],
123
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
124
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
125
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
126
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao'],
127
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
128
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabGeral/descComp']],
129
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
130
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
131
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/uf']],
132
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/tpLograd']],
133
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
134
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/nrLograd']],
135
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/dscLograd']],
136
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/complemento']],
137
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/codMunic']],
138
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/cep']],
139
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAltContratual/altContratual/infoContrato/localTrabalho/localTrabDom/bairro']],
140
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao'],
141
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao'],
142
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'],
143
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'],
144
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal'],
145
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal'],
146
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato'],
147
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CategoriaOrigem'],
148
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CnpjEmpresaCedente'],
149
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_DataAdmissaoEmpresaCedente'],
150
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_InfoOnus'],
151
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_MatriculaEmpresaCedente'],
152
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimePrevidenciario'],
153
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimeTrabalhista'],
154
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
155
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
156
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro'],
157
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cep'],
158
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cnpj'],
159
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_CodigoMunicipio'],
160
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_DescricaoLogradouro'],
161
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_NumeroLogradouro'],
162
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_RazaoSocial'],
163
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Uf'],
164
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Bairro'],
165
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cep'],
166
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cnpj'],
167
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_CodigoMunicipio'],
168
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_DescricaoLogradouro'],
169
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_NumeroLogradouro'],
170
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_RazaoSocial'],
171
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Uf'],
172
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Cpf'],
173
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Nome'],
174
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NaturezaEstagio'],
175
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio'],
176
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro'],
177
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa'],
178
- *evento.*('evtAltContratual/altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
85
+ *evento.*('altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
179
86
  [
180
87
  ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
181
88
  ["Horarios_#{seq}_Dia", horario['dia']]
182
89
  ]
183
90
  end.sum([]),
184
- *evento.*('evtAltContratual/altContratual/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
91
+ *evento.*('altContratual/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
185
92
  [
186
93
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
187
94
  ]
188
- end.sum([])
95
+ end.sum([]),
96
+ ['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['altContratual/infoContrato/remuneracao/vrSalFx']]
189
97
  # rubocop:enable Layout/LineLength
190
98
  ]
191
99
  end
192
100
 
193
101
  def categoria_do_trabalhador
194
- @categoria_do_trabalhador ||= evento['evtAltContratual/altContratual/infoContrato/codCateg']
102
+ @categoria_do_trabalhador ||= evento['altContratual/infoContrato/codCateg']
195
103
  end
196
104
  end
197
105
  end
@@ -3,67 +3,81 @@ module Teodoro
3
3
  class ArquivoS2230 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
+ def processar
7
+ super
8
+
9
+ registrar_inicio_do_afastamento if somente_inicio_do_afastamento?
10
+ end
11
+
6
12
  private
7
13
 
8
- def noh_principal_do_evento
9
- 'evtAfastTemp'
14
+ def somente_inicio_do_afastamento?
15
+ inicio_do_afastamento? && !termino_do_afastamento?
10
16
  end
11
17
 
12
- def nome_do_arquivo_data
13
- @nome_do_arquivo_data ||= [
14
- "TRA[#{cpf_do_trabalhador}]",
15
- "[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
16
- fim_do_afastamento? ? 'TAF' : 'IAF',
17
- '[',
18
- inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
19
- '_',
20
- fim_do_afastamento? ? data_de_termino_do_afastamento.delete('-') : 'SemFim',
21
- ']'
22
- ].join
18
+ def inicio_do_afastamento?
19
+ inicio_do_afastamento
23
20
  end
24
21
 
25
- def cpf_do_trabalhador
26
- evento['evtAfastTemp/ideVinculo/cpfTrab']
22
+ def inicio_do_afastamento
23
+ @inicio_do_afastamento ||= evento['infoAfastamento/iniAfastamento']
27
24
  end
28
25
 
29
- def empregado?
30
- matricula_do_trabalhador
26
+ def termino_do_afastamento?
27
+ termino_do_afastamento
31
28
  end
32
29
 
33
- def matricula_do_trabalhador
34
- @matricula_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/matricula']
30
+ def termino_do_afastamento
31
+ @termino_do_afastamento ||= evento['infoAfastamento/fimAfastamento']
35
32
  end
36
33
 
37
- def nome_do_arquivo_data_identif_do_empregado
38
- "EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}"
34
+ def registrar_inicio_do_afastamento
35
+ contrato_de_trabalho.afastamento = Obj.new(
36
+ data_de_inicio: data_de_inicio_do_afastamento,
37
+ codigo_do_motivo: codigo_do_motivo_de_afastamento
38
+ )
39
39
  end
40
40
 
41
- def data_de_admissao
42
- contrato_de_emprego.data_de_admissao
41
+ def data_de_inicio_do_afastamento
42
+ @data_de_inicio_do_afastamento ||=
43
+ if inicio_do_afastamento?
44
+ inicio_do_afastamento['dtIniAfast']
45
+ else
46
+ contrato_de_trabalho.afastamento.data_de_inicio
47
+ end
43
48
  end
44
49
 
45
- def contrato_de_emprego
46
- contratos_de_emprego[matricula_do_trabalhador]
50
+ def codigo_do_motivo_de_afastamento
51
+ @codigo_do_motivo_de_afastamento ||=
52
+ if inicio_do_afastamento?
53
+ evento['infoAfastamento/iniAfastamento/codMotAfast']
54
+ else
55
+ contrato_de_trabalho.afastamento.codigo_do_motivo
56
+ end
47
57
  end
48
58
 
49
- def contratos_de_emprego
50
- empresa.contratos_de_emprego
59
+ def contrato_de_trabalho
60
+ @contrato_de_trabalho ||= empregado? ? contrato_de_emprego : contrato_de_trabalho_sem_vinculo
51
61
  end
52
62
 
53
- def nome_do_arquivo_data_identif_do_tsv
54
- "TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
63
+ def empregado?
64
+ matricula_do_trabalhador
55
65
  end
56
66
 
57
- def categoria_do_trabalhador
58
- @categoria_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/codCateg']
67
+ def matricula_do_trabalhador
68
+ @matricula_do_trabalhador ||= evento['ideVinculo/matricula']
59
69
  end
60
70
 
61
- def data_de_inicio_do_contrato_de_trabalho
62
- contrato_de_trabalho_sem_vinculo.data_de_inicio
71
+ def contrato_de_emprego
72
+ @contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
73
+ end
74
+
75
+ def contratos_de_emprego
76
+ empresa.contratos_de_emprego
63
77
  end
64
78
 
65
79
  def contrato_de_trabalho_sem_vinculo
66
- contratos_de_trabalho_sem_vinculo[
80
+ @contrato_de_trabalho_sem_vinculo ||= contratos_de_trabalho_sem_vinculo[
67
81
  cpf_do_trabalhador: cpf_do_trabalhador,
68
82
  categoria_do_trabalhador: categoria_do_trabalhador,
69
83
  data: inicio_do_afastamento? ? data_de_inicio_do_afastamento : data_de_termino_do_afastamento
@@ -74,88 +88,81 @@ module Teodoro
74
88
  empresa.contratos_de_trabalho_sem_vinculo
75
89
  end
76
90
 
77
- def inicio_do_afastamento?
78
- inicio_do_afastamento
91
+ def nome_do_arquivo_data
92
+ @nome_do_arquivo_data ||= [
93
+ "TRA[#{cpf_do_trabalhador}]",
94
+ "[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
95
+ termino_do_afastamento? ? 'TAF' : 'IAF',
96
+ '[',
97
+ inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
98
+ '_',
99
+ termino_do_afastamento? ? data_de_termino_do_afastamento.delete('-') : 'SemFim',
100
+ ']'
101
+ ].join
79
102
  end
80
103
 
81
- def inicio_do_afastamento
82
- @inicio_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/iniAfastamento']
104
+ def cpf_do_trabalhador
105
+ @cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
83
106
  end
84
107
 
85
- def data_de_inicio_do_afastamento
86
- inicio_do_afastamento['dtIniAfast']
108
+ def nome_do_arquivo_data_identif_do_empregado
109
+ "EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}"
87
110
  end
88
111
 
89
- def data_de_termino_do_afastamento
90
- fim_do_afastamento['dtTermAfast']
112
+ def data_de_admissao
113
+ contrato_de_emprego.data_de_admissao
91
114
  end
92
115
 
93
- def fim_do_afastamento
94
- @fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
116
+ def nome_do_arquivo_data_identif_do_tsv
117
+ "TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
95
118
  end
96
119
 
97
- def fim_do_afastamento?
98
- fim_do_afastamento
120
+ def categoria_do_trabalhador
121
+ @categoria_do_trabalhador ||= evento['ideVinculo/codCateg']
122
+ end
123
+
124
+ def data_de_inicio_do_contrato_de_trabalho
125
+ contrato_de_trabalho_sem_vinculo.data_de_inicio
126
+ end
127
+
128
+ def data_de_termino_do_afastamento
129
+ @data_de_termino_do_afastamento ||= termino_do_afastamento['dtTermAfast']
99
130
  end
100
131
 
101
132
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
102
133
  [
103
134
  # rubocop:disable Layout/LineLength
104
- ['ESX_CPF', evento['evtAfastTemp/ideVinculo/cpfTrab']],
105
- ['ESX_MATRICULA', evento['evtAfastTemp/ideVinculo/matricula']],
106
- ['ESX_CATEGORIA', categoria_do_trabalhador],
135
+ ['ESX_CPF', cpf_do_trabalhador],
136
+ ['ESX_MATRICULA', matricula_do_trabalhador],
107
137
  ['ESX_DATAADMISSAO'],
108
138
  %w[ESX_SEMVINCULO 0],
109
- ['ESX_INICIO', evento['evtAfastTemp/infoAfastamento/iniAfastamento/dtIniAfast']],
110
- ['ESX_PARTE'],
111
- ['IniAfastamento_DataInicioAfastamento', evento['evtAfastTemp/infoAfastamento/iniAfastamento/dtIniAfast']],
112
- ['FimAfastamento_DataTerminoAfastamento', evento['evtAfastTemp/infoAfastamento/fimAfastamento/dtTermAfast']],
113
- ['IniAfastamento_CodMotivoAfastamento', evento['evtAfastTemp/infoAfastamento/iniAfastamento/codMotAfast']],
139
+ ['ESX_INICIO', [data_de_inicio_do_afastamento, :data_aaaammdd]],
140
+ (['ESX_TERMINO', [data_de_termino_do_afastamento, :data_aaaammdd]] if termino_do_afastamento?),
141
+ ['IniAfastamento_DataInicioAfastamento', ([data_de_inicio_do_afastamento, :data] if inicio_do_afastamento?)],
142
+ (['FimAfastamento_DataTerminoAfastamento', [data_de_termino_do_afastamento, :data]] if termino_do_afastamento?),
143
+ ['IniAfastamento_CodMotivoAfastamento', codigo_do_motivo_de_afastamento],
114
144
  ['IniAfastamento_CodMotivoAfastamento_TEXT'],
115
- ['IniAfastamento_InfoMesmoMotivo', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoMesmoMtv']],
116
- ['IniAfastamento_TipoAcidenteTransito', evento['evtAfastTemp/infoAfastamento/iniAfastamento/tpAcidTransito']],
145
+ ['IniAfastamento_InfoMesmoMotivo', evento['infoAfastamento/iniAfastamento/infoMesmoMtv']],
146
+ ['IniAfastamento_TipoAcidenteTransito', evento['infoAfastamento/iniAfastamento/tpAcidTransito']],
117
147
  ['IniAfastamento_TipoAcidenteTransito_TEXT'],
118
- ['IniAfastamento_Observacao', evento['evtAfastTemp/infoAfastamento/iniAfastamento/observacao']],
119
- ['InfoCessao_CNPJCessao', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoCessao/cnpjCess']],
120
- ['InfoCessao_InfoOnus', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoCessao/infOnus']],
121
- ['InfoCessao_InfoOnus_TEXT'],
122
- ['InfoMandatoSindical_CNPJSindical', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoMandSind/cnpjSind']],
123
- ['InfoMandatoSindical_InfoOnusRemuneracao', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoMandSind/infOnusRemun']],
124
- ['InfoMandatoSindical_InfoOnusRemuneracao_TEXT'],
125
- ['InfoRetificacao_IdOrigRetif', evento['evtAfastTemp/infoAfastamento/infoRetif/origRetif']],
126
- ['InfoRetificacao_IdOrigRetif_TEXT'],
127
- ['InfoRetificacao_TipoProcesso', evento['evtAfastTemp/infoAfastamento/infoRetif/tpProc']],
128
- ['InfoRetificacao_TipoProcesso_TEXT'],
129
- ['InfoRetificacao_NumeroProcesso', evento['evtAfastTemp/infoAfastamento/infoRetif/nrProc']],
130
- ['IdEventoXml'],
131
- ['NrReciboEventoOriginal'],
132
- ['IndicadorRetificacao', evento['evtAfastTemp/ideEvento/indRetif']],
133
- ['DataTerminoAfastamentoInformada'],
148
+ ['IniAfastamento_Observacao', evento['infoAfastamento/iniAfastamento/observacao']],
149
+ ['IdEventoXml', id_do_evento],
150
+ ['NrReciboEventoOriginal', numero_do_recibo],
151
+ ['IndicadorRetificacao', evento['ideEvento/indRetif']],
152
+ ['DataTerminoAfastamentoInformada', [termino_do_afastamento?, :bool]],
134
153
  ['ContratoSemVinculo'],
135
154
  ['CodMotivoAfastamentoRetif'],
136
155
  ['TipoEventoCadastro'],
137
156
  ['IdEventoAfastamento'],
138
- ['DataFim'],
157
+ (['DataFim'] if termino_do_afastamento?),
139
158
  ['DataInicio'],
140
- ['CodigoMotivo'],
159
+ ['CodigoMotivo', codigo_do_motivo_de_afastamento],
141
160
  ['Motivo'],
142
- ['PerguntaConfirmacao'],
143
161
  ['ExibirBotoes'],
144
162
  ['CheckPreencherAcidenteTransito'],
145
163
  ['DesejaIncluirInfoAtestado'],
146
- ['FiltroCid'],
147
- ['TelaInfoAtestado_CodigoCID'],
148
- ['valorFoiSelecionado'],
149
- ['TelaInfoAtestado_QuantidadeDiasAfastados'],
150
- ['TelaInfoAtestado_Emitente_NomeEmitente'],
151
- ['TelaInfoAtestado_Emitente_IdOrgaoClasse'],
152
- ['TelaInfoAtestado_Emitente_IdOrgaoClasse_TEXT'],
153
- ['TelaInfoAtestado_Emitente_NumeroOrgaoClasse'],
154
- ['TelaInfoAtestado_Emitente_UFOrgaoClasse'],
155
- ['TelaInfoAtestado_Emitente_UFOrgaoClasse_TEXT'],
156
- ['commandArgument'],
157
- ['DescricaoProcEmi'],
158
- ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
164
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
165
+ ['VerProc', recibo['processamento/versaoAppProcessamento']],
159
166
  ['IdContrato'],
160
167
  ['PreencherCID'],
161
168
  ['PreencherAcidenteTransito'],
@@ -163,15 +170,10 @@ module Teodoro
163
170
  ['PreencherMandatoSindical'],
164
171
  ['SomenteLeitura'],
165
172
  ['UrlRetorno'],
166
- ['idEdicaoInfoAtestado'],
167
- ['acaoInfoAtestado'],
168
- ['HiddenCurrentUrl'],
169
- ['ehCodigoAcesso'],
170
- ['ExibirTrocarPerfil'],
171
173
  ['RequestVerificationToken'],
172
- ['PreencherDataFimAfastamento'],
174
+ (['PreencherDataFimAfastamento'] if termino_do_afastamento?),
173
175
  ['checkbox_preencher_grupo0'],
174
- *evento.*('evtAfastTemp/infoAfastamento/iniAfastamento/infoAtestado').map.with_index(1) do |atestado, seq|
176
+ *evento.*('infoAfastamento/iniAfastamento/infoAtestado').map.with_index(1) do |atestado, seq|
175
177
  [
176
178
  ["IniAfastamento_ListaInfoAtestado_#{seq}_CodigoCID", atestado['codCID']],
177
179
  ["IniAfastamento_ListaInfoAtestado_#{seq}_DescricaoCID"],
@@ -184,7 +186,7 @@ module Teodoro
184
186
  ]
185
187
  end.sum([])
186
188
  # rubocop:enable Layout/LineLength
187
- ]
189
+ ].compact
188
190
  end
189
191
  end
190
192
  end