teodoro 0.0.10 → 0.1.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.
- checksums.yaml +4 -4
- data/lib/teodoro.rb +5 -11
- data/lib/teodoro/arquivo_de_evento.rb +22 -8
- data/lib/teodoro/{arquivo_de_evento_exceto_de_exclusao.rb → arquivo_de_evento_criador_de_arquivo_data.rb} +2 -8
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +2 -12
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +9 -42
- data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +30 -0
- data/lib/teodoro/arquivo_de_evento_retificavel.rb +23 -0
- data/lib/teodoro/arquivo_de_origem.rb +1 -1
- data/lib/teodoro/arquivo_xml.rb +44 -73
- data/lib/teodoro/console.rb +2 -6
- data/lib/teodoro/empresa.rb +108 -14
- data/lib/teodoro/leiaute.rb +24 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1000.rb +7 -9
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1005.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1010.rb +3 -5
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1020.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1030.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1040.rb +2 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1050.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1070.rb +2 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2190.rb +2 -2
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2200.rb +138 -22
- data/lib/teodoro/leiaute/arquivo_s2205.rb +264 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2206.rb +18 -7
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2230.rb +56 -12
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2250.rb +25 -9
- data/lib/teodoro/leiaute/arquivo_s2299.rb +313 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2300.rb +31 -5
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2306.rb +27 -7
- data/lib/teodoro/leiaute/arquivo_s2399.rb +306 -0
- data/lib/teodoro/leiaute/arquivo_s3000.rb +33 -0
- data/lib/teodoro/obj.rb +5 -0
- metadata +26 -21
- data/lib/teodoro/leiaute_2_4_1.rb +0 -22
- data/lib/teodoro/leiaute_2_4_1/arquivo_s2205.rb +0 -157
- data/lib/teodoro/leiaute_2_4_1/arquivo_s3000.rb +0 -45
@@ -1,10 +1,44 @@
|
|
1
1
|
module Teodoro
|
2
|
-
module
|
2
|
+
module Leiaute
|
3
3
|
class ArquivoS2200 # rubocop:disable Metrics/ClassLength
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
6
|
+
def processar
|
7
|
+
remover_registro_do_contrato_de_emprego if retificacao?
|
8
|
+
|
9
|
+
super
|
10
|
+
|
11
|
+
registrar_contrato_de_emprego
|
12
|
+
end
|
13
|
+
|
6
14
|
private
|
7
15
|
|
16
|
+
def remover_registro_do_contrato_de_emprego
|
17
|
+
contratos_de_emprego.remover(numero_do_recibo_a_retificar)
|
18
|
+
end
|
19
|
+
|
20
|
+
def registrar_contrato_de_emprego
|
21
|
+
contratos_de_emprego << Obj.new(
|
22
|
+
matricula: matricula_do_trabalhador,
|
23
|
+
data_de_admissao: data_de_admissao,
|
24
|
+
categoria_do_trabalhador: categoria_do_trabalhador,
|
25
|
+
cpf_do_trabalhador: cpf_do_trabalhador,
|
26
|
+
recibo: numero_do_recibo
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def contratos_de_emprego
|
31
|
+
empresa.contratos_de_emprego
|
32
|
+
end
|
33
|
+
|
34
|
+
def data_de_admissao
|
35
|
+
@data_de_admissao ||= evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/dtAdm']
|
36
|
+
end
|
37
|
+
|
38
|
+
def categoria_do_trabalhador
|
39
|
+
@categoria_do_trabalhador ||= evento['evtAdmissao/vinculo/infoContrato/codCateg']
|
40
|
+
end
|
41
|
+
|
8
42
|
def noh_principal_do_evento
|
9
43
|
'evtAdmissao'
|
10
44
|
end
|
@@ -22,13 +56,9 @@ module Teodoro
|
|
22
56
|
@matricula_do_trabalhador ||= evento['evtAdmissao/vinculo/matricula']
|
23
57
|
end
|
24
58
|
|
25
|
-
def
|
26
|
-
@data_de_admissao ||= evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/dtAdm']
|
27
|
-
end
|
28
|
-
|
29
|
-
# rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
|
30
|
-
def itens_do_conteudo_do_arquivo_data
|
59
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
31
60
|
[
|
61
|
+
# rubocop:disable Layout/LineLength
|
32
62
|
['ESX_CPF', cpf_do_trabalhador],
|
33
63
|
['ESX_MATRICULA', matricula_do_trabalhador],
|
34
64
|
['ESX_CATEGORIA', categoria_do_trabalhador],
|
@@ -39,7 +69,7 @@ module Teodoro
|
|
39
69
|
['NrReciboEventoOriginal'],
|
40
70
|
['EventoAdmissao_TipoEventoEnviado'],
|
41
71
|
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
42
|
-
['EventoAdmissao_NrRecibo',
|
72
|
+
['EventoAdmissao_NrRecibo', numero_do_recibo],
|
43
73
|
['EventoAdmissao_DataAlteracaoCadastral'],
|
44
74
|
['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', evento['evtAdmissao/vinculo/cadIni']],
|
45
75
|
['EventoAdmissao_InformacoesInicio_DataInicio'],
|
@@ -137,7 +167,7 @@ module Teodoro
|
|
137
167
|
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
|
138
168
|
['SemNumeroLogradouroEnderecoEX'],
|
139
169
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAdmissao/trabalhador/trabEstrangeiro/casadoBr']],
|
140
|
-
|
170
|
+
item_do_conteudo_do_arquivo_data('EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'),
|
141
171
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
142
172
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAdmissao/trabalhador/trabEstrangeiro/dtChegada']],
|
143
173
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAdmissao/trabalhador/trabEstrangeiro/filhosBr']],
|
@@ -230,19 +260,19 @@ module Teodoro
|
|
230
260
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/descComp']],
|
231
261
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
232
262
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
233
|
-
|
234
|
-
|
263
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf'),
|
264
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro'),
|
235
265
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
266
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro'),
|
267
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro'),
|
268
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento'),
|
269
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio'),
|
270
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep'),
|
271
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro'),
|
242
272
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/nrInsc']],
|
243
273
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/tpInsc']],
|
244
|
-
|
245
|
-
|
274
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'),
|
275
|
+
item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'),
|
246
276
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/hipLeg']],
|
247
277
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/justContr']],
|
248
278
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/tpInclContr']],
|
@@ -288,12 +318,98 @@ module Teodoro
|
|
288
318
|
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
289
319
|
]
|
290
320
|
end.sum([])
|
321
|
+
# rubocop:enable Layout/LineLength
|
291
322
|
]
|
292
323
|
end
|
293
|
-
# rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
|
294
324
|
|
295
|
-
def
|
296
|
-
|
325
|
+
def item_do_conteudo_do_arquivo_data(chave)
|
326
|
+
chaves_valores_de_acordo_com_a_versao_do_leiaute[chave]
|
327
|
+
end
|
328
|
+
|
329
|
+
def chaves_valores_de_acordo_com_a_versao_do_leiaute
|
330
|
+
@chaves_valores_de_acordo_com_a_versao_do_leiaute ||=
|
331
|
+
(leiaute_simplificado? ? ChavesValoresDoLeiauteSimplificado : ChavesValoresDoLeiaute2).new(evento)
|
332
|
+
end
|
333
|
+
|
334
|
+
module ChavesValores
|
335
|
+
private
|
336
|
+
|
337
|
+
def initialize(evento)
|
338
|
+
@evento = evento
|
339
|
+
end
|
340
|
+
|
341
|
+
attr_reader :evento
|
342
|
+
|
343
|
+
public
|
344
|
+
|
345
|
+
def [](chave)
|
346
|
+
de_chave_para_chave_valor[chave]
|
347
|
+
end
|
348
|
+
|
349
|
+
private
|
350
|
+
|
351
|
+
def de_chave_para_chave_valor
|
352
|
+
@de_chave_para_chave_valor ||=
|
353
|
+
itens_do_conteudo_do_arquivo_data.map { |chave, valor| [chave, [chave, valor]] }.to_h
|
354
|
+
end
|
355
|
+
end
|
356
|
+
|
357
|
+
class ChavesValoresDoLeiaute2
|
358
|
+
include ChavesValores
|
359
|
+
|
360
|
+
private
|
361
|
+
|
362
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
363
|
+
[
|
364
|
+
# rubocop:disable Layout/LineLength
|
365
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAdmissao/trabalhador/trabEstrangeiro/classTrabEstrang']],
|
366
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/uf']],
|
367
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/tpLograd']],
|
368
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/nrLograd']],
|
369
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/dscLograd']],
|
370
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/complemento']],
|
371
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/codMunic']],
|
372
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/cep']],
|
373
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/bairro']],
|
374
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/nrInsc']],
|
375
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/tpInsc']]
|
376
|
+
# rubocop:enable Layout/LineLength
|
377
|
+
]
|
378
|
+
end
|
379
|
+
end
|
380
|
+
|
381
|
+
class ChavesValoresDoLeiauteSimplificado
|
382
|
+
include ChavesValores
|
383
|
+
|
384
|
+
private
|
385
|
+
|
386
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
387
|
+
[
|
388
|
+
# rubocop:disable Layout/LineLength
|
389
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_imigrante],
|
390
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/uf']],
|
391
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/tpLograd']],
|
392
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/nrLograd']],
|
393
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/dscLograd']],
|
394
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/complemento']],
|
395
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/codMunic']],
|
396
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/cep']],
|
397
|
+
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/bairro']],
|
398
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/nrInsc']],
|
399
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/tpInsc']]
|
400
|
+
# rubocop:enable Layout/LineLength
|
401
|
+
]
|
402
|
+
end
|
403
|
+
|
404
|
+
def condicao_de_ingresso_do_trabalhador_imigrante
|
405
|
+
{
|
406
|
+
'1' => 4,
|
407
|
+
'2' => 5,
|
408
|
+
'4' => 10,
|
409
|
+
'5' => 11,
|
410
|
+
'6' => 12
|
411
|
+
}[evento['evtAdmissao/trabalhador/trabImig/condIng']] || evento['evtAdmissao/trabalhador/trabImig/tmpResid']
|
412
|
+
end
|
297
413
|
end
|
298
414
|
end
|
299
415
|
end
|
@@ -0,0 +1,264 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module Leiaute
|
3
|
+
class ArquivoS2205
|
4
|
+
include ArquivoDeEventoProcessadorDeArquivoData
|
5
|
+
include ArquivoDeEventoRetificavel
|
6
|
+
|
7
|
+
def processar
|
8
|
+
deletar_arquivos_data_originais if retificacao?
|
9
|
+
processar_contratos_de_trabalho
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def noh_principal_do_evento
|
15
|
+
'evtAltCadastral'
|
16
|
+
end
|
17
|
+
|
18
|
+
def processar_contratos_de_trabalho
|
19
|
+
contratos_de_trabalho.each(&:processar)
|
20
|
+
end
|
21
|
+
|
22
|
+
def contratos_de_trabalho
|
23
|
+
(contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
|
24
|
+
.map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
|
25
|
+
end
|
26
|
+
|
27
|
+
def contratos_de_emprego
|
28
|
+
empresa.contratos_de_emprego
|
29
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
30
|
+
.map { [ContratoDeEmprego, _1] }
|
31
|
+
end
|
32
|
+
|
33
|
+
def contratos_de_trabalho_sem_vinculo
|
34
|
+
empresa.contratos_de_trabalho_sem_vinculo
|
35
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
36
|
+
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
37
|
+
end
|
38
|
+
|
39
|
+
def cpf_do_trabalhador
|
40
|
+
@cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
|
41
|
+
end
|
42
|
+
|
43
|
+
def data_da_alteracao
|
44
|
+
@data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
|
45
|
+
end
|
46
|
+
|
47
|
+
module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
|
48
|
+
include ArquivoDeEventoNaoPeriodico
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
def initialize(contrato:, **args)
|
53
|
+
super(**args)
|
54
|
+
|
55
|
+
@contrato = contrato
|
56
|
+
end
|
57
|
+
|
58
|
+
attr_reader :contrato
|
59
|
+
|
60
|
+
def noh_principal_do_evento
|
61
|
+
'evtAltCadastral'
|
62
|
+
end
|
63
|
+
|
64
|
+
def nome_do_arquivo_data
|
65
|
+
@nome_do_arquivo_data ||= [
|
66
|
+
"TRA[#{cpf_do_trabalhador}]",
|
67
|
+
nome_do_arquivo_data_identificacao_do_contrato,
|
68
|
+
"-ACA[#{data_da_alteracao.delete('-')}]"
|
69
|
+
].join
|
70
|
+
end
|
71
|
+
|
72
|
+
def cpf_do_trabalhador
|
73
|
+
@cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
|
74
|
+
end
|
75
|
+
|
76
|
+
def data_da_alteracao
|
77
|
+
@data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
|
78
|
+
end
|
79
|
+
|
80
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
81
|
+
[
|
82
|
+
# rubocop:disable Layout/LineLength
|
83
|
+
['ESX_CPF', cpf_do_trabalhador],
|
84
|
+
['ESX_MATRICULA', matricula_do_contrato],
|
85
|
+
['ESX_CATEGORIA', categoria_do_trabalhador],
|
86
|
+
%w[ESX_SEMVINCULO 0], # FIXME: Tales TC
|
87
|
+
['ESX_DATAADMISSAO', data_de_inicio_do_contrato_de_trabalho],
|
88
|
+
['ESX_DATAALTERACAO', data_da_alteracao],
|
89
|
+
['DataAlteracao', data_da_alteracao],
|
90
|
+
['IdEventoXml'],
|
91
|
+
['NrReciboEventoOriginal'],
|
92
|
+
['RequestVerificationToken'],
|
93
|
+
['SomenteLeitura'],
|
94
|
+
['VisualizarDadosCadastrais'],
|
95
|
+
['UrlRetorno'],
|
96
|
+
['visualizar'],
|
97
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
98
|
+
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
|
99
|
+
['IdEdicaoDependente'],
|
100
|
+
['commandArgument'],
|
101
|
+
['EventoAdmissao_TipoEventoEnviado'],
|
102
|
+
['HiddenCurrentUrl'],
|
103
|
+
['ehCodigoAcesso'],
|
104
|
+
['ExibirTrocarPerfil'],
|
105
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
|
106
|
+
['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
|
107
|
+
['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
|
108
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
|
109
|
+
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
110
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
|
111
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
112
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
|
113
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
114
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
|
115
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
116
|
+
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
|
117
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
|
118
|
+
['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
|
119
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
120
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
121
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
|
122
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
123
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
124
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
|
125
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
126
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
127
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
128
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
129
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
130
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
|
131
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
|
132
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
|
133
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
134
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
|
135
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
|
136
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
|
137
|
+
['SemNumeroLogradouroEnderecoBR'],
|
138
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
|
139
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
140
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
|
141
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
142
|
+
['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
|
143
|
+
['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
|
144
|
+
['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
|
145
|
+
['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
|
146
|
+
['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
|
147
|
+
['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
|
148
|
+
['ResideExterior'],
|
149
|
+
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
|
150
|
+
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
|
151
|
+
['SemNumeroLogradouroEnderecoEX'],
|
152
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
|
153
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
|
154
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
155
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
|
156
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
|
157
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
|
158
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
159
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
|
160
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
|
161
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
|
162
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
|
163
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
|
164
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
165
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
|
170
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
|
174
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
|
180
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
|
181
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
|
183
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
|
184
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
|
185
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
|
187
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
|
188
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
|
189
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
|
190
|
+
['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
|
191
|
+
['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
|
192
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
|
193
|
+
['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
|
194
|
+
*evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
|
195
|
+
[
|
196
|
+
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
197
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
|
198
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
|
199
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
|
200
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
|
201
|
+
["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
|
202
|
+
["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
|
203
|
+
["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
|
204
|
+
]
|
205
|
+
end.sum([])
|
206
|
+
# rubocop:enable Layout/LineLength
|
207
|
+
]
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
class ContratoDeEmprego
|
212
|
+
include ContratoDeTrabalho
|
213
|
+
|
214
|
+
private
|
215
|
+
|
216
|
+
def nome_do_arquivo_data_identificacao_do_contrato
|
217
|
+
"[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
|
218
|
+
end
|
219
|
+
|
220
|
+
def matricula_do_contrato
|
221
|
+
contrato.matricula
|
222
|
+
end
|
223
|
+
|
224
|
+
def data_de_admissao
|
225
|
+
contrato.data_de_admissao
|
226
|
+
end
|
227
|
+
|
228
|
+
def categoria_do_trabalhador
|
229
|
+
contrato.categoria_do_trabalhador
|
230
|
+
end
|
231
|
+
|
232
|
+
def data_de_inicio_do_contrato_de_trabalho
|
233
|
+
data_de_admissao
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
class ContratoDeTrabalhoSemVinculo
|
238
|
+
include ContratoDeTrabalho
|
239
|
+
|
240
|
+
private
|
241
|
+
|
242
|
+
def nome_do_arquivo_data_identificacao_do_contrato
|
243
|
+
"[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
|
244
|
+
end
|
245
|
+
|
246
|
+
def categoria_do_trabalhador
|
247
|
+
contrato.categoria_do_trabalhador
|
248
|
+
end
|
249
|
+
|
250
|
+
def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
|
251
|
+
contrato.data_de_inicio
|
252
|
+
end
|
253
|
+
|
254
|
+
def matricula_do_contrato
|
255
|
+
nil
|
256
|
+
end
|
257
|
+
|
258
|
+
def data_de_inicio_do_contrato_de_trabalho
|
259
|
+
data_de_inicio_do_contrato_de_trabalho_sem_vinculo
|
260
|
+
end
|
261
|
+
end
|
262
|
+
end
|
263
|
+
end
|
264
|
+
end
|