teodoro 0.9.0 → 0.13.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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +8 -2
  3. data/lib/teodoro/arquivo_data.rb +81 -0
  4. data/lib/teodoro/arquivo_de_evento.rb +12 -0
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +27 -9
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +36 -13
  7. data/lib/teodoro/arquivo_xml.rb +10 -7
  8. data/lib/teodoro/empresa.rb +4 -2
  9. data/lib/teodoro/leiaute/arquivo_s1000.rb +5 -7
  10. data/lib/teodoro/leiaute/arquivo_s1005.rb +4 -4
  11. data/lib/teodoro/leiaute/arquivo_s1010.rb +2 -2
  12. data/lib/teodoro/leiaute/arquivo_s1020.rb +2 -2
  13. data/lib/teodoro/leiaute/arquivo_s1030.rb +3 -3
  14. data/lib/teodoro/leiaute/arquivo_s1040.rb +2 -2
  15. data/lib/teodoro/leiaute/arquivo_s1050.rb +2 -2
  16. data/lib/teodoro/leiaute/arquivo_s1070.rb +3 -3
  17. data/lib/teodoro/leiaute/arquivo_s2190.rb +14 -13
  18. data/lib/teodoro/leiaute/arquivo_s2200.rb +163 -146
  19. data/lib/teodoro/leiaute/arquivo_s2205.rb +130 -160
  20. data/lib/teodoro/leiaute/arquivo_s2206.rb +76 -67
  21. data/lib/teodoro/leiaute/arquivo_s2230.rb +85 -84
  22. data/lib/teodoro/leiaute/arquivo_s2250.rb +34 -34
  23. data/lib/teodoro/leiaute/arquivo_s2299.rb +170 -164
  24. data/lib/teodoro/leiaute/arquivo_s2300.rb +137 -123
  25. data/lib/teodoro/leiaute/arquivo_s2306.rb +145 -144
  26. data/lib/teodoro/leiaute/arquivo_s2399.rb +120 -120
  27. data/lib/teodoro/leiaute/arquivo_s3000.rb +2 -6
  28. metadata +3 -5
  29. data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +0 -52
  30. data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +0 -30
  31. data/lib/teodoro/arquivo_de_evento_retificavel.rb +0 -23
@@ -28,8 +28,8 @@ module Teodoro
28
28
  ['BloquearCodigo'],
29
29
  ['BloquearAntigoPeriodoValidade'],
30
30
  ['CodigoHorarioContratual', codigo_do_horario],
31
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
32
- ['FimValidade', [fim_da_validade, :mes_ano]],
31
+ ['InicioValidade', inicio_da_validade, :mes_ano],
32
+ ['FimValidade', fim_da_validade, :mes_ano],
33
33
  ['DadosHorario_HoraEntrada', evento['infoHorContratual/*/dadosHorContratual/hrEntr']],
34
34
  ['DadosHorario_HoraSaida', evento['infoHorContratual/*/dadosHorContratual/hrSaida']],
35
35
  ['DadosHorario_DuracaoJornada', evento['infoHorContratual/*/dadosHorContratual/durJornada'].to_i],
@@ -30,8 +30,8 @@ module Teodoro
30
30
  ['TipoProcesso', evento['infoProcesso/*/ideProcesso/tpProc']],
31
31
  ['NumeroProcesso', numero_do_processo],
32
32
  ['tipoProcessoAnterior'],
33
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
34
- ['FimValidade', [fim_da_validade, :mes_ano]],
33
+ ['InicioValidade', inicio_da_validade, :mes_ano],
34
+ ['FimValidade', fim_da_validade, :mes_ano],
35
35
  ['IndicativoAutoria', evento['infoProcesso/*/dadosProc/indAutoria']],
36
36
  ['IndicativoMateria', evento['infoProcesso/*/dadosProc/indMatProc']],
37
37
  ['Observacao', evento['infoProcesso/*/dadosProc/observacao']],
@@ -58,7 +58,7 @@ module Teodoro
58
58
  [
59
59
  ["ListaInformacoesSuspensao_#{seq}_CodigoIndicativoSuspensao", suspensao['codSusp']],
60
60
  ["ListaInformacoesSuspensao_#{seq}_IndicativoSuspensao", suspensao['indSusp']],
61
- ["ListaInformacoesSuspensao_#{seq}_DataDecisao", [suspensao['dtDecisao'], :data]],
61
+ ["ListaInformacoesSuspensao_#{seq}_DataDecisao", suspensao['dtDecisao'], :data],
62
62
  ["ListaInformacoesSuspensao_#{seq}_IndicativoDeposito", suspensao['indDeposito']]
63
63
  ]
64
64
  end.sum([])
@@ -5,24 +5,25 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def nome_do_arquivo_data
9
- @nome_do_arquivo_data ||= "PRE[#{cpf_do_trabalhador}]"
8
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
9
+ [
10
+ Obj.new(
11
+ nome: "PRE[#{cpf_do_trabalhador}]",
12
+ itens_do_conteudo: [
13
+ ['NrRecibo', recibo['recibo/nrRecibo']],
14
+ ['CPF', evento['infoRegPrelim/cpfTrab']],
15
+ ['Nome'],
16
+ ['DataNascimento', evento['infoRegPrelim/dtNascto'], :data],
17
+ ['DataAdmissao', evento['infoRegPrelim/dtAdm'], :data],
18
+ ['IdEvento']
19
+ ]
20
+ )
21
+ ]
10
22
  end
11
23
 
12
24
  def cpf_do_trabalhador
13
25
  evento['infoRegPrelim/cpfTrab']
14
26
  end
15
-
16
- def itens_do_conteudo_do_arquivo_data
17
- [
18
- ['NrRecibo', recibo['recibo/nrRecibo']],
19
- ['CPF', evento['infoRegPrelim/cpfTrab']],
20
- ['Nome'],
21
- ['DataNascimento', [evento['infoRegPrelim/dtNascto'], :data]],
22
- ['DataAdmissao', [evento['infoRegPrelim/dtAdm'], :data]],
23
- ['IdEvento']
24
- ]
25
- end
26
27
  end
27
28
  end
28
29
  end
@@ -5,7 +5,7 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def criar_arquivo_data
8
+ def criar_arquivos_data
9
9
  super
10
10
 
11
11
  registrar_admissao
@@ -51,153 +51,170 @@ module Teodoro
51
51
  ) }
52
52
  end
53
53
 
54
- def nome_do_arquivo_data
55
- @nome_do_arquivo_data ||=
56
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM"
57
- end
58
-
59
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
54
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
60
55
  [
61
- # rubocop:disable Layout/LineLength
62
- ['ESX_CPF', cpf_do_trabalhador],
63
- ['ESX_MATRICULA', matricula_do_trabalhador],
64
- ['ESX_CATEGORIA', categoria_do_trabalhador],
65
- %w[ESX_SEMVINCULO 0],
66
- ['ESX_DATAADMISSAO', [data_de_admissao, :data]],
67
- ['IdEventoXml', id_do_evento],
68
- ['NrReciboEventoOriginal'],
69
- ['EventoAdmissao_TipoEventoEnviado'],
70
- ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
71
- ['EventoAdmissao_InfoVinculo_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
72
- ['EventoAdmissao_NrRecibo', numero_do_recibo],
73
- ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
74
- ['EventoAdmissao_InformacoesInicio_DataInicio'],
75
- ['SomenteLeitura'],
76
- ['UrlRetorno'],
77
- ['IdEvento'],
78
- ['FiltroCargo'],
79
- ['FiltroFuncao'],
80
- ['IdContratoReferenciado'],
81
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
82
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
83
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
84
- ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
85
- ['HorarioTela_Dia'],
86
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
87
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
88
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
89
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
90
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
91
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
92
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
93
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
94
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
95
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
96
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
97
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
98
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
99
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
100
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
101
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['trabalhador/nascimento/dtNascto'], :data]],
102
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
103
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
104
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
105
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
106
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
107
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
108
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
109
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
110
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
111
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
112
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['trabalhador/endereco/brasil/codMunic']],
113
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
114
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
115
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
116
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
117
- ['SemNumeroLogradouroEnderecoBR'],
118
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
119
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
120
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
121
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
122
- ['ResideExterior', [evento['trabalhador/endereco/exterior'], :bool]],
123
- ['SemNumeroLogradouroEnderecoEX'],
124
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
125
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['trabalhador/trabEstrangeiro/dtChegada'], :data]],
126
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
128
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
129
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['trabalhador/documentos/CNH/dtExped'], :data]],
130
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['trabalhador/documentos/CNH/dtPriHab'], :data]],
131
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['trabalhador/documentos/CNH/dtValid'], :data]],
132
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
133
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
134
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
135
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['trabalhador/documentos/CTPS/nrCtps']],
136
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['trabalhador/documentos/CTPS/serieCtps']],
137
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['trabalhador/documentos/CTPS/ufCtps']],
138
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
139
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
140
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
141
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
142
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['trabalhador/documentos/RG/dtExped'], :data]],
143
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
144
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
145
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', [evento['trabalhador/documentos/RIC/dtExped'], :data]],
146
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
147
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
148
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['trabalhador/documentos/RNE/dtExped'], :data]],
149
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
150
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
151
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
152
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['trabalhador/infoDeficiencia/defFisica']],
153
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['trabalhador/infoDeficiencia/defIntelectual']],
154
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['trabalhador/infoDeficiencia/defMental']],
155
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['trabalhador/infoDeficiencia/defVisual']],
156
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['trabalhador/infoDeficiencia/infoCota']],
157
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['trabalhador/infoDeficiencia/reabReadap']],
158
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['trabalhador/contato/fonePrinc']],
159
- ['EventoAdmissao_Contato_EmailPrincipal', evento['trabalhador/contato/emailPrinc']],
160
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['trabalhador/contato/foneAlternat']],
161
- ['EventoAdmissao_Contato_EmailAlternativo', evento['trabalhador/contato/emailAlternat']],
162
- *evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
163
- [
164
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
165
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
166
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
167
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
168
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
169
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
170
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
171
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
172
- ]
173
- end.sum([]),
174
- ['CodigoCBO'],
175
- ['CodigoCNAE'],
176
- *evento.*('vinculo/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
177
- [
178
- ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
179
- ["Horarios_#{seq}_Dia", horario['dia']]
180
- ]
181
- end.sum([]),
182
- *evento.*('vinculo/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
183
- [
184
- ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
56
+ Obj.new(
57
+ nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM",
58
+ itens_do_conteudo: [
59
+ # rubocop:disable Layout/LineLength
60
+ ['ESX_CPF', cpf_do_trabalhador],
61
+ ['ESX_MATRICULA', matricula_do_trabalhador],
62
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
63
+ %w[ESX_SEMVINCULO 0],
64
+ ['ESX_DATAADMISSAO', data_de_admissao, :data],
65
+ ['IdEventoXml', id_do_evento],
66
+ ['NrReciboEventoOriginal'],
67
+ ['EventoAdmissao_TipoEventoEnviado'],
68
+ ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
69
+ ['EventoAdmissao_InfoVinculo_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
70
+ ['EventoAdmissao_NrRecibo', numero_do_recibo],
71
+ ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
72
+ ['EventoAdmissao_InformacoesInicio_DataInicio'],
73
+ ['SomenteLeitura'],
74
+ ['UrlRetorno'],
75
+ ['IdEvento'],
76
+ ['FiltroCargo'],
77
+ ['FiltroFuncao'],
78
+ ['IdContratoReferenciado'],
79
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
80
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
81
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
82
+ ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
83
+ ['HorarioTela_Dia'],
84
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
85
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
86
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
87
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
88
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
89
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
90
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
91
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
92
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
93
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
94
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
95
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
96
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
97
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
98
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
99
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['trabalhador/nascimento/dtNascto'], :data],
100
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
101
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
102
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
103
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
104
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
105
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
106
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
107
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
108
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
109
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
110
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['trabalhador/endereco/brasil/codMunic']],
111
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
112
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
113
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
114
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
115
+ ['SemNumeroLogradouroEnderecoBR'],
116
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
117
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
118
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
119
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
120
+ ['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
121
+ ['SemNumeroLogradouroEnderecoEX'],
122
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
123
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
124
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
125
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['trabalhador/trabEstrangeiro/classTrabEstrang']],
126
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
127
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
128
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['trabalhador/documentos/CNH/dtExped'], :data],
129
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['trabalhador/documentos/CNH/dtPriHab'], :data],
130
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['trabalhador/documentos/CNH/dtValid'], :data],
131
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
132
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
133
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
134
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['trabalhador/documentos/CTPS/nrCtps']],
135
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['trabalhador/documentos/CTPS/serieCtps']],
136
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['trabalhador/documentos/CTPS/ufCtps']],
137
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
138
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
139
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
140
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
141
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['trabalhador/documentos/RG/dtExped'], :data],
142
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
143
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
144
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['trabalhador/documentos/RIC/dtExped'], :data],
145
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
146
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
147
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['trabalhador/documentos/RNE/dtExped'], :data],
148
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
149
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
150
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
151
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['trabalhador/infoDeficiencia/defFisica']],
152
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['trabalhador/infoDeficiencia/defIntelectual']],
153
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['trabalhador/infoDeficiencia/defMental']],
154
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['trabalhador/infoDeficiencia/defVisual']],
155
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['trabalhador/infoDeficiencia/infoCota']],
156
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['trabalhador/infoDeficiencia/reabReadap']],
157
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['trabalhador/contato/fonePrinc']],
158
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['trabalhador/contato/emailPrinc']],
159
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['trabalhador/contato/foneAlternat']],
160
+ ['EventoAdmissao_Contato_EmailAlternativo', evento['trabalhador/contato/emailAlternat']],
161
+ *evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
162
+ [
163
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
164
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto'], :data],
165
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", dependente['dtNascto'], :data],
166
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
167
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
168
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
169
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
170
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
171
+ ]
172
+ end.sum([]),
173
+ ['CodigoCBO'],
174
+ ['CodigoCNAE'],
175
+ *evento.*('vinculo/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
176
+ [
177
+ ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
178
+ ["Horarios_#{seq}_Dia", horario['dia']]
179
+ ]
180
+ end.sum([]),
181
+ *evento.*('vinculo/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
182
+ [
183
+ ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
184
+ ]
185
+ end.sum([]),
186
+ ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
187
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
188
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
189
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
190
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
191
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data],
192
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao']],
193
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
194
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
195
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
196
+ ['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
197
+ ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
198
+ ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']],
199
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']],
200
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS'], :data],
201
+ ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo', evento['vinculo/infoContrato/codCargo']],
202
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
203
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
204
+ ['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
205
+ ['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
206
+ ['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
207
+ ['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada', evento['vinculo/infoContrato/horContratual/tpJornada']],
208
+ ['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada', evento['vinculo/infoContrato/horContratual/dscTpJorn']],
209
+ ['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
210
+ ['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
211
+ ['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
212
+ ['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
213
+ ['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior', evento['vinculo/sucessaoVinc/cnpjEmpregAnt']],
214
+ ['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']]
215
+ # rubocop:enable Layout/LineLength
185
216
  ]
186
- end.sum([]),
187
- ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
188
- ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
189
- ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
190
- ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx']],
191
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
192
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', [evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data]],
193
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao']],
194
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
195
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
196
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
197
- ['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
198
- ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
199
- ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']]
200
- # rubocop:enable Layout/LineLength
217
+ )
201
218
  ]
202
219
  end
203
220
 
@@ -1,26 +1,13 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2205
4
- include ArquivoDeEventoProcessadorDeArquivoData
5
- include ArquivoDeEventoRetificavel
6
-
7
- def processar
8
- if retificado?
9
- processar_retificacao
10
- else
11
- processar_contratos_de_trabalho
12
- end
13
- end
3
+ class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
+ include ArquivoDeEventoNaoPeriodico
14
5
 
15
6
  private
16
7
 
17
- def processar_contratos_de_trabalho
18
- contratos_de_trabalho.each(&:processar)
19
- end
20
-
21
8
  def contratos_de_trabalho
22
9
  (contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
23
- .map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
10
+ .map { |classe, contrato| classe.new(contrato) }
24
11
  end
25
12
 
26
13
  def contratos_de_emprego
@@ -43,145 +30,132 @@ module Teodoro
43
30
  @data_da_alteracao ||= evento['alteracao/dtAlteracao']
44
31
  end
45
32
 
46
- module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
47
- include ArquivoDeEventoNaoPeriodico
33
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
34
+ contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
35
+ Obj.new(
36
+ nome: [
37
+ "TRA[#{cpf_do_trabalhador}]",
38
+ contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
39
+ "-ACA[#{data_da_alteracao.delete('-')}]"
40
+ ].join,
41
+ itens_do_conteudo: [
42
+ # rubocop:disable Layout/LineLength
43
+ ['ESX_CPF', cpf_do_trabalhador],
44
+ ['ESX_MATRICULA', contrato_de_trabalho.matricula_do_contrato],
45
+ ['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
46
+ %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
47
+ ['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
48
+ ['ESX_DATAALTERACAO', data_da_alteracao, :data],
49
+ ['DataAlteracao', data_da_alteracao, :data],
50
+ ['IdEventoXml', id_do_evento],
51
+ ['NrReciboEventoOriginal', numero_do_recibo],
52
+ ['RequestVerificationToken'],
53
+ ['SomenteLeitura'],
54
+ ['VisualizarDadosCadastrais'],
55
+ ['UrlRetorno'],
56
+ ['visualizar'],
57
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
58
+ ['VerProc', recibo['processamento/versaoAppProcessamento']],
59
+ ['EventoAdmissao_TipoEventoEnviado'],
60
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
61
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['alteracao/dadosTrabalhador/nmTrab']],
62
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['alteracao/dadosTrabalhador/nisTrab']],
63
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['alteracao/dadosTrabalhador/sexo']],
64
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
65
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['alteracao/dadosTrabalhador/racaCor']],
66
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
67
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['alteracao/dadosTrabalhador/estCiv']],
68
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
69
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
70
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
71
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
72
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['alteracao/dadosTrabalhador/nascimento/codMunic']],
73
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
74
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data],
75
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['alteracao/dadosTrabalhador/nascimento/nmMae']],
76
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['alteracao/dadosTrabalhador/nascimento/nmPai']],
77
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
78
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
79
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['alteracao/dadosTrabalhador/nascimento/paisNac']],
80
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
81
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['alteracao/dadosTrabalhador/nascimento/uf']],
82
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
83
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
84
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
85
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
86
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
87
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
88
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
89
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
90
+ ['SemNumeroLogradouroEnderecoBR'],
91
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
92
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
93
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
94
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
95
+ ['ResideExterior'],
96
+ ['SemNumeroLogradouroEnderecoEX'],
97
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
98
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data],
99
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
100
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
101
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
102
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data],
103
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data],
104
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data],
105
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
106
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
107
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
108
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
109
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
110
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
111
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
112
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data],
113
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
114
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
115
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data],
116
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
117
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
118
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
119
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
120
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
121
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
122
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
123
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
124
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
125
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['alteracao/dadosTrabalhador/contato/fonePrinc']],
126
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['alteracao/dadosTrabalhador/contato/emailPrinc']],
127
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['alteracao/dadosTrabalhador/contato/foneAlternat']],
128
+ *evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
129
+ [
130
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
131
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto'], :data],
132
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", dependente['dtNascto'], :data],
133
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
134
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
135
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
136
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
137
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
138
+ ]
139
+ end.sum([])
140
+ # rubocop:enable Layout/LineLength
141
+ ]
142
+ )
143
+ end
144
+ end
48
145
 
146
+ module ContratoDeTrabalho
49
147
  private
50
148
 
51
- def initialize(contrato:, **args)
52
- super(**args)
53
-
149
+ def initialize(contrato)
54
150
  @contrato = contrato
55
151
  end
56
152
 
57
153
  attr_reader :contrato
58
-
59
- def nome_do_arquivo_data
60
- @nome_do_arquivo_data ||= [
61
- "TRA[#{cpf_do_trabalhador}]",
62
- nome_do_arquivo_data_identificacao_do_contrato,
63
- "-ACA[#{data_da_alteracao.delete('-')}]"
64
- ].join
65
- end
66
-
67
- def cpf_do_trabalhador
68
- @cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
69
- end
70
-
71
- def data_da_alteracao
72
- @data_da_alteracao ||= evento['alteracao/dtAlteracao']
73
- end
74
-
75
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
76
- [
77
- # rubocop:disable Layout/LineLength
78
- ['ESX_CPF', cpf_do_trabalhador],
79
- ['ESX_MATRICULA', matricula_do_contrato],
80
- ['ESX_CATEGORIA', categoria_do_trabalhador],
81
- %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
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],
87
- ['RequestVerificationToken'],
88
- ['SomenteLeitura'],
89
- ['VisualizarDadosCadastrais'],
90
- ['UrlRetorno'],
91
- ['visualizar'],
92
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
93
- ['VerProc', recibo['processamento/versaoAppProcessamento']],
94
- ['EventoAdmissao_TipoEventoEnviado'],
95
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
96
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['alteracao/dadosTrabalhador/nmTrab']],
97
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['alteracao/dadosTrabalhador/nisTrab']],
98
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['alteracao/dadosTrabalhador/sexo']],
99
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
100
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['alteracao/dadosTrabalhador/racaCor']],
101
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['alteracao/dadosTrabalhador/estCiv']],
103
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
104
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
105
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
106
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
107
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
108
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
109
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data]],
110
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
111
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
112
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
113
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
114
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['alteracao/dadosTrabalhador/nascimento/paisNac']],
115
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
116
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
117
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
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']],
121
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
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']],
125
- ['SemNumeroLogradouroEnderecoBR'],
126
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
127
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
128
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
129
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
130
- ['ResideExterior'],
131
- ['SemNumeroLogradouroEnderecoEX'],
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']],
136
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
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']],
142
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
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']],
146
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
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|
164
- [
165
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
166
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
167
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
168
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
169
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
170
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
171
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
172
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
173
- ]
174
- end.sum([])
175
- # rubocop:enable Layout/LineLength
176
- ]
177
- end
178
154
  end
179
155
 
180
156
  class ContratoDeEmprego
181
157
  include ContratoDeTrabalho
182
158
 
183
- private
184
-
185
159
  def nome_do_arquivo_data_identificacao_do_contrato
186
160
  "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
187
161
  end
@@ -190,43 +164,39 @@ module Teodoro
190
164
  contrato.matricula
191
165
  end
192
166
 
193
- def data_de_admissao
194
- contrato.data_de_admissao
195
- end
196
-
197
167
  def categoria_do_trabalhador
198
168
  contrato.categoria_do_trabalhador
199
169
  end
200
170
 
201
- def data_de_inicio_do_contrato_de_trabalho
171
+ def data_de_inicio
202
172
  data_de_admissao
203
173
  end
174
+
175
+ private
176
+
177
+ def data_de_admissao
178
+ contrato.data_de_admissao
179
+ end
204
180
  end
205
181
 
206
182
  class ContratoDeTrabalhoSemVinculo
207
183
  include ContratoDeTrabalho
208
184
 
209
- private
210
-
211
185
  def nome_do_arquivo_data_identificacao_do_contrato
212
- "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
186
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]"
187
+ end
188
+
189
+ def matricula_do_contrato
190
+ nil
213
191
  end
214
192
 
215
193
  def categoria_do_trabalhador
216
194
  contrato.categoria_do_trabalhador
217
195
  end
218
196
 
219
- def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
197
+ def data_de_inicio
220
198
  contrato.data_de_inicio
221
199
  end
222
-
223
- def matricula_do_contrato
224
- nil
225
- end
226
-
227
- def data_de_inicio_do_contrato_de_trabalho
228
- data_de_inicio_do_contrato_de_trabalho_sem_vinculo
229
- end
230
200
  end
231
201
  end
232
202
  end