teodoro 0.28.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19e037e7882187c3fc6c5fbb715b7cdfe1db08d8db864cf990e3334305c89bb2
4
- data.tar.gz: 07fe403e0fca17a7855110be4547d8956ece112053a21fce2b81506a6637e9f5
3
+ metadata.gz: 03abb0e08823b8d3f255f03856b45f03cbd42dd65eb6a4ab7f9d08576e11191e
4
+ data.tar.gz: 3579584c0aaf694c774d1c0a1e215c61fcd47035cdb447c9fa044e99e076c40d
5
5
  SHA512:
6
- metadata.gz: edcd0354ca1510419e518099abf178e2c8971ee0c218d2de252addd66255ed47245933fcc2e2ad4c7a5139d43323f9f70bcaf1858954030f80b791fdf8b8a104
7
- data.tar.gz: 5796e9695e13317d1f5eb57de9e064a088ca67d6eddc26861659aed040626e809775a6d373dc220185971d28f00579a9240b31ebb4f48258997f94b889ee5d0a
6
+ metadata.gz: e24e2f2af3e3671f35fc5731d65fa516d699e739c000f25600472d2f19059da88b01bb22474ed1e9612903ed5e6e5821cb0224c6214c26595d97be8a9b80ce92
7
+ data.tar.gz: c79f540391e6be2ffe88d1e2428927a50b50547933ccd53b307d0ab5e5d4bf71ba9b4ab3d41f8b4feab13ca1d5224c999a61554479b81404321306bade8b7b10
data/lib/teodoro.rb CHANGED
@@ -12,7 +12,7 @@ require_relative 'teodoro/empresa'
12
12
  require_relative 'teodoro/obj'
13
13
 
14
14
  module Teodoro
15
- VERSION = '0.28.0'.freeze
15
+ VERSION = '0.29.0'.freeze
16
16
 
17
17
  CBOs = __FILE__
18
18
  .then { File.dirname(_1) }
@@ -12,10 +12,16 @@ module Teodoro
12
12
  public
13
13
 
14
14
  def registrar_admissao(admissao:, afastamento:)
15
- contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
15
+ contratos_por_matricula[admissao.matricula_do_trabalhador] =
16
+ Contrato.new(admissao: admissao, afastamento: afastamento)
16
17
  trabalhadores << admissao.trabalhador
17
18
  end
18
19
 
20
+ def registrar_alteracao_contratual(alteracao_contratual)
21
+ contratos_por_matricula[alteracao_contratual.matricula_do_trabalhador]
22
+ .registrar_alteracao_contratual(alteracao_contratual)
23
+ end
24
+
19
25
  def [](matricula)
20
26
  contratos_por_matricula[matricula]
21
27
  end
@@ -46,6 +52,9 @@ module Teodoro
46
52
  def initialize(admissao:, afastamento:)
47
53
  @admissao = admissao
48
54
  @afastamento = afastamento
55
+
56
+ @tipo_de_regime_previdenciario = admissao.tipo_de_regime_previdenciario
57
+ @duracao = admissao.duracao
49
58
  end
50
59
 
51
60
  attr_reader :admissao, :data_de_desligamento
@@ -56,7 +65,8 @@ module Teodoro
56
65
 
57
66
  def_delegators :admissao,
58
67
  :trabalhador,
59
- :matricula,
68
+ :matricula_do_trabalhador,
69
+ :tipo_de_regime_trabalhista,
60
70
  :data_de_admissao,
61
71
  :categoria_do_trabalhador,
62
72
  :primeiro_emprego_do_trabalhador,
@@ -64,8 +74,15 @@ module Teodoro
64
74
 
65
75
  attr_accessor :afastamento
66
76
 
77
+ attr_reader :tipo_de_regime_previdenciario, :duracao
78
+
67
79
  attr_writer :data_de_desligamento
68
80
 
81
+ def registrar_alteracao_contratual(alteracao_contratual)
82
+ @tipo_de_regime_previdenciario = alteracao_contratual.tipo_de_regime_previdenciario
83
+ @duracao = alteracao_contratual.duracao
84
+ end
85
+
69
86
  def ativo?(data)
70
87
  data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
71
88
  end
@@ -18,13 +18,16 @@ module Teodoro
18
18
  )
19
19
  end
20
20
 
21
- def admissao
22
- Obj.new(
21
+ def admissao # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
22
+ @admissao ||= Obj.new(
23
23
  trabalhador: trabalhador,
24
- matricula: matricula_do_trabalhador,
25
- data_de_admissao: data_de_admissao,
26
- categoria_do_trabalhador: categoria_do_trabalhador,
24
+ matricula_do_trabalhador: evento['vinculo/matricula'],
25
+ tipo_de_regime_trabalhista: evento['vinculo/tpRegTrab'],
26
+ tipo_de_regime_previdenciario: evento['vinculo/tpRegPrev'],
27
+ data_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'],
28
+ categoria_do_trabalhador: evento['vinculo/infoContrato/codCateg'],
27
29
  primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
30
+ duracao: Obj.new(tipo_de_contrato: evento['vinculo/infoContrato/duracao/tpContr']),
28
31
  recibo: numero_do_recibo
29
32
  )
30
33
  end
@@ -49,7 +52,65 @@ module Teodoro
49
52
  reside_no_exterior?: evento['trabalhador/endereco/exterior'],
50
53
  endereco: Obj.new(
51
54
  tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
52
- codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic']
55
+ logradouro: evento['trabalhador/endereco/brasil/dscLograd'],
56
+ numero: evento['trabalhador/endereco/brasil/nrLograd'],
57
+ complemento: evento['trabalhador/endereco/brasil/complemento'],
58
+ bairro: evento['trabalhador/endereco/brasil/bairro'],
59
+ cep: evento['trabalhador/endereco/brasil/cep'],
60
+ codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic'],
61
+ uf: evento['trabalhador/endereco/brasil/uf']
62
+ ),
63
+ estrangeiro?: evento['trabalhador/trabEstrangeiro'],
64
+ casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
65
+ data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
66
+ filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
67
+ ctps: Obj.new(
68
+ numero: evento['trabalhador/documentos/CTPS/nrCtps'],
69
+ serie: evento['trabalhador/documentos/CTPS/serieCtps'],
70
+ uf: evento['trabalhador/documentos/CTPS/ufCtps']
71
+ ),
72
+ rg: Obj.new(
73
+ numero: evento['trabalhador/documentos/RG/nrRg'],
74
+ orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
75
+ data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
76
+ ),
77
+ rne: Obj.new(
78
+ numero: evento['trabalhador/documentos/RNE/nrRne'],
79
+ orgao_emissor: evento['trabalhador/documentos/RNE/orgaoEmissor'],
80
+ data_da_expedicao: evento['trabalhador/documentos/RNE/dtExped']
81
+ ),
82
+ ric: Obj.new(
83
+ numero: evento['trabalhador/documentos/RIC/nrRic'],
84
+ orgao_emissor: evento['trabalhador/documentos/RIC/orgaoEmissor'],
85
+ data_da_expedicao: evento['trabalhador/documentos/RIC/dtExped']
86
+ ),
87
+ oc: Obj.new(
88
+ numero: evento['trabalhador/documentos/OC/nrOc'],
89
+ orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
90
+ data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
91
+ ),
92
+ cnh: Obj.new(
93
+ numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
94
+ data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
95
+ data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
96
+ data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
97
+ categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
98
+ uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
99
+ ),
100
+ deficiencia: Obj.new(
101
+ fisica: evento['trabalhador/infoDeficiencia/defFisica'],
102
+ visual: evento['trabalhador/infoDeficiencia/defVisual'],
103
+ auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
104
+ mental: evento['trabalhador/infoDeficiencia/defMental'],
105
+ intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
106
+ reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
107
+ preenche_cota_de_pessoas_com_deficiencia: evento['trabalhador/infoDeficiencia/infoCota']
108
+ ),
109
+ contato: Obj.new(
110
+ fone_principal: evento['trabalhador/contato/fonePrinc'],
111
+ fone_alternativo: evento['trabalhador/contato/foneAlternat'],
112
+ email_principal: evento['trabalhador/contato/emailPrinc'],
113
+ email_alternativo: evento['trabalhador/contato/emailAlternat']
53
114
  )
54
115
  )
55
116
  end
@@ -58,18 +119,6 @@ module Teodoro
58
119
  empresa.contratos_de_emprego
59
120
  end
60
121
 
61
- def matricula_do_trabalhador
62
- @matricula_do_trabalhador ||= evento['vinculo/matricula']
63
- end
64
-
65
- def data_de_admissao
66
- @data_de_admissao ||= evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm']
67
- end
68
-
69
- def categoria_do_trabalhador
70
- @categoria_do_trabalhador ||= evento['vinculo/infoContrato/codCateg']
71
- end
72
-
73
122
  def afastamento
74
123
  evento['vinculo/afastamento']&.then { Obj.new(
75
124
  data_de_inicio: _1['dtIniAfast'],
@@ -80,14 +129,19 @@ module Teodoro
80
129
  def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
81
130
  [
82
131
  Obj.new(
83
- nome: "TRA[#{trabalhador.cpf}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM",
132
+ nome: [
133
+ 'TRA',
134
+ "[#{trabalhador.cpf}]",
135
+ "[EPG_#{admissao.matricula_do_trabalhador}_#{admissao.data_de_admissao.delete('-')}]",
136
+ '-ADM'
137
+ ].join,
84
138
  itens_do_conteudo: [
85
139
  # rubocop:disable Layout/LineLength
86
140
  ['ESX_CPF', trabalhador.cpf],
87
- ['ESX_MATRICULA', matricula_do_trabalhador],
88
- ['ESX_CATEGORIA', categoria_do_trabalhador],
141
+ ['ESX_MATRICULA', admissao.matricula_do_trabalhador],
142
+ ['ESX_CATEGORIA', admissao.categoria_do_trabalhador],
89
143
  %w[ESX_SEMVINCULO 0],
90
- ['ESX_DATAADMISSAO', data_de_admissao, :data],
144
+ ['ESX_DATAADMISSAO', admissao.data_de_admissao, :data],
91
145
  ['IdEventoXml', id_do_evento],
92
146
  ['NrReciboEventoOriginal'],
93
147
  ['EventoAdmissao_TipoEventoEnviado'],
@@ -131,59 +185,59 @@ module Teodoro
131
185
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
132
186
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
133
187
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
134
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
135
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
188
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
189
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
136
190
  ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
137
191
  ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
138
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
139
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
140
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
192
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
193
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
194
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
141
195
  ['SemNumeroLogradouroEnderecoBR'],
142
196
  ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
143
197
  ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
144
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
198
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
145
199
  ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
146
200
  ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
147
201
  ['SemNumeroLogradouroEnderecoEX'],
148
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
149
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
150
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
202
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
203
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
204
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
151
205
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
152
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
206
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
153
207
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
154
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['trabalhador/documentos/CNH/dtExped'], :data],
155
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['trabalhador/documentos/CNH/dtPriHab'], :data],
156
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['trabalhador/documentos/CNH/dtValid'], :data],
157
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
158
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
208
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
209
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
210
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
211
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
212
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
159
213
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
160
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['trabalhador/documentos/CTPS/nrCtps']],
161
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['trabalhador/documentos/CTPS/serieCtps']],
162
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['trabalhador/documentos/CTPS/ufCtps']],
214
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
215
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
216
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
163
217
  ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
164
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
165
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
166
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
167
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['trabalhador/documentos/RG/dtExped'], :data],
168
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
169
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
170
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['trabalhador/documentos/RIC/dtExped'], :data],
171
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
172
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
173
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['trabalhador/documentos/RNE/dtExped'], :data],
174
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
175
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
176
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
177
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['trabalhador/infoDeficiencia/defFisica']],
178
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['trabalhador/infoDeficiencia/defIntelectual']],
179
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['trabalhador/infoDeficiencia/defMental']],
180
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['trabalhador/infoDeficiencia/defVisual']],
181
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['trabalhador/infoDeficiencia/infoCota']],
182
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['trabalhador/infoDeficiencia/reabReadap']],
183
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['trabalhador/contato/fonePrinc']],
184
- ['EventoAdmissao_Contato_EmailPrincipal', evento['trabalhador/contato/emailPrinc']],
185
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['trabalhador/contato/foneAlternat']],
186
- ['EventoAdmissao_Contato_EmailAlternativo', evento['trabalhador/contato/emailAlternat']],
218
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
219
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
220
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
221
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
222
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
223
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
224
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
225
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
226
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
227
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
228
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
229
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
230
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
231
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
232
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
233
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
234
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
235
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
236
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
237
+ ['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
238
+ ['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
239
+ ['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
240
+ ['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
187
241
  *evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
188
242
  [
189
243
  ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
@@ -209,8 +263,8 @@ module Teodoro
209
263
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
210
264
  ]
211
265
  end.sum([]),
212
- ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
213
- ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
266
+ ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', admissao.categoria_do_trabalhador],
267
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', admissao.duracao.tipo_de_contrato],
214
268
  ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
215
269
  ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
216
270
  ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
@@ -220,8 +274,8 @@ module Teodoro
220
274
  ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
221
275
  ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
222
276
  ['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
223
- ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
224
- ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']],
277
+ ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
278
+ ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
225
279
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
226
280
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
227
281
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
@@ -31,7 +31,65 @@ module Teodoro
31
31
  reside_no_exterior?: evento['alteracao/dadosTrabalhador/endereco/exterior'],
32
32
  endereco: Obj.new(
33
33
  tipo_de_logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd'],
34
- codigo_do_municipio: evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']
34
+ logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd'],
35
+ numero: evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd'],
36
+ complemento: evento['alteracao/dadosTrabalhador/endereco/brasil/complemento'],
37
+ bairro: evento['alteracao/dadosTrabalhador/endereco/brasil/bairro'],
38
+ cep: evento['alteracao/dadosTrabalhador/endereco/brasil/cep'],
39
+ codigo_do_municipio: evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic'],
40
+ uf: evento['alteracao/dadosTrabalhador/endereco/brasil/uf']
41
+ ),
42
+ estrangeiro?: evento['alteracao/dadosTrabalhador/trabEstrangeiro'],
43
+ casado_com_brasileiro: evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr'],
44
+ data_de_chegada_ao_brasil: evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'],
45
+ filhos_brasileiros: evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr'],
46
+ ctps: Obj.new(
47
+ numero: evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps'],
48
+ serie: evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps'],
49
+ uf: evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']
50
+ ),
51
+ rg: Obj.new(
52
+ numero: evento['alteracao/dadosTrabalhador/documentos/RG/nrRg'],
53
+ orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor'],
54
+ data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RG/dtExped']
55
+ ),
56
+ rne: Obj.new(
57
+ numero: evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne'],
58
+ orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor'],
59
+ data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped']
60
+ ),
61
+ ric: Obj.new(
62
+ numero: evento['alteracao/dadosTrabalhador/documentos/RIC/nrRic'],
63
+ orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor'],
64
+ data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RIC/dtExped']
65
+ ),
66
+ oc: Obj.new(
67
+ numero: evento['alteracao/dadosTrabalhador/documentos/OC/nrOc'],
68
+ orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor'],
69
+ data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/OC/dtExped']
70
+ ),
71
+ cnh: Obj.new(
72
+ numero_do_registro: evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh'],
73
+ data_da_primeira_habilitacao: evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'],
74
+ data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'],
75
+ data_de_validade: evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'],
76
+ categoria: evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh'],
77
+ uf_do_emissor: evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']
78
+ ),
79
+ deficiencia: Obj.new(
80
+ fisica: evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica'],
81
+ visual: evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual'],
82
+ auditiva: evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva'],
83
+ mental: evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental'],
84
+ intelectual: evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual'],
85
+ reabilitado_ou_readaptado: evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap'],
86
+ preenche_cota_de_pessoas_com_deficiencia: evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']
87
+ ),
88
+ contato: Obj.new(
89
+ fone_principal: evento['alteracao/dadosTrabalhador/contato/fonePrinc'],
90
+ fone_alternativo: evento['alteracao/dadosTrabalhador/contato/foneAlternat'],
91
+ email_principal: evento['alteracao/dadosTrabalhador/contato/emailPrinc'],
92
+ email_alternativo: evento['alteracao/dadosTrabalhador/contato/emailAlternat']
35
93
  )
36
94
  )
37
95
  end
@@ -47,7 +105,7 @@ module Teodoro
47
105
  itens_do_conteudo: [
48
106
  # rubocop:disable Layout/LineLength
49
107
  ['ESX_CPF', trabalhador.cpf],
50
- ['ESX_MATRICULA', contrato_de_trabalho.matricula_do_contrato],
108
+ ['ESX_MATRICULA', contrato_de_trabalho.matricula_do_trabalhador],
51
109
  ['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
52
110
  %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
53
111
  ['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
@@ -86,51 +144,51 @@ module Teodoro
86
144
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
87
145
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
88
146
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
89
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
90
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
147
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
148
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
91
149
  ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
92
150
  ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
93
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
94
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
95
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
151
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
152
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
153
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
96
154
  ['SemNumeroLogradouroEnderecoBR'],
97
155
  ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
98
156
  ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
99
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
157
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
100
158
  ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
101
159
  ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
102
160
  ['SemNumeroLogradouroEnderecoEX'],
103
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
104
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data],
105
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
106
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
161
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
162
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
163
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
164
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
107
165
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
108
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data],
109
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data],
110
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data],
111
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
112
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
166
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
167
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
168
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
169
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
170
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
113
171
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
114
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
115
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
116
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
172
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
173
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
174
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
117
175
  ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
118
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data],
119
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
120
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
121
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data],
122
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
123
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
124
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
125
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
126
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
127
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
128
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
129
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
130
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
131
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['alteracao/dadosTrabalhador/contato/fonePrinc']],
132
- ['EventoAdmissao_Contato_EmailPrincipal', evento['alteracao/dadosTrabalhador/contato/emailPrinc']],
133
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['alteracao/dadosTrabalhador/contato/foneAlternat']],
176
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
177
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
178
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
179
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
180
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
181
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
182
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
183
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
184
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
185
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
186
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
187
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
188
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
189
+ ['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
190
+ ['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
191
+ ['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
134
192
  *evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
135
193
  [
136
194
  ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
@@ -184,11 +242,11 @@ module Teodoro
184
242
  include ContratoDeTrabalho
185
243
 
186
244
  def nome_do_arquivo_data_identificacao_do_contrato
187
- "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
245
+ "[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]"
188
246
  end
189
247
 
190
- def matricula_do_contrato
191
- contrato.matricula
248
+ def matricula_do_trabalhador
249
+ contrato.matricula_do_trabalhador
192
250
  end
193
251
 
194
252
  def categoria_do_trabalhador
@@ -213,7 +271,7 @@ module Teodoro
213
271
  "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]"
214
272
  end
215
273
 
216
- def matricula_do_contrato
274
+ def matricula_do_trabalhador
217
275
  nil
218
276
  end
219
277
 
@@ -3,23 +3,64 @@ module Teodoro
3
3
  class ArquivoS2206
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
- module DadosGerais
6
+ private
7
+
8
+ def criar_arquivos_data
9
+ super
10
+
11
+ empresa.contratos_de_emprego.registrar_alteracao_contratual(alteracao_contratual)
12
+ end
13
+
14
+ def alteracao_contratual
15
+ leiaute.alteracao_contratual
16
+ end
17
+
18
+ def leiaute
19
+ @leiaute ||=
20
+ (leiaute_simplificado? ? LeiauteSimplificado : Leiaute2).new(empresa: empresa, arquivo_xml: arquivo_xml)
21
+ end
22
+
23
+ def dados_dos_arquivos_data
24
+ leiaute.dados_dos_arquivos_data
25
+ end
26
+
27
+ module Leiaute
28
+ include ArquivoDeEvento
29
+
30
+ def alteracao_contratual
31
+ @alteracao_contratual ||= Obj.new(
32
+ matricula_do_trabalhador: evento['ideVinculo/matricula'],
33
+ tipo_de_regime_previdenciario: evento['altContratual/vinculo/tpRegPrev'],
34
+ duracao: duracao
35
+ )
36
+ end
37
+
38
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
39
+ [
40
+ Obj.new(
41
+ nome: [
42
+ 'TRA',
43
+ "[#{cpf_do_trabalhador}]",
44
+ "[EPG_#{alteracao_contratual.matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
45
+ "-ACO[#{data_da_alteracao.delete('-')}]"
46
+ ].join,
47
+ itens_do_conteudo: itens_do_conteudo
48
+ )
49
+ ]
50
+ end
51
+
7
52
  private
8
53
 
9
54
  def cpf_do_trabalhador
10
55
  @cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
11
56
  end
12
57
 
13
- def matricula_do_trabalhador
14
- @matricula_do_trabalhador ||= evento['ideVinculo/matricula']
15
- end
16
-
17
58
  def data_de_admissao
18
59
  contrato_de_emprego.data_de_admissao
19
60
  end
20
61
 
21
62
  def contrato_de_emprego
22
- contratos_de_emprego[matricula_do_trabalhador]
63
+ @contrato_de_emprego ||= contratos_de_emprego[alteracao_contratual.matricula_do_trabalhador]
23
64
  end
24
65
 
25
66
  def contratos_de_emprego
@@ -31,52 +72,27 @@ module Teodoro
31
72
  end
32
73
  end
33
74
 
34
- include DadosGerais
35
-
36
- private
37
-
38
- def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
39
- [
40
- Obj.new(
41
- nome: [
42
- 'TRA',
43
- "[#{cpf_do_trabalhador}]",
44
- "[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
45
- "-ACO[#{data_da_alteracao.delete('-')}]"
46
- ].join,
47
- itens_do_conteudo: itens_do_conteudo
48
- )
49
- ]
50
- end
51
-
52
- def itens_do_conteudo
53
- leiaute.itens_do_conteudo
54
- end
55
-
56
- def leiaute
57
- (leiaute_simplificado? ? LeiauteSimplificado : Leiaute2).new(empresa: empresa, arquivo_xml: arquivo_xml)
58
- end
59
-
60
- module Leiaute
61
- include ArquivoDeEvento
62
- include DadosGerais
63
- end
64
-
65
75
  class Leiaute2
66
76
  include Leiaute
67
77
 
78
+ private
79
+
80
+ def duracao
81
+ Obj.new(tipo_de_contrato: evento['altContratual/infoContrato/duracao/tpContr'])
82
+ end
83
+
68
84
  def itens_do_conteudo # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
69
85
  [
70
86
  # rubocop:disable Layout/LineLength
71
87
  ['ESX_CPF', cpf_do_trabalhador],
72
- ['ESX_MATRICULA', matricula_do_trabalhador],
88
+ ['ESX_MATRICULA', alteracao_contratual.matricula_do_trabalhador],
73
89
  %w[ESX_SEMVINCULO 0],
74
90
  ['ESX_DATAADMISSAO', data_de_admissao, :data],
75
91
  ['ESX_DATAALTERACAO', data_da_alteracao, :data],
76
92
  ['cpfTrabalhador', cpf_do_trabalhador],
77
93
  %w[nomeTrabalhador nomeTrabalhador],
78
94
  ['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
79
- ['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
95
+ ['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
80
96
  ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
81
97
  ['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
82
98
  ['AlteracaoContratual_DataEfeito', evento['altContratual/dtEf'], :data],
@@ -93,7 +109,7 @@ module Teodoro
93
109
  ['IdContratoAlterado'],
94
110
  ['regTrab'],
95
111
  ['InformacoesContrato_CodigoCategoria', evento['altContratual/infoContrato/codCateg']],
96
- ['VinculoAlteracao_TipoRegimePrevidenciario', evento['altContratual/vinculo/tpRegPrev']],
112
+ ['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
97
113
  ['dataAdmissao', data_de_admissao, :data],
98
114
  ['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
99
115
  ['InformacoesCeletista_NaturezaAtividade', evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
@@ -107,7 +123,7 @@ module Teodoro
107
123
  ['NomeEstabelecimentoLocalTrabalho'],
108
124
  ['CodigoCBO'],
109
125
  ['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/infoContrato/remuneracao/undSalFixo']],
110
- ['InformacoesContrato_TipoContrato', evento['altContratual/infoContrato/duracao/tpContr']],
126
+ ['InformacoesContrato_TipoContrato', alteracao_contratual.duracao.tipo_de_contrato],
111
127
  ['CodigoCNAE'],
112
128
  *evento.*('altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
113
129
  [
@@ -137,18 +153,24 @@ module Teodoro
137
153
  class LeiauteSimplificado
138
154
  include Leiaute
139
155
 
156
+ private
157
+
158
+ def duracao
159
+ Obj.new(tipo_de_contrato: evento['altContratual/vinculo/infoContrato/duracao/tpContr'])
160
+ end
161
+
140
162
  def itens_do_conteudo # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
141
163
  [
142
164
  # rubocop:disable Layout/LineLength
143
165
  ['ESX_CPF', cpf_do_trabalhador],
144
- ['ESX_MATRICULA', matricula_do_trabalhador],
166
+ ['ESX_MATRICULA', alteracao_contratual.matricula_do_trabalhador],
145
167
  %w[ESX_SEMVINCULO 0],
146
168
  ['ESX_DATAADMISSAO', data_de_admissao, :data],
147
169
  ['ESX_DATAALTERACAO', data_da_alteracao, :data],
148
170
  ['cpfTrabalhador', cpf_do_trabalhador],
149
171
  %w[nomeTrabalhador nomeTrabalhador],
150
172
  ['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
151
- ['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
173
+ ['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
152
174
  ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
153
175
  ['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
154
176
  ['AlteracaoContratual_DataEfeito', evento['altContratual/dtEf'], :data],
@@ -165,7 +187,7 @@ module Teodoro
165
187
  ['IdContratoAlterado'],
166
188
  ['regTrab'],
167
189
  ['InformacoesContrato_CodigoCategoria', evento['altContratual/vinculo/infoContrato/codCateg']],
168
- ['VinculoAlteracao_TipoRegimePrevidenciario', evento['altContratual/vinculo/tpRegPrev']],
190
+ ['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
169
191
  ['dataAdmissao', data_de_admissao, :data],
170
192
  ['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
171
193
  ['InformacoesCeletista_NaturezaAtividade', evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
@@ -179,7 +201,7 @@ module Teodoro
179
201
  ['NomeEstabelecimentoLocalTrabalho'],
180
202
  ['CodigoCBO'],
181
203
  ['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/vinculo/infoContrato/remuneracao/undSalFixo']],
182
- ['InformacoesContrato_TipoContrato', evento['altContratual/vinculo/infoContrato/duracao/tpContr']],
204
+ ['InformacoesContrato_TipoContrato', alteracao_contratual.duracao.tipo_de_contrato],
183
205
  ['CodigoCNAE'],
184
206
  ['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['altContratual/vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
185
207
  ['InformacoesContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['altContratual/vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
@@ -93,7 +93,7 @@ module Teodoro
93
93
  ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', contrato_de_emprego.primeiro_emprego_do_trabalhador],
94
94
  ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
95
95
  ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
96
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
96
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
97
97
  ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
98
98
  ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
99
99
  ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
@@ -103,67 +103,67 @@ module Teodoro
103
103
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
104
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
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
160
  ['InfoVinculo_Matricula', matricula_do_trabalhador],
161
- ['InfoVinculo_TipoRegimeTrabalhista'],
162
- ['InfoVinculo_TipoRegimePrevidenciario'],
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'],
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-08 00:00:00.000000000 Z
11
+ date: 2021-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri