teodoro 0.0.12 → 0.0.13

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 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