teodoro 0.0.12 → 0.0.13

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: bb82ca01d0e6d8a70fb3c77d09e5d89a03e473fa632f4382221cdffefb21feed
4
- data.tar.gz: 7bc8f92129a1828c5c4fa4cd7fcc5f3e87ed6c21c524f334959c26e782fc8e26
3
+ metadata.gz: d13e1befb47f42baadda75f5ee3fbab43f2903ad4853c22d9f8a5dc2d3e5b484
4
+ data.tar.gz: 7d200caa9e141f52a9a486b033247d4f49c3c158839dd808985e38f9480d2f86
5
5
  SHA512:
6
- metadata.gz: dce1dc08d6027a38f86f3ed22b0f4876bb95a977637ccd2f18daee65087dd1c8bfacfec9a970809c9ede277fd72ba8eefba2aa8356067e89a48800608dad5a21
7
- data.tar.gz: f363698c4d43d83faea482d15e3ccd0299d1396c93c3ea214c8285c467514f2273400c182bae85425d90ee3c01cc3537f3c4c874dbc8423c44921f35f8933b20
6
+ metadata.gz: 7cb73aef9770bc0de0c95d311257d470166d852509d03977dc8e7aedb77236aca8e1eb7b127ce7d6ddcefc932b4a2ecb7e7b8e80de77068ea2e6a497187956f4
7
+ data.tar.gz: 6d3c6f76c54af41cdde69b54fc2a6d9245dec8e258fada8b22a8162d587b46cdf36c8bfac99bc47af2a13f63614b52f81fab74ba25efa10b27743d9ca6c9dc3d
@@ -37,7 +37,7 @@ module Teodoro
37
37
  end
38
38
 
39
39
  def caminho_do_arquivo_data
40
- # FIXME: Tales inicio de validade
40
+ # FIXME: Tales inicio de validade ou inicio da nova validade?
41
41
  obter_caminho_do_arquivo_data(inicio_da_validade)
42
42
  end
43
43
 
@@ -85,7 +85,7 @@ module Teodoro
85
85
  destino_dos_arquivos_data: destino_dos_arquivos_data,
86
86
  de_recibo_para_nome_do_arquivo_data: {},
87
87
  admissoes_por_matricula: {},
88
- contratos_de_trabalhador_sem_vinculo: ContratosDeTrabalhadorSemVinculo.new
88
+ contratos_de_trabalhado_sem_vinculo: ContratosDeTrabalhadorSemVinculo.new
89
89
  )
90
90
  end
91
91
 
@@ -84,8 +84,8 @@ module Teodoro
84
84
  ['ExibeModoCompleto'],
85
85
  ['InicioValidade', inicio_da_validade],
86
86
  ['FimValidade', fim_da_validade],
87
- ['NovaValidade_InicioValidade'], # FIXME: Tales
88
- ['NovaValidade_FimValidade'], # FIXME: Tales
87
+ ['NovaValidade_InicioValidade'],
88
+ ['NovaValidade_FimValidade'],
89
89
  ['NomeRazaoSocial', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/nmRazao']],
90
90
  ['ClassificacaoTributaria', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/classTrib']],
91
91
  ['NaturezaJuridica', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/natJurid']],
@@ -8,7 +8,7 @@ module Teodoro
8
8
  end
9
9
 
10
10
  def nome_do_arquivo_data
11
- "PRE[#{cpf_do_trabalhador}]"
11
+ @nome_do_arquivo_data ||= "PRE[#{cpf_do_trabalhador}]"
12
12
  end
13
13
 
14
14
  def cpf_do_trabalhador
@@ -47,9 +47,9 @@ module Teodoro
47
47
  @matricula_do_trabalhador ||= evento['evtAdmissao/vinculo/matricula']
48
48
  end
49
49
 
50
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
51
- def itens_do_conteudo_do_arquivo_data
50
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
52
51
  [
52
+ # rubocop:disable Layout/LineLength
53
53
  ['ESX_CPF', cpf_do_trabalhador],
54
54
  ['ESX_MATRICULA', matricula_do_trabalhador],
55
55
  ['ESX_CATEGORIA', categoria_do_trabalhador],
@@ -158,7 +158,7 @@ module Teodoro
158
158
  ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
159
159
  ['SemNumeroLogradouroEnderecoEX'],
160
160
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAdmissao/trabalhador/trabEstrangeiro/casadoBr']],
161
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_estrangeiro],
161
+ item_do_conteudo_do_arquivo_data('EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'),
162
162
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
163
163
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAdmissao/trabalhador/trabEstrangeiro/dtChegada']],
164
164
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAdmissao/trabalhador/trabEstrangeiro/filhosBr']],
@@ -251,19 +251,19 @@ module Teodoro
251
251
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/descComp']],
252
252
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
253
253
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
254
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/uf']],
255
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/tpLograd']],
254
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf'),
255
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro'),
256
256
  ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
257
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/nrLograd']],
258
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/dscLograd']],
259
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/complemento']],
260
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/codMunic']],
261
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/cep']],
262
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/bairro']],
257
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro'),
258
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro'),
259
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento'),
260
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio'),
261
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep'),
262
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro'),
263
263
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/nrInsc']],
264
264
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/tpInsc']],
265
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/nrInsc']],
266
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/tpInsc']],
265
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'),
266
+ item_do_conteudo_do_arquivo_data('InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'),
267
267
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/hipLeg']],
268
268
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/justContr']],
269
269
  ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/tpInclContr']],
@@ -309,29 +309,99 @@ module Teodoro
309
309
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
310
310
  ]
311
311
  end.sum([])
312
+ # rubocop:enable Layout/LineLength
312
313
  ]
313
314
  end
314
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
315
315
 
316
- def condicao_de_ingresso_do_trabalhador_estrangeiro
317
- if leiaute_simplificado?
318
- MAPEAMENTO_DA_CONDICAO_DE_INGRESSO_DO_TRABALHADOR_IMIGRANTE
319
- .then do |mapeamento|
320
- mapeamento[evento['evtAdmissao/trabalhador/trabImig/condIng']] ||
321
- evento['evtAdmissao/trabalhador/trabImig/tmpResid']
322
- end
323
- else
324
- evento['evtAdmissao/trabalhador/trabEstrangeiro/classTrabEstrang']
316
+ def item_do_conteudo_do_arquivo_data(chave)
317
+ chaves_valores_de_acordo_com_a_versao_do_leiaute[chave]
318
+ end
319
+
320
+ def chaves_valores_de_acordo_com_a_versao_do_leiaute
321
+ @chaves_valores_de_acordo_com_a_versao_do_leiaute ||=
322
+ (leiaute_simplificado? ? ChavesValoresDoLeiauteSimplificado : ChavesValoresDoLeiaute2).new(evento)
323
+ end
324
+
325
+ module ChavesValores
326
+ private
327
+
328
+ def initialize(evento)
329
+ @evento = evento
330
+ end
331
+
332
+ attr_reader :evento
333
+
334
+ public
335
+
336
+ def [](chave)
337
+ de_chave_para_chave_valor[chave]
338
+ end
339
+
340
+ private
341
+
342
+ def de_chave_para_chave_valor
343
+ @de_chave_para_chave_valor ||=
344
+ itens_do_conteudo_do_arquivo_data.map { |chave, valor| [chave, [chave, valor]] }.to_h
325
345
  end
326
346
  end
327
347
 
328
- MAPEAMENTO_DA_CONDICAO_DE_INGRESSO_DO_TRABALHADOR_IMIGRANTE = {
329
- '1' => 4,
330
- '2' => 5,
331
- '4' => 10,
332
- '5' => 11,
333
- '6' => 12
334
- }.freeze
348
+ class ChavesValoresDoLeiaute2
349
+ include ChavesValores
350
+
351
+ private
352
+
353
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
354
+ [
355
+ # rubocop:disable Layout/LineLength
356
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAdmissao/trabalhador/trabEstrangeiro/classTrabEstrang']],
357
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/uf']],
358
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/tpLograd']],
359
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/nrLograd']],
360
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/dscLograd']],
361
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/complemento']],
362
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/codMunic']],
363
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/cep']],
364
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTrabDom/bairro']],
365
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/nrInsc']],
366
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideTomadorServ/ideEstabVinc/tpInsc']]
367
+ # rubocop:enable Layout/LineLength
368
+ ]
369
+ end
370
+ end
371
+
372
+ class ChavesValoresDoLeiauteSimplificado
373
+ include ChavesValores
374
+
375
+ private
376
+
377
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
378
+ [
379
+ # rubocop:disable Layout/LineLength
380
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', condicao_de_ingresso_do_trabalhador_imigrante],
381
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/uf']],
382
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/tpLograd']],
383
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/nrLograd']],
384
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/dscLograd']],
385
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/complemento']],
386
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/codMunic']],
387
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/cep']],
388
+ ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro', evento['evtAdmissao/vinculo/infoContrato/localTrabalho/localTempDom/bairro']],
389
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/nrInsc']],
390
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao', evento['evtAdmissao/vinculo/infoRegimeTrab/infoCeletista/trabTemporario/ideEstabVinc/tpInsc']]
391
+ # rubocop:enable Layout/LineLength
392
+ ]
393
+ end
394
+
395
+ def condicao_de_ingresso_do_trabalhador_imigrante
396
+ {
397
+ '1' => 4,
398
+ '2' => 5,
399
+ '4' => 10,
400
+ '5' => 11,
401
+ '6' => 12
402
+ }[evento['evtAdmissao/trabalhador/trabImig/condIng']] || evento['evtAdmissao/trabalhador/trabImig/tmpResid']
403
+ end
404
+ end
335
405
  end
336
406
  end
337
407
  end
@@ -10,11 +10,10 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
13
  @nome_do_arquivo_data ||= [
15
14
  'TRA',
16
15
  "[#{cpf_do_trabalhador}]",
17
- "[EPG_#{matricula_do_trabalhador}_dataDeAdmissao]",
16
+ "[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
18
17
  "-ACO[#{data_da_alteracao.delete('-')}]"
19
18
  ].join
20
19
  end
@@ -27,6 +26,18 @@ module Teodoro
27
26
  @matricula_do_trabalhador ||= evento['evtAltContratual/ideVinculo/matricula']
28
27
  end
29
28
 
29
+ def data_de_admissao
30
+ admissao.data
31
+ end
32
+
33
+ def admissao
34
+ @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
35
+ end
36
+
37
+ def admissoes_por_matricula
38
+ empresa.admissoes_por_matricula
39
+ end
40
+
30
41
  def data_da_alteracao
31
42
  evento['evtAltContratual/altContratual/dtAlteracao']
32
43
  end
@@ -38,7 +49,7 @@ module Teodoro
38
49
  ['ESX_MATRICULA', matricula_do_trabalhador],
39
50
  ['ESX_CATEGORIA', categoria_do_trabalhador],
40
51
  %w[ESX_SEMVINCULO 0],
41
- ['ESX_DATAADMISSAO'], # FIXME: Tales
52
+ ['ESX_DATAADMISSAO', data_de_admissao],
42
53
  ['ESX_DATAALTERACAO', data_da_alteracao],
43
54
  ['cpfTrabalhador', cpf_do_trabalhador],
44
55
  ['nomeTrabalhador'],
@@ -10,8 +10,8 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
- @nome_do_arquivo_data ||= "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-AVI"
13
+ @nome_do_arquivo_data ||=
14
+ "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-AVI"
15
15
  end
16
16
 
17
17
  def cpf_do_trabalhador
@@ -22,14 +22,26 @@ module Teodoro
22
22
  @matricula_do_trabalhador ||= evento['evtAvPrevio/ideVinculo/matricula']
23
23
  end
24
24
 
25
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
26
- def itens_do_conteudo_do_arquivo_data
25
+ def data_de_admissao
26
+ admissao.data
27
+ end
28
+
29
+ def admissao
30
+ @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
31
+ end
32
+
33
+ def admissoes_por_matricula
34
+ empresa.admissoes_por_matricula
35
+ end
36
+
37
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
27
38
  [
39
+ # rubocop:disable Layout/LineLength
28
40
  ['ESX_CPF', cpf_do_trabalhador],
29
41
  ['ESX_MATRICULA', matricula_do_trabalhador],
30
- ['ESX_CATEGORIA'], # FIXME: Tales
42
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
31
43
  %w[ESX_SEMVINCULO 0],
32
- ['ESX_DATAADMISSAO'], # FIXME: Tales
44
+ ['ESX_DATAADMISSAO', data_de_admissao],
33
45
  ['OperacaoAvisoPrevio'],
34
46
  ['MostrarCancelamento'],
35
47
  ['MostrarAvisoPrevio'],
@@ -54,9 +66,13 @@ module Teodoro
54
66
  ['RequestVerificationToken'],
55
67
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
56
68
  ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']]
69
+ # rubocop:enable Layout/LineLength
57
70
  ]
58
71
  end
59
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
72
+
73
+ def categoria_do_trabalhador
74
+ admissao.categoria_do_trabalhador
75
+ end
60
76
  end
61
77
  end
62
78
  end
@@ -10,8 +10,8 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeAdmissao
14
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-GER"
13
+ @nome_do_arquivo_data ||=
14
+ "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER"
15
15
  end
16
16
 
17
17
  def cpf_do_trabalhador
@@ -22,6 +22,18 @@ module Teodoro
22
22
  @matricula_do_trabalhador ||= evento['evtDeslig/ideVinculo/matricula']
23
23
  end
24
24
 
25
+ def data_de_admissao
26
+ admissao.data
27
+ end
28
+
29
+ def admissao
30
+ @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
31
+ end
32
+
33
+ def admissoes_por_matricula
34
+ empresa.admissoes_por_matricula
35
+ end
36
+
25
37
  # rubocop:disable Metrics/MethodLength, Layout/LineLength
26
38
  def itens_do_conteudo_do_arquivo_data
27
39
  [
@@ -293,18 +305,6 @@ module Teodoro
293
305
  def categoria_do_trabalhador
294
306
  admissao.categoria_do_trabalhador
295
307
  end
296
-
297
- def admissao
298
- @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
299
- end
300
-
301
- def admissoes_por_matricula
302
- empresa.admissoes_por_matricula
303
- end
304
-
305
- def data_de_admissao
306
- admissao.data
307
- end
308
308
  end
309
309
  end
310
310
  end
@@ -12,15 +12,15 @@ module Teodoro
12
12
  private
13
13
 
14
14
  def registrar_contrato_de_trabalhador_sem_vinculo
15
- contratos_de_trabalhador_sem_vinculo << Obj.new(
15
+ contratos_de_trabalhado_sem_vinculo << Obj.new(
16
16
  cpf_do_trabalhador: cpf_do_trabalhador,
17
17
  categoria_do_trabalhador: categoria_do_trabalhador,
18
18
  data_de_inicio: data_de_inicio
19
19
  )
20
20
  end
21
21
 
22
- def contratos_de_trabalhador_sem_vinculo
23
- empresa.contratos_de_trabalhador_sem_vinculo
22
+ def contratos_de_trabalhado_sem_vinculo
23
+ empresa.contratos_de_trabalhado_sem_vinculo
24
24
  end
25
25
 
26
26
  def noh_principal_do_evento
@@ -28,7 +28,8 @@ module Teodoro
28
28
  end
29
29
 
30
30
  def nome_do_arquivo_data
31
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM"
31
+ @nome_do_arquivo_data ||=
32
+ "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM"
32
33
  end
33
34
 
34
35
  def cpf_do_trabalhador
@@ -10,8 +10,12 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- # FIXME: Tales dataDeInicio
14
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_dataDeInicio]-ACO[#{data_da_alteracao.delete('-')}]"
13
+ @nome_do_arquivo_data ||= [
14
+ 'TRA',
15
+ "[#{cpf_do_trabalhador}]",
16
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]",
17
+ "-ACO[#{data_da_alteracao.delete('-')}]"
18
+ ].join
15
19
  end
16
20
 
17
21
  def cpf_do_trabalhador
@@ -22,18 +26,34 @@ module Teodoro
22
26
  evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']
23
27
  end
24
28
 
29
+ def data_de_inicio
30
+ contrato_de_trabalho.data_de_inicio
31
+ end
32
+
33
+ def contrato_de_trabalho
34
+ contratos_de_trabalhado_sem_vinculo[
35
+ cpf_do_trabalhador: cpf_do_trabalhador,
36
+ categoria_do_trabalhador: categoria_do_trabalhador,
37
+ data: data_da_alteracao
38
+ ]
39
+ end
40
+
41
+ def contratos_de_trabalhado_sem_vinculo
42
+ empresa.contratos_de_trabalhado_sem_vinculo
43
+ end
44
+
25
45
  def data_da_alteracao
26
46
  evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']
27
47
  end
28
48
 
29
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
30
- def itens_do_conteudo_do_arquivo_data
49
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
31
50
  [
51
+ # rubocop:disable Layout/LineLength
32
52
  ['ESX_CPF', evento['evtTSVAltContr/ideTrabSemVinculo/cpfTrab']],
33
53
  ['ESX_MATRICULA'],
34
54
  ['ESX_CATEGORIA', evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']],
35
55
  %w[ESX_SEMVINCULO 1],
36
- ['ESX_DATAADMISSAO'], # FIXME: Tales
56
+ ['ESX_DATAADMISSAO', data_de_inicio],
37
57
  ['ESX_DATAALTERACAO', evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']],
38
58
  ['cpfTrabalhador'],
39
59
  ['nomeTrabalhador'],
@@ -159,9 +179,9 @@ module Teodoro
159
179
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/nivEstagio']],
160
180
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/nrApol']],
161
181
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/vlrBolsa']]
182
+ # rubocop:enable Layout/LineLength
162
183
  ]
163
184
  end
164
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
165
185
  end
166
186
  end
167
187
  end
@@ -10,7 +10,8 @@ module Teodoro
10
10
  end
11
11
 
12
12
  def nome_do_arquivo_data
13
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER"
13
+ @nome_do_arquivo_data ||=
14
+ "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER"
14
15
  end
15
16
 
16
17
  def cpf_do_trabalhador
@@ -26,15 +27,15 @@ module Teodoro
26
27
  end
27
28
 
28
29
  def contrato_de_trabalho
29
- contratos_de_trabalhador_sem_vinculo[
30
+ contratos_de_trabalhado_sem_vinculo[
30
31
  cpf_do_trabalhador: cpf_do_trabalhador,
31
32
  categoria_do_trabalhador: categoria_do_trabalhador,
32
33
  data: data_do_termino
33
34
  ]
34
35
  end
35
36
 
36
- def contratos_de_trabalhador_sem_vinculo
37
- empresa.contratos_de_trabalhador_sem_vinculo
37
+ def contratos_de_trabalhado_sem_vinculo
38
+ empresa.contratos_de_trabalhado_sem_vinculo
38
39
  end
39
40
 
40
41
  def data_do_termino
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales