teodoro 0.50.0 → 0.51.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/teodoro/arquivo_data/tra_epg_avi.rb +4 -0
- data/lib/teodoro/arquivo_data.rb +100 -32
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +3 -3
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +4 -3
- data/lib/teodoro/empresa/arquivo_de_dados_gerais.rb +2 -2
- data/lib/teodoro/empresa/cargos_gerados.rb +3 -3
- data/lib/teodoro/empresa/contratos_de_emprego.rb +0 -4
- data/lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb +0 -4
- data/lib/teodoro/empresa/funcoes_geradas.rb +3 -3
- data/lib/teodoro/empresa.rb +4 -11
- data/lib/teodoro/leiaute/arquivo_s1000.rb +1 -1
- data/lib/teodoro/leiaute/arquivo_s2190.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2200.rb +152 -136
- data/lib/teodoro/leiaute/arquivo_s2205.rb +173 -97
- data/lib/teodoro/leiaute/arquivo_s2206.rb +19 -2
- data/lib/teodoro/leiaute/arquivo_s2210.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2220.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2230.rb +21 -4
- data/lib/teodoro/leiaute/arquivo_s2240.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2299.rb +8 -97
- data/lib/teodoro/leiaute/arquivo_s2300.rb +120 -4
- data/lib/teodoro/leiaute/arquivo_s2306.rb +21 -1
- data/lib/teodoro/leiaute/arquivo_s2399.rb +5 -59
- data/lib/teodoro/leiaute/arquivo_s2500.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2501.rb +1 -0
- data/lib/teodoro/version.rb +1 -1
- metadata +2 -2
@@ -5,7 +5,7 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
8
|
+
def salvar_arquivos_data
|
9
9
|
super
|
10
10
|
|
11
11
|
registrar_admissao
|
@@ -131,8 +131,7 @@ module Teodoro
|
|
131
131
|
evento['vinculo/afastamento']&.then do |afastamento|
|
132
132
|
Obj.new(
|
133
133
|
data_de_inicio: afastamento['dtIniAfast'],
|
134
|
-
codigo_do_motivo: afastamento['codMotAfast']
|
135
|
-
numero_do_recibo: numero_do_recibo
|
134
|
+
codigo_do_motivo: afastamento['codMotAfast']
|
136
135
|
)
|
137
136
|
end
|
138
137
|
end
|
@@ -140,6 +139,7 @@ module Teodoro
|
|
140
139
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
141
140
|
[
|
142
141
|
Obj.new(
|
142
|
+
operacao: :inclusao,
|
143
143
|
nome: [
|
144
144
|
'TRA',
|
145
145
|
"[#{trabalhador.cpf}]",
|
@@ -167,7 +167,7 @@ module Teodoro
|
|
167
167
|
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
168
168
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
169
169
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
170
|
-
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego',
|
170
|
+
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', admissao.primeiro_emprego_do_trabalhador],
|
171
171
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
172
172
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
173
173
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
@@ -191,7 +191,7 @@ module Teodoro
|
|
191
191
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
192
192
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
193
193
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
194
|
-
|
194
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', leiaute.condicao_de_ingresso_no_brasil_do_trabalhador],
|
195
195
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
196
196
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
197
197
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
@@ -260,23 +260,23 @@ module Teodoro
|
|
260
260
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
261
261
|
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
262
262
|
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
263
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', leiaute.opcao_pelo_fgts],
|
264
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', leiaute.data_de_opcao_pelo_fgts, :data],
|
265
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo', leiaute.codigo_do_cargo],
|
266
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao', leiaute.codigo_da_funcao],
|
267
267
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
268
268
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
269
269
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
270
270
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
271
271
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadeHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
272
|
-
|
273
|
-
|
272
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada', leiaute.horario.tipo_de_jornada],
|
273
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoJornada', leiaute.horario.descricao_da_jornada],
|
274
274
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
275
275
|
*([['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_HorarioNoturno', evento['vinculo/infoContrato/horContratual/horNoturno']]] if leiaute_simplificado?),
|
276
276
|
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
277
277
|
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
278
278
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|
279
|
-
|
279
|
+
['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior', leiaute.cnpj_do_empregador_anterior],
|
280
280
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']],
|
281
281
|
*(
|
282
282
|
if leiaute_simplificado?
|
@@ -289,6 +289,99 @@ module Teodoro
|
|
289
289
|
)
|
290
290
|
# rubocop:enable Layout/LineLength
|
291
291
|
]
|
292
|
+
),
|
293
|
+
Obj.new(
|
294
|
+
operacao: :inclusao,
|
295
|
+
nome: [
|
296
|
+
'TRA',
|
297
|
+
"[#{trabalhador.cpf}]",
|
298
|
+
"[EPG_#{admissao.matricula_do_trabalhador}_#{admissao.data_de_admissao.delete('-')}]",
|
299
|
+
'-GER'
|
300
|
+
].join,
|
301
|
+
itens_do_conteudo: [
|
302
|
+
# rubocop:disable Layout/LineLength
|
303
|
+
['ESX_CPF', trabalhador.cpf],
|
304
|
+
['ESX_MATRICULA', admissao.matricula_do_trabalhador],
|
305
|
+
%w[ESX_SEMVINCULO 0],
|
306
|
+
['ESX_DATAADMISSAO', admissao.data_de_admissao, :data],
|
307
|
+
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
308
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
309
|
+
['VerProc', versao_do_processo_de_emissao_do_evento],
|
310
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
311
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
312
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
313
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
314
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
315
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
316
|
+
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', admissao.primeiro_emprego_do_trabalhador],
|
317
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
318
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
319
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
320
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
321
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
322
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
323
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
324
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
325
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
326
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
327
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
328
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
329
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
330
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
331
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
332
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
333
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
334
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
335
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
336
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
337
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
338
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
339
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
340
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
341
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
342
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
343
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
344
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
345
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
346
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
347
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
348
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
349
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
350
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
351
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
352
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
353
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
354
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
355
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
|
356
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
|
357
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
|
358
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
359
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
360
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
361
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
362
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
363
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
364
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
365
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
366
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
367
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
368
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
369
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
370
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
371
|
+
['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
|
372
|
+
['InfoVinculo_Matricula', admissao.matricula_do_trabalhador],
|
373
|
+
['InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
374
|
+
['InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
375
|
+
['InfoVinculo_InfoContrato_CodigoCategoria', admissao.categoria_do_trabalhador],
|
376
|
+
['InfoVinculo_InfoContrato_Duracao_TipoContrato', admissao.duracao.tipo_de_contrato],
|
377
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', admissao.data_de_admissao, :data],
|
378
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', admissao.indicativo_de_admissao],
|
379
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', leiaute.data_de_opcao_pelo_fgts, :data],
|
380
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', leiaute.opcao_pelo_fgts],
|
381
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', admissao.natureza_da_atividade],
|
382
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', admissao.tipo_de_admissao]
|
383
|
+
# rubocop:enable Layout/LineLength
|
384
|
+
]
|
292
385
|
)
|
293
386
|
]
|
294
387
|
end
|
@@ -306,39 +399,22 @@ module Teodoro
|
|
306
399
|
end
|
307
400
|
end
|
308
401
|
|
309
|
-
module Leiaute
|
310
|
-
private
|
311
|
-
|
312
|
-
attr_reader :evento
|
313
|
-
|
314
|
-
public
|
315
|
-
|
316
|
-
def [](chave)
|
317
|
-
dados_do_arquivo_data_por_chave[chave]
|
318
|
-
end
|
319
|
-
|
320
|
-
private
|
321
|
-
|
322
|
-
def dados_do_arquivo_data_por_chave
|
323
|
-
@dados_do_arquivo_data_por_chave ||= dados_do_arquivo_data.to_h { |item| [item.first, item] }
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
402
|
class Leiaute2
|
328
|
-
include Leiaute
|
329
|
-
|
330
|
-
private
|
331
|
-
|
332
403
|
def initialize(evento)
|
333
404
|
@evento = evento
|
334
405
|
end
|
335
406
|
|
336
|
-
public
|
337
|
-
|
338
407
|
def condicao_de_ingresso_no_brasil_do_trabalhador
|
339
408
|
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
340
409
|
end
|
341
410
|
|
411
|
+
def horario
|
412
|
+
@horario ||= Obj.new(
|
413
|
+
tipo_de_jornada: evento['vinculo/infoContrato/horContratual/tpJornada'],
|
414
|
+
descricao_da_jornada: evento['vinculo/infoContrato/horContratual/dscTpJorn']
|
415
|
+
)
|
416
|
+
end
|
417
|
+
|
342
418
|
def opcao_pelo_fgts
|
343
419
|
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']
|
344
420
|
end
|
@@ -347,63 +423,29 @@ module Teodoro
|
|
347
423
|
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
348
424
|
end
|
349
425
|
|
350
|
-
|
426
|
+
def codigo_do_cargo
|
427
|
+
@codigo_do_cargo ||= evento['vinculo/infoContrato/codCargo']
|
428
|
+
end
|
351
429
|
|
352
|
-
def
|
353
|
-
[
|
354
|
-
# rubocop:disable Layout/LineLength
|
355
|
-
[
|
356
|
-
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
357
|
-
condicao_de_ingresso_no_brasil_do_trabalhador
|
358
|
-
],
|
359
|
-
[
|
360
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
361
|
-
evento['vinculo/infoContrato/horContratual/tpJornada']
|
362
|
-
],
|
363
|
-
[
|
364
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoJornada',
|
365
|
-
evento['vinculo/infoContrato/horContratual/dscTpJorn']
|
366
|
-
],
|
367
|
-
[
|
368
|
-
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
369
|
-
opcao_pelo_fgts
|
370
|
-
],
|
371
|
-
[
|
372
|
-
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
373
|
-
data_de_opcao_pelo_fgts,
|
374
|
-
:data
|
375
|
-
],
|
376
|
-
[
|
377
|
-
'EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior',
|
378
|
-
evento['vinculo/sucessaoVinc/cnpjEmpregAnt']
|
379
|
-
],
|
380
|
-
[
|
381
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
382
|
-
evento['vinculo/infoContrato/codCargo']
|
383
|
-
],
|
384
|
-
[
|
385
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao',
|
386
|
-
evento['vinculo/infoContrato/codFuncao']
|
387
|
-
]
|
388
|
-
# rubocop:enable Layout/LineLength
|
389
|
-
]
|
430
|
+
def codigo_da_funcao
|
431
|
+
@codigo_da_funcao ||= evento['vinculo/infoContrato/codFuncao']
|
390
432
|
end
|
391
|
-
end
|
392
433
|
|
393
|
-
|
394
|
-
|
434
|
+
def cnpj_do_empregador_anterior
|
435
|
+
@cnpj_do_empregador_anterior ||= evento['vinculo/sucessaoVinc/cnpjEmpregAnt']
|
436
|
+
end
|
395
437
|
|
396
438
|
private
|
397
439
|
|
440
|
+
attr_reader :evento
|
441
|
+
end
|
442
|
+
|
443
|
+
class LeiauteSimplificado
|
398
444
|
def initialize(empresa:, evento:)
|
399
445
|
@empresa = empresa
|
400
446
|
@evento = evento
|
401
447
|
end
|
402
448
|
|
403
|
-
attr_reader :empresa
|
404
|
-
|
405
|
-
public
|
406
|
-
|
407
449
|
def condicao_de_ingresso_no_brasil_do_trabalhador
|
408
450
|
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
409
451
|
evento['trabalhador/trabImig']&.then do |imigrante|
|
@@ -413,10 +455,38 @@ module Teodoro
|
|
413
455
|
end
|
414
456
|
end
|
415
457
|
|
458
|
+
def horario
|
459
|
+
@horario ||= Obj.new(
|
460
|
+
tipo_de_jornada: evento['vinculo/infoContrato/horContratual/tpJornada']
|
461
|
+
.then { %w[2 3].include?(_1) ? _1 : 9 },
|
462
|
+
descricao_da_jornada: evento['vinculo/infoContrato/horContratual/dscJorn']
|
463
|
+
)
|
464
|
+
end
|
465
|
+
|
416
466
|
def opcao_pelo_fgts
|
417
467
|
@opcao_pelo_fgts ||= optante_pelo_fgts? ? 1 : 2
|
418
468
|
end
|
419
469
|
|
470
|
+
def data_de_opcao_pelo_fgts
|
471
|
+
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
472
|
+
end
|
473
|
+
|
474
|
+
def codigo_do_cargo
|
475
|
+
cargo&.codigo
|
476
|
+
end
|
477
|
+
|
478
|
+
def codigo_da_funcao
|
479
|
+
funcao&.codigo
|
480
|
+
end
|
481
|
+
|
482
|
+
def cnpj_do_empregador_anterior
|
483
|
+
@cnpj_do_empregador_anterior ||= evento['vinculo/sucessaoVinc/nrInsc']
|
484
|
+
end
|
485
|
+
|
486
|
+
private
|
487
|
+
|
488
|
+
attr_reader :empresa, :evento
|
489
|
+
|
420
490
|
def optante_pelo_fgts?
|
421
491
|
data_de_admissao >= (empregado_domestico? ? '2015-10-01' : '1988-10-05') ||
|
422
492
|
evento['vinculo/infoRegimeTrab/infoCeletista/FGTS']
|
@@ -434,56 +504,6 @@ module Teodoro
|
|
434
504
|
evento['vinculo/infoContrato/codCateg']
|
435
505
|
end
|
436
506
|
|
437
|
-
def data_de_opcao_pelo_fgts
|
438
|
-
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
439
|
-
end
|
440
|
-
|
441
|
-
private
|
442
|
-
|
443
|
-
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
444
|
-
[
|
445
|
-
# rubocop:disable Layout/LineLength
|
446
|
-
[
|
447
|
-
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
448
|
-
condicao_de_ingresso_no_brasil_do_trabalhador
|
449
|
-
],
|
450
|
-
[
|
451
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
452
|
-
evento['vinculo/infoContrato/horContratual/tpJornada'].then { %w[2 3].include?(_1) ? _1 : 9 }
|
453
|
-
],
|
454
|
-
[
|
455
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoJornada',
|
456
|
-
evento['vinculo/infoContrato/horContratual/dscJorn']
|
457
|
-
],
|
458
|
-
[
|
459
|
-
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
460
|
-
opcao_pelo_fgts
|
461
|
-
],
|
462
|
-
[
|
463
|
-
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
464
|
-
data_de_opcao_pelo_fgts,
|
465
|
-
:data
|
466
|
-
],
|
467
|
-
[
|
468
|
-
'EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior',
|
469
|
-
evento['vinculo/sucessaoVinc/nrInsc']
|
470
|
-
],
|
471
|
-
[
|
472
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
473
|
-
codigo_do_cargo
|
474
|
-
],
|
475
|
-
[
|
476
|
-
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao',
|
477
|
-
codigo_da_funcao
|
478
|
-
]
|
479
|
-
# rubocop:enable Layout/LineLength
|
480
|
-
]
|
481
|
-
end
|
482
|
-
|
483
|
-
def codigo_do_cargo
|
484
|
-
cargo&.codigo
|
485
|
-
end
|
486
|
-
|
487
507
|
def cargo
|
488
508
|
empresa.cargos_gerados[
|
489
509
|
nome: evento['vinculo/infoContrato/nmCargo'],
|
@@ -491,10 +511,6 @@ module Teodoro
|
|
491
511
|
]
|
492
512
|
end
|
493
513
|
|
494
|
-
def codigo_da_funcao
|
495
|
-
funcao&.codigo
|
496
|
-
end
|
497
|
-
|
498
514
|
def funcao
|
499
515
|
empresa.funcoes_geradas[
|
500
516
|
nome: evento['vinculo/infoContrato/nmFuncao'],
|