teodoro 0.26.0 → 0.31.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.
@@ -137,8 +137,6 @@ module Teodoro
137
137
  ['CodMotivoAfastamentoRetif'],
138
138
  ['TipoEventoCadastro'],
139
139
  ['IdEventoAfastamento'],
140
- (['DataFim', data_de_termino_do_afastamento, :data] if termino_do_afastamento?),
141
- ['DataInicio', data_de_inicio_do_afastamento, :data],
142
140
  ['CodigoMotivo', codigo_do_motivo_de_afastamento],
143
141
  ['Motivo'],
144
142
  ['ExibirBotoes'],
@@ -41,7 +41,7 @@ module Teodoro
41
41
  @matricula_do_trabalhador ||= evento['ideVinculo/matricula']
42
42
  end
43
43
 
44
- def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
44
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
45
45
  [
46
46
  Obj.new(
47
47
  nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER",
@@ -80,90 +80,90 @@ module Teodoro
80
80
  ['HorarioTela_Dia'],
81
81
  ['NomeEstabelecimentoLocalTrabalho'],
82
82
  ['EventoAdmissao_InfoTrabalhador_Cpf'],
83
- ['EventoAdmissao_InfoTrabalhador_Nome'],
84
- ['EventoAdmissao_InfoTrabalhador_Nis'],
85
- ['EventoAdmissao_InfoTrabalhador_Sexo'],
83
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
84
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
85
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
86
86
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
87
- ['EventoAdmissao_InfoTrabalhador_RacaCor'],
87
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
88
88
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
89
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
89
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
90
90
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
91
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
91
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
92
92
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
93
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
94
- ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
95
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
96
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
97
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
98
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
99
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
100
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
93
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', contrato_de_emprego.primeiro_emprego_do_trabalhador],
94
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
95
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
96
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
97
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
98
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
99
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
100
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
101
101
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
102
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
103
103
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
104
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
104
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
105
105
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
106
- ['EventoAdmissao_EnderecoResidencialBR_Bairro'],
107
- ['EventoAdmissao_EnderecoResidencialBR_Cep'],
108
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio'],
109
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
110
- ['EventoAdmissao_EnderecoResidencialBR_Complemento'],
111
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro'],
112
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro'],
106
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
107
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
108
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
109
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
110
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
111
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
112
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
113
113
  ['SemNumeroLogradouroEnderecoBR'],
114
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro'],
115
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
116
- ['EventoAdmissao_EnderecoResidencialBR_Uf'],
114
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
115
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
116
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
117
117
  ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
118
- ['ResideExterior'],
118
+ ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
119
119
  ['SemNumeroLogradouroEnderecoEX'],
120
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
121
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
122
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
123
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
120
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
121
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
122
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
123
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
124
124
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
125
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
126
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
128
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
129
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
125
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
126
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
127
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
128
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
129
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
130
130
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
131
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
132
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
133
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
131
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
132
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
133
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
134
134
  ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
135
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
136
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
137
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
138
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
139
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
140
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
141
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao'],
142
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic'],
143
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor'],
144
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao'],
145
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne'],
146
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor'],
147
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
148
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
149
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
150
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
151
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
152
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota'],
153
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
154
- ['EventoAdmissao_Contato_TelefonePrincipal'],
155
- ['EventoAdmissao_Contato_EmailPrincipal'],
156
- ['EventoAdmissao_Contato_TelefoneAlternativo'],
157
- ['EventoAdmissao_Contato_EmailAlternativo'],
135
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
136
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
137
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
138
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
139
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
140
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
141
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
142
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
143
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
144
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
145
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
146
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
147
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
148
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
149
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
150
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
151
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
152
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
153
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
154
+ ['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
155
+ ['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
156
+ ['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
157
+ ['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
158
158
  ['CodigoCBO'],
159
159
  ['CodigoCNAE'],
160
- ['InfoVinculo_Matricula'],
161
- ['InfoVinculo_TipoRegimeTrabalhista'],
162
- ['InfoVinculo_TipoRegimePrevidenciario'],
160
+ ['InfoVinculo_Matricula', matricula_do_trabalhador],
161
+ ['InfoVinculo_TipoRegimeTrabalhista', contrato_de_emprego.tipo_de_regime_trabalhista],
162
+ ['InfoVinculo_TipoRegimePrevidenciario', contrato_de_emprego.tipo_de_regime_previdenciario],
163
163
  ['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
164
164
  ['InfoVinculo_InfoContrato_CodigoCargo'],
165
165
  ['InfoVinculo_InfoContrato_CodigoFuncao'],
166
- ['InfoVinculo_InfoContrato_Duracao_TipoContrato'],
166
+ ['InfoVinculo_InfoContrato_Duracao_TipoContrato', contrato_de_emprego.duracao.tipo_de_contrato],
167
167
  ['InfoVinculo_InfoContrato_Duracao_DataTermino'],
168
168
  ['InfoVinculo_DataInicioAfastamento'],
169
169
  ['InfoVinculo_CodigoMotivoAfastamento'],
@@ -180,11 +180,11 @@ module Teodoro
180
180
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional'],
181
181
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', data_de_admissao, :data],
182
182
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataBase'],
183
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
184
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
185
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
186
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade'],
187
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao'],
183
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', contrato_de_emprego.indicativo_de_admissao],
184
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', contrato_de_emprego.data_de_opcao_pelo_fgts, :data],
185
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', contrato_de_emprego.opcao_pelo_fgts],
186
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', contrato_de_emprego.natureza_da_atividade],
187
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', contrato_de_emprego.tipo_de_admissao],
188
188
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada'],
189
189
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar'],
190
190
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao'],
@@ -215,6 +215,10 @@ module Teodoro
215
215
  @motivo_do_desligamento ||= evento['infoDeslig/mtvDeslig']
216
216
  end
217
217
 
218
+ def trabalhador
219
+ @trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
220
+ end
221
+
218
222
  def categoria_do_trabalhador
219
223
  contrato_de_emprego.categoria_do_trabalhador
220
224
  end
@@ -13,12 +13,7 @@ module Teodoro
13
13
 
14
14
  def registrar_inicio_de_contrato
15
15
  contratos_de_trabalho_sem_vinculo.registrar_inicio_de_contrato(
16
- inicio_de_contrato: Obj.new(
17
- cpf_do_trabalhador: cpf_do_trabalhador,
18
- categoria_do_trabalhador: categoria_do_trabalhador,
19
- data_de_inicio: data_de_inicio,
20
- recibo: numero_do_recibo
21
- ),
16
+ inicio_de_contrato: inicio_de_contrato,
22
17
  afastamento: afastamento
23
18
  )
24
19
  end
@@ -27,16 +22,38 @@ module Teodoro
27
22
  empresa.contratos_de_trabalho_sem_vinculo
28
23
  end
29
24
 
30
- def cpf_do_trabalhador
31
- @cpf_do_trabalhador ||= evento['trabalhador/cpfTrab']
32
- end
33
-
34
- def categoria_do_trabalhador
35
- @categoria_do_trabalhador ||= evento['infoTSVInicio/codCateg']
25
+ def inicio_de_contrato
26
+ @inicio_de_contrato ||= Obj.new(
27
+ trabalhador: trabalhador,
28
+ categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
29
+ data_de_inicio: evento['infoTSVInicio/dtInicio'],
30
+ recibo: numero_do_recibo
31
+ )
36
32
  end
37
33
 
38
- def data_de_inicio
39
- @data_de_inicio ||= evento['infoTSVInicio/dtInicio']
34
+ def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
35
+ @trabalhador ||= Obj.new(
36
+ cpf: evento['trabalhador/cpfTrab'],
37
+ nis: evento['trabalhador/nisTrab'],
38
+ nome: evento['trabalhador/nmTrab'],
39
+ sexo: evento['trabalhador/sexo'],
40
+ raca_cor: evento['trabalhador/racaCor'],
41
+ estado_civil: evento['trabalhador/estCiv'],
42
+ grau_de_instrucao: evento['trabalhador/grauInstr'],
43
+ nome_social: evento['trabalhador/nmSoc'],
44
+ data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
45
+ codigo_do_municipio_de_nascimento: evento['trabalhador/nascimento/codMunic'],
46
+ uf_de_nascimento: evento['trabalhador/nascimento/uf'],
47
+ pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
48
+ pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
49
+ nome_da_mae: evento['trabalhador/nascimento/nmMae'],
50
+ nome_do_pai: evento['trabalhador/nascimento/nmPai'],
51
+ reside_no_exterior?: evento['trabalhador/endereco/exterior'],
52
+ estrangeiro?: evento['trabalhador/trabEstrangeiro'],
53
+ data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
54
+ casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
55
+ filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr']
56
+ )
40
57
  end
41
58
 
42
59
  def afastamento
@@ -49,18 +66,22 @@ module Teodoro
49
66
  def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
50
67
  [
51
68
  Obj.new(
52
- nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM",
69
+ nome: [
70
+ "TRA[#{trabalhador.cpf}]",
71
+ "[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
72
+ '-ADM'
73
+ ].join,
53
74
  itens_do_conteudo: [
54
75
  # rubocop:disable Layout/LineLength
55
- ['ESX_CPF', cpf_do_trabalhador],
56
- ['ESX_CATEGORIA', categoria_do_trabalhador],
76
+ ['ESX_CPF', trabalhador.cpf],
77
+ ['ESX_CATEGORIA', inicio_de_contrato.categoria_do_trabalhador],
57
78
  %w[ESX_SEMVINCULO 1],
58
- ['ESX_DATAADMISSAO', data_de_inicio, :data],
79
+ ['ESX_DATAADMISSAO', inicio_de_contrato.data_de_inicio, :data],
59
80
  ['IdEventoXml', id_do_evento],
60
81
  ['NrReciboEventoOriginal'],
61
82
  ['EventoAdmissao_NrRecibo'],
62
83
  ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', evento['infoTSVInicio/cadIni']],
63
- ['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
84
+ ['EventoAdmissao_InformacoesInicio_DataInicio', inicio_de_contrato.data_de_inicio, :data],
64
85
  ['SomenteLeitura'],
65
86
  ['UrlRetorno'],
66
87
  ['IdEvento'],
@@ -71,37 +92,37 @@ module Teodoro
71
92
  ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
72
93
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
73
94
  ['VerProc', versao_do_processo_de_emissao_do_evento],
74
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
75
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
76
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
77
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
95
+ ['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
96
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
97
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
98
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
78
99
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
79
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
100
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
80
101
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
81
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
102
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
82
103
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
83
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
104
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
84
105
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
85
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
86
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
87
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
88
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['trabalhador/nascimento/dtNascto'], :data],
89
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
90
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
91
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
106
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
107
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
108
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
109
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
110
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
111
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
112
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
92
113
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
93
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
114
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
94
115
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
95
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
116
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
96
117
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
97
118
  ['SemNumeroLogradouroEnderecoBR'],
98
119
  ['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
99
120
  ['SemNumeroLogradouroEnderecoEX'],
100
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
121
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
101
122
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
102
123
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
103
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
104
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
124
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
125
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
105
126
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
106
127
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
107
128
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['trabalhador/documentos/CNH/dtExped'], :data],
@@ -163,7 +184,7 @@ module Teodoro
163
184
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
164
185
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
165
186
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa'], :decimal],
166
- ['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
187
+ ['EventoAdmissao_InformacoesInicio_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
167
188
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
168
189
  ['IdEventoXml', id_do_evento],
169
190
  ['NrReciboEventoOriginal', numero_do_recibo],
@@ -65,7 +65,7 @@ module Teodoro
65
65
  ['InfoVinculo_Matricula'],
66
66
  ['InfoVinculo_TipoRegimeTrabalhista'],
67
67
  ['InfoVinculo_TipoRegimePrevidenciario'],
68
- ['InfoVinculo_InfoContrato_CodigoCategoria'],
68
+ ['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
69
69
  de_acordo_com_a_versao_do_leiaute['InfoVinculo_InfoContrato_CodigoCargo'],
70
70
  ['InfoVinculo_InfoContrato_CodigoFuncao', evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codFuncao']],
71
71
  ['InfoVinculo_InfoContrato_CodigoCarreira'],
@@ -16,7 +16,7 @@ module Teodoro
16
16
  end
17
17
 
18
18
  def contrato_de_trabalho
19
- contratos_de_trabalho_sem_vinculo[
19
+ @contrato_de_trabalho ||= contratos_de_trabalho_sem_vinculo[
20
20
  cpf_do_trabalhador: cpf_do_trabalhador,
21
21
  categoria_do_trabalhador: categoria_do_trabalhador,
22
22
  data: data_do_termino
@@ -39,7 +39,7 @@ module Teodoro
39
39
  @categoria_do_trabalhador ||= evento['ideTrabSemVinculo/codCateg']
40
40
  end
41
41
 
42
- def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
42
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
43
43
  [
44
44
  Obj.new(
45
45
  nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
@@ -56,7 +56,7 @@ module Teodoro
56
56
  ['EventoAdmissao_NrRecibo'],
57
57
  ['EventoAdmissao_DataAlteracaoCadastral'],
58
58
  ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
59
- ['EventoAdmissao_InformacoesInicio_DataInicio'],
59
+ ['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
60
60
  ['EventoAdmissao_DataAlteracaoContratual'],
61
61
  ['SomenteLeitura'],
62
62
  ['UrlRetorno'],
@@ -70,37 +70,37 @@ module Teodoro
70
70
  ['EhAlteracaoContratual'],
71
71
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
72
72
  ['VerProc', versao_do_processo_de_emissao_do_evento],
73
- ['EventoAdmissao_InfoTrabalhador_Cpf'],
74
- ['EventoAdmissao_InfoTrabalhador_Nome'],
75
- ['EventoAdmissao_InfoTrabalhador_Nis'],
76
- ['EventoAdmissao_InfoTrabalhador_Sexo'],
73
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
74
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
75
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
76
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
77
77
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
78
- ['EventoAdmissao_InfoTrabalhador_RacaCor'],
78
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
79
79
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
80
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
80
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
81
81
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
82
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
82
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
83
83
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
84
- ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
85
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
86
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
87
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
88
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
89
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
90
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
84
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
85
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
86
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
87
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
88
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
89
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
90
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
91
91
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
92
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
92
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
93
93
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
94
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
94
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
95
95
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
96
96
  ['SemNumeroLogradouroEnderecoBR'],
97
- ['ResideExterior'],
97
+ ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
98
98
  ['SemNumeroLogradouroEnderecoEX'],
99
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
99
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
100
100
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
101
101
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
103
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
102
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
103
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
104
104
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
105
105
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
106
106
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
@@ -159,6 +159,10 @@ module Teodoro
159
159
  def data_de_inicio
160
160
  contrato_de_trabalho.data_de_inicio
161
161
  end
162
+
163
+ def trabalhador
164
+ @trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
165
+ end
162
166
  end
163
167
  end
164
168
  end