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.
- checksums.yaml +4 -4
- data/lib/teodoro/arquivo_de_evento.rb +13 -18
- data/lib/teodoro/arquivo_de_evento_exceto_de_exclusao.rb +1 -5
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +0 -4
- data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +30 -0
- data/lib/teodoro/arquivo_xml.rb +5 -1
- data/lib/teodoro/empresa.rb +40 -8
- data/lib/teodoro/leiaute/arquivo_s1000.rb +4 -6
- data/lib/teodoro/leiaute/arquivo_s1005.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1010.rb +1 -3
- data/lib/teodoro/leiaute/arquivo_s1020.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1030.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1040.rb +1 -3
- data/lib/teodoro/leiaute/arquivo_s1050.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1070.rb +1 -3
- data/lib/teodoro/leiaute/arquivo_s2200.rb +7 -5
- data/lib/teodoro/leiaute/arquivo_s2205.rb +233 -136
- data/lib/teodoro/leiaute/arquivo_s2206.rb +8 -8
- data/lib/teodoro/leiaute/arquivo_s2230.rb +55 -11
- data/lib/teodoro/leiaute/arquivo_s2250.rb +6 -6
- data/lib/teodoro/leiaute/arquivo_s2299.rb +13 -10
- data/lib/teodoro/leiaute/arquivo_s2300.rb +6 -6
- data/lib/teodoro/leiaute/arquivo_s2306.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2399.rb +8 -6
- data/lib/teodoro/leiaute/arquivo_s3000.rb +1 -1
- metadata +3 -2
@@ -27,24 +27,24 @@ module Teodoro
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def data_de_admissao
|
30
|
-
|
30
|
+
contrato_de_emprego.data_de_admissao
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
|
33
|
+
def contrato_de_emprego
|
34
|
+
contratos_de_emprego[matricula_do_trabalhador]
|
35
35
|
end
|
36
36
|
|
37
|
-
def
|
38
|
-
empresa.
|
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
|
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}]
|
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
|
34
|
-
|
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
|
38
|
-
|
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
|
-
|
58
|
-
|
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',
|
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
|
-
|
26
|
+
contrato_de_emprego.data_de_admissao
|
27
27
|
end
|
28
28
|
|
29
|
-
def
|
30
|
-
@
|
29
|
+
def contrato_de_emprego
|
30
|
+
@contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
empresa.
|
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
|
-
|
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
|
-
|
28
|
+
contrato_de_emprego.data_de_admissao
|
27
29
|
end
|
28
30
|
|
29
|
-
def
|
30
|
-
@
|
31
|
+
def contrato_de_emprego
|
32
|
+
@contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
|
31
33
|
end
|
32
34
|
|
33
|
-
def
|
34
|
-
empresa.
|
35
|
+
def contratos_de_emprego
|
36
|
+
empresa.contratos_de_emprego
|
35
37
|
end
|
36
38
|
|
37
|
-
# rubocop:disable Metrics/MethodLength
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
23
|
-
empresa.
|
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
|
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
|
-
|
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
|
42
|
-
empresa.
|
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
|
-
|
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
|
38
|
-
empresa.
|
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
|
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
|
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.
|
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-
|
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
|