teodoro 0.0.13 → 0.0.14

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.
@@ -27,24 +27,24 @@ module Teodoro
27
27
  end
28
28
 
29
29
  def data_de_admissao
30
- admissao.data
30
+ contrato_de_emprego.data_de_admissao
31
31
  end
32
32
 
33
- def admissao
34
- @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
33
+ def contrato_de_emprego
34
+ contratos_de_emprego[matricula_do_trabalhador]
35
35
  end
36
36
 
37
- def admissoes_por_matricula
38
- empresa.admissoes_por_matricula
37
+ def contratos_de_emprego
38
+ empresa.contratos_de_emprego
39
39
  end
40
40
 
41
41
  def data_da_alteracao
42
42
  evento['evtAltContratual/altContratual/dtAlteracao']
43
43
  end
44
44
 
45
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
46
- def itens_do_conteudo_do_arquivo_data
45
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
47
46
  [
47
+ # rubocop:disable Layout/LineLength
48
48
  ['ESX_CPF', cpf_do_trabalhador],
49
49
  ['ESX_MATRICULA', matricula_do_trabalhador],
50
50
  ['ESX_CATEGORIA', categoria_do_trabalhador],
@@ -186,9 +186,9 @@ module Teodoro
186
186
  ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
187
187
  ]
188
188
  end.sum([])
189
+ # rubocop:enable Layout/LineLength
189
190
  ]
190
191
  end
191
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
192
192
 
193
193
  def categoria_do_trabalhador
194
194
  @categoria_do_trabalhador ||= evento['evtAltContratual/altContratual/infoContrato/codCateg']
@@ -10,9 +10,9 @@ 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
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_dataDeAdmissao]-",
14
+ "TRA[#{cpf_do_trabalhador}]",
15
+ "[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
16
16
  fim_do_afastamento? ? 'TAF' : 'IAF',
17
17
  '[',
18
18
  inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
@@ -26,16 +26,52 @@ module Teodoro
26
26
  evento['evtAfastTemp/ideVinculo/cpfTrab']
27
27
  end
28
28
 
29
+ def empregado?
30
+ matricula_do_trabalhador
31
+ end
32
+
29
33
  def matricula_do_trabalhador
30
- evento['evtAfastTemp/ideVinculo/matricula']
34
+ @matricula_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/matricula']
31
35
  end
32
36
 
33
- def fim_do_afastamento?
34
- fim_do_afastamento
37
+ def nome_do_arquivo_data_identif_do_empregado
38
+ "EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}"
35
39
  end
36
40
 
37
- def fim_do_afastamento
38
- @fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
41
+ def data_de_admissao
42
+ contrato_de_emprego.data_de_admissao
43
+ end
44
+
45
+ def contrato_de_emprego
46
+ contratos_de_emprego[matricula_do_trabalhador]
47
+ end
48
+
49
+ def contratos_de_emprego
50
+ empresa.contratos_de_emprego
51
+ end
52
+
53
+ def nome_do_arquivo_data_identif_do_tsv
54
+ "TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
55
+ end
56
+
57
+ def categoria_do_trabalhador
58
+ @categoria_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/codCateg']
59
+ end
60
+
61
+ def data_de_inicio_do_contrato_de_trabalho
62
+ contrato_de_trabalho_sem_vinculo.data_de_inicio
63
+ end
64
+
65
+ def contrato_de_trabalho_sem_vinculo
66
+ contratos_de_trabalho_sem_vinculo[
67
+ cpf_do_trabalhador: cpf_do_trabalhador,
68
+ categoria_do_trabalhador: categoria_do_trabalhador,
69
+ data: inicio_do_afastamento? ? data_de_inicio_do_afastamento : data_de_termino_do_afastamento
70
+ ]
71
+ end
72
+
73
+ def contratos_de_trabalho_sem_vinculo
74
+ empresa.contratos_de_trabalho_sem_vinculo
39
75
  end
40
76
 
41
77
  def inicio_do_afastamento?
@@ -54,12 +90,20 @@ module Teodoro
54
90
  fim_do_afastamento['dtTermAfast']
55
91
  end
56
92
 
57
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
58
- def itens_do_conteudo_do_arquivo_data
93
+ def fim_do_afastamento
94
+ @fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
95
+ end
96
+
97
+ def fim_do_afastamento?
98
+ fim_do_afastamento
99
+ end
100
+
101
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
59
102
  [
103
+ # rubocop:disable Layout/LineLength
60
104
  ['ESX_CPF', evento['evtAfastTemp/ideVinculo/cpfTrab']],
61
105
  ['ESX_MATRICULA', evento['evtAfastTemp/ideVinculo/matricula']],
62
- ['ESX_CATEGORIA', evento['evtAfastTemp/ideVinculo/codCateg']],
106
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
63
107
  ['ESX_DATAADMISSAO'],
64
108
  %w[ESX_SEMVINCULO 0],
65
109
  ['ESX_INICIO', evento['evtAfastTemp/infoAfastamento/iniAfastamento/dtIniAfast']],
@@ -139,9 +183,9 @@ module Teodoro
139
183
  ["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_DescricaoOrgaoClasse"]
140
184
  ]
141
185
  end.sum([])
186
+ # rubocop:enable Layout/LineLength
142
187
  ]
143
188
  end
144
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
145
189
  end
146
190
  end
147
191
  end
@@ -23,15 +23,15 @@ module Teodoro
23
23
  end
24
24
 
25
25
  def data_de_admissao
26
- admissao.data
26
+ contrato_de_emprego.data_de_admissao
27
27
  end
28
28
 
29
- def admissao
30
- @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
29
+ def contrato_de_emprego
30
+ @contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
31
31
  end
32
32
 
33
- def admissoes_por_matricula
34
- empresa.admissoes_por_matricula
33
+ def contratos_de_emprego
34
+ empresa.contratos_de_emprego
35
35
  end
36
36
 
37
37
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
@@ -71,7 +71,7 @@ module Teodoro
71
71
  end
72
72
 
73
73
  def categoria_do_trabalhador
74
- admissao.categoria_do_trabalhador
74
+ contrato_de_emprego.categoria_do_trabalhador
75
75
  end
76
76
  end
77
77
  end
@@ -3,6 +3,8 @@ module Teodoro
3
3
  class ArquivoS2299 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
+ # FIXME: Tales registrar na empresa
7
+
6
8
  private
7
9
 
8
10
  def noh_principal_do_evento
@@ -23,20 +25,20 @@ module Teodoro
23
25
  end
24
26
 
25
27
  def data_de_admissao
26
- admissao.data
28
+ contrato_de_emprego.data_de_admissao
27
29
  end
28
30
 
29
- def admissao
30
- @admissao ||= admissoes_por_matricula[matricula_do_trabalhador]
31
+ def contrato_de_emprego
32
+ @contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
31
33
  end
32
34
 
33
- def admissoes_por_matricula
34
- empresa.admissoes_por_matricula
35
+ def contratos_de_emprego
36
+ empresa.contratos_de_emprego
35
37
  end
36
38
 
37
- # rubocop:disable Metrics/MethodLength, Layout/LineLength
38
- def itens_do_conteudo_do_arquivo_data
39
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
39
40
  [
41
+ # rubocop:disable Layout/LineLength
40
42
  ['ESX_CPF', cpf_do_trabalhador],
41
43
  ['ESX_MATRICULA', matricula_do_trabalhador],
42
44
  ['ESX_CATEGORIA'],
@@ -288,14 +290,15 @@ module Teodoro
288
290
  ['Horarios_#_CodigoHorarioContratual'],
289
291
  ['Horarios_#_Dia'],
290
292
  ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
293
+ # rubocop:enable Layout/LineLength
291
294
  ]
292
295
  end
293
- # rubocop:enable Metrics/MethodLength, Layout/LineLength
294
296
 
295
297
  def identificador_do_demonstrativo
296
298
  evento['evtDeslig/infoDeslig/verbasResc']&.then do |verbas|
297
299
  verbas.*('dmDev').then do |demonstrativos|
298
- raise if demonstrativos.size > 1
300
+ puts "\n \e[33mmais de um demonstrativo (considerado apenas o primeiro)\e[0m" if
301
+ demonstrativos.size > 1 # yellow
299
302
 
300
303
  demonstrativos[0]['ideDmDev']
301
304
  end
@@ -303,7 +306,7 @@ module Teodoro
303
306
  end
304
307
 
305
308
  def categoria_do_trabalhador
306
- admissao.categoria_do_trabalhador
309
+ contrato_de_emprego.categoria_do_trabalhador
307
310
  end
308
311
  end
309
312
  end
@@ -12,15 +12,15 @@ module Teodoro
12
12
  private
13
13
 
14
14
  def registrar_contrato_de_trabalhador_sem_vinculo
15
- contratos_de_trabalhado_sem_vinculo << Obj.new(
15
+ contratos_de_trabalho_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_trabalhado_sem_vinculo
23
- empresa.contratos_de_trabalhado_sem_vinculo
22
+ def contratos_de_trabalho_sem_vinculo
23
+ empresa.contratos_de_trabalho_sem_vinculo
24
24
  end
25
25
 
26
26
  def noh_principal_do_evento
@@ -44,9 +44,9 @@ module Teodoro
44
44
  evento['evtTSVInicio/infoTSVInicio/dtInicio']
45
45
  end
46
46
 
47
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
48
- def itens_do_conteudo_do_arquivo_data
47
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
49
48
  [
49
+ # rubocop:disable Layout/LineLength
50
50
  ['ESX_CPF', evento['evtTSVInicio/trabalhador/cpfTrab']],
51
51
  ['ESX_MATRICULA'],
52
52
  ['ESX_CATEGORIA', evento['evtTSVInicio/infoTSVInicio/codCateg']],
@@ -295,9 +295,9 @@ module Teodoro
295
295
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
296
296
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
297
297
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['evtTSVInicio/infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa']]
298
+ # rubocop:enable Layout/LineLength
298
299
  ]
299
300
  end
300
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
301
301
  end
302
302
  end
303
303
  end
@@ -31,15 +31,15 @@ module Teodoro
31
31
  end
32
32
 
33
33
  def contrato_de_trabalho
34
- contratos_de_trabalhado_sem_vinculo[
34
+ contratos_de_trabalho_sem_vinculo[
35
35
  cpf_do_trabalhador: cpf_do_trabalhador,
36
36
  categoria_do_trabalhador: categoria_do_trabalhador,
37
37
  data: data_da_alteracao
38
38
  ]
39
39
  end
40
40
 
41
- def contratos_de_trabalhado_sem_vinculo
42
- empresa.contratos_de_trabalhado_sem_vinculo
41
+ def contratos_de_trabalho_sem_vinculo
42
+ empresa.contratos_de_trabalho_sem_vinculo
43
43
  end
44
44
 
45
45
  def data_da_alteracao
@@ -3,6 +3,8 @@ module Teodoro
3
3
  class ArquivoS2399 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
+ # FIXME: Tales registrar termino na empresa
7
+
6
8
  private
7
9
 
8
10
  def noh_principal_do_evento
@@ -27,24 +29,24 @@ module Teodoro
27
29
  end
28
30
 
29
31
  def contrato_de_trabalho
30
- contratos_de_trabalhado_sem_vinculo[
32
+ contratos_de_trabalho_sem_vinculo[
31
33
  cpf_do_trabalhador: cpf_do_trabalhador,
32
34
  categoria_do_trabalhador: categoria_do_trabalhador,
33
35
  data: data_do_termino
34
36
  ]
35
37
  end
36
38
 
37
- def contratos_de_trabalhado_sem_vinculo
38
- empresa.contratos_de_trabalhado_sem_vinculo
39
+ def contratos_de_trabalho_sem_vinculo
40
+ empresa.contratos_de_trabalho_sem_vinculo
39
41
  end
40
42
 
41
43
  def data_do_termino
42
44
  @data_do_termino ||= evento['evtTSVTermino/infoTSVTermino/dtTerm']
43
45
  end
44
46
 
45
- # rubocop:disable Metrics/MethodLength, Layout/LineLength
46
- def itens_do_conteudo_do_arquivo_data
47
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
47
48
  [
49
+ # rubocop:disable Layout/LineLength
48
50
  ['ESX_CPF', cpf_do_trabalhador],
49
51
  ['ESX_MATRICULA'],
50
52
  ['ESX_CATEGORIA', categoria_do_trabalhador],
@@ -296,9 +298,9 @@ module Teodoro
296
298
  ['Horarios_#_CodigoHorarioContratual'],
297
299
  ['Horarios_#_Dia'],
298
300
  ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
301
+ # rubocop:enable Layout/LineLength
299
302
  ]
300
303
  end
301
- # rubocop:enable Metrics/MethodLength, Layout/LineLength
302
304
  end
303
305
  end
304
306
  end
@@ -1,7 +1,7 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
3
  class ArquivoS3000
4
- include ArquivoDeEvento
4
+ include ArquivoDeEventoProcessadorDeArquivoData
5
5
 
6
6
  def processar
7
7
  excluir_arquivo_data_original if tipo_de_evento_processavel?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2021-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -177,6 +177,7 @@ files:
177
177
  - lib/teodoro/arquivo_de_evento_de_tabela.rb
178
178
  - lib/teodoro/arquivo_de_evento_exceto_de_exclusao.rb
179
179
  - lib/teodoro/arquivo_de_evento_nao_periodico.rb
180
+ - lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb
180
181
  - lib/teodoro/arquivo_de_origem.rb
181
182
  - lib/teodoro/arquivo_xml.rb
182
183
  - lib/teodoro/cnpj.rb