teodoro 0.55.0 → 0.57.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/arquivo_data.rb +21 -4
- data/lib/teodoro/leiaute/arquivo_s2190.rb +12 -3
- data/lib/teodoro/leiaute/arquivo_s2206.rb +60 -9
- data/lib/teodoro/version.rb +1 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56a0a9ea08c727e51af1ad7ab25e85f6f44d242d3e56df6546c20af507a3a30b
|
4
|
+
data.tar.gz: 2be796ade8a85a2cfb60d5bd481dd6001334bccb74cc60a6d23270d050c602ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4656a0a0368f47fc95fa17ac979dcdd3713e10215483d2f128d94a30390994bb367e47450936bf038e804bbbb3186db22b011d9a6f7422803f76b5ea870f718
|
7
|
+
data.tar.gz: 8405d84219846d91dd01a98436b7cb6b61d16656e0a3295a63b825556ce0c5fc3ee1eaf1bdb48eef5af6167ad8ce693209c0efab8e83fe4b826a23e5a952be23
|
data/lib/teodoro/arquivo_data.rb
CHANGED
@@ -48,10 +48,11 @@ module Teodoro
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def chaves_valores_do_arquivo_original
|
51
|
-
@chaves_valores_do_arquivo_original ||=
|
52
|
-
|
53
|
-
|
54
|
-
|
51
|
+
@chaves_valores_do_arquivo_original ||= arquivo_original.chaves_valores
|
52
|
+
end
|
53
|
+
|
54
|
+
def arquivo_original
|
55
|
+
Original.new(caminho)
|
55
56
|
end
|
56
57
|
|
57
58
|
def caminho
|
@@ -179,5 +180,21 @@ module Teodoro
|
|
179
180
|
end
|
180
181
|
end
|
181
182
|
end
|
183
|
+
|
184
|
+
class Original
|
185
|
+
def initialize(caminho)
|
186
|
+
@caminho = caminho
|
187
|
+
end
|
188
|
+
|
189
|
+
def chaves_valores
|
190
|
+
File
|
191
|
+
.readlines(caminho)
|
192
|
+
.to_h { _1.match(/^(.+)=(.*)$/)[1..2] }
|
193
|
+
end
|
194
|
+
|
195
|
+
private
|
196
|
+
|
197
|
+
attr_reader :caminho
|
198
|
+
end
|
182
199
|
end
|
183
200
|
end
|
@@ -5,17 +5,18 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
8
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
9
9
|
[
|
10
10
|
Obj.new(
|
11
11
|
operacao: :inclusao,
|
12
|
-
nome: "PRE[#{cpf_do_trabalhador}]",
|
12
|
+
nome: "PRE[#{cpf_do_trabalhador}][#{data_de_admissao.delete('-')}][#{matricula}]",
|
13
13
|
itens_do_conteudo: [
|
14
14
|
['NrRecibo', recibo['recibo/nrRecibo']],
|
15
15
|
['CPF', cpf_do_trabalhador],
|
16
16
|
['Nome', cpf_do_trabalhador.then { "#{_1[0..2]}.#{_1[3..5]}.#{_1[6..8]}-#{_1[9..10]}" }],
|
17
17
|
['DataNascimento', evento['infoRegPrelim/dtNascto'], :data],
|
18
|
-
['DataAdmissao',
|
18
|
+
['DataAdmissao', data_de_admissao, :data],
|
19
|
+
['Matricula', matricula],
|
19
20
|
['IdEvento', id_do_evento]
|
20
21
|
]
|
21
22
|
)
|
@@ -25,6 +26,14 @@ module Teodoro
|
|
25
26
|
def cpf_do_trabalhador
|
26
27
|
@cpf_do_trabalhador ||= evento['infoRegPrelim/cpfTrab']
|
27
28
|
end
|
29
|
+
|
30
|
+
def data_de_admissao
|
31
|
+
@data_de_admissao ||= evento['infoRegPrelim/dtAdm']
|
32
|
+
end
|
33
|
+
|
34
|
+
def matricula
|
35
|
+
@matricula ||= evento['infoRegPrelim/matricula']
|
36
|
+
end
|
28
37
|
end
|
29
38
|
end
|
30
39
|
end
|
@@ -6,11 +6,54 @@ module Teodoro
|
|
6
6
|
private
|
7
7
|
|
8
8
|
def salvar_arquivos_data
|
9
|
+
deletar_arquivo_data_de_alteracao_contratual_original if deletar_arquivo_data_de_alteracao_contratual_original?
|
10
|
+
|
9
11
|
super
|
10
12
|
|
11
13
|
empresa.contratos_de_emprego.registrar_alteracao_contratual(alteracao_contratual)
|
12
14
|
end
|
13
15
|
|
16
|
+
def deletar_arquivo_data_de_alteracao_contratual_original?
|
17
|
+
ja_existe_o_arquivo_data_de_alteracao_contratual? && data_dos_efeitos_remuneratorios_diferente?
|
18
|
+
end
|
19
|
+
|
20
|
+
def ja_existe_o_arquivo_data_de_alteracao_contratual?
|
21
|
+
File.exist?(caminho_do_arquivo_data_de_alteracao_contratual)
|
22
|
+
end
|
23
|
+
|
24
|
+
def caminho_do_arquivo_data_de_alteracao_contratual
|
25
|
+
@caminho_do_arquivo_data_de_alteracao_contratual ||=
|
26
|
+
ArquivoData::Caminho.new(
|
27
|
+
diretorio: empresa.destino_dos_arquivos_data,
|
28
|
+
nome_do_arquivo: leiaute.nome_do_arquivo_data_de_alteracao_contratual
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
def data_dos_efeitos_remuneratorios_diferente?
|
33
|
+
data_dos_efeitos_remuneratorios_do_arquivo_data_de_alteracao_contratual_original !=
|
34
|
+
data_dos_efeitos_remuneratorios
|
35
|
+
end
|
36
|
+
|
37
|
+
def data_dos_efeitos_remuneratorios_do_arquivo_data_de_alteracao_contratual_original
|
38
|
+
arquivo_data_de_alteracao_contratual_original
|
39
|
+
.chaves_valores
|
40
|
+
.then { _1['AlteracaoContratual_DataEfeito'] }
|
41
|
+
&.then { _1.match(%r{^(\d{2})/(\d{2})/(\d{4})$}) }
|
42
|
+
&.then { "#{_1[3]}-#{_1[2]}-#{_1[1]}" }
|
43
|
+
end
|
44
|
+
|
45
|
+
def arquivo_data_de_alteracao_contratual_original
|
46
|
+
ArquivoData::Original.new(caminho_do_arquivo_data_de_alteracao_contratual)
|
47
|
+
end
|
48
|
+
|
49
|
+
def data_dos_efeitos_remuneratorios
|
50
|
+
leiaute.data_dos_efeitos_remuneratorios
|
51
|
+
end
|
52
|
+
|
53
|
+
def deletar_arquivo_data_de_alteracao_contratual_original
|
54
|
+
File.delete(caminho_do_arquivo_data_de_alteracao_contratual)
|
55
|
+
end
|
56
|
+
|
14
57
|
def alteracao_contratual
|
15
58
|
leiaute.alteracao_contratual
|
16
59
|
end
|
@@ -36,16 +79,11 @@ module Teodoro
|
|
36
79
|
)
|
37
80
|
end
|
38
81
|
|
39
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
82
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
40
83
|
[
|
41
84
|
Obj.new(
|
42
85
|
operacao: :inclusao,
|
43
|
-
nome:
|
44
|
-
'TRA',
|
45
|
-
"[#{cpf_do_trabalhador}]",
|
46
|
-
"[EPG_#{alteracao_contratual.matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
47
|
-
"-ACO[#{data_da_alteracao.delete('-')}]"
|
48
|
-
].join,
|
86
|
+
nome: nome_do_arquivo_data_de_alteracao_contratual,
|
49
87
|
itens_do_conteudo: itens_do_conteudo
|
50
88
|
),
|
51
89
|
Obj.new(
|
@@ -67,6 +105,19 @@ module Teodoro
|
|
67
105
|
]
|
68
106
|
end
|
69
107
|
|
108
|
+
def nome_do_arquivo_data_de_alteracao_contratual
|
109
|
+
@nome_do_arquivo_data_de_alteracao_contratual ||= [
|
110
|
+
'TRA',
|
111
|
+
"[#{cpf_do_trabalhador}]",
|
112
|
+
"[EPG_#{alteracao_contratual.matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
113
|
+
"-ACO[#{data_da_alteracao.delete('-')}]"
|
114
|
+
].join
|
115
|
+
end
|
116
|
+
|
117
|
+
def data_dos_efeitos_remuneratorios
|
118
|
+
@data_dos_efeitos_remuneratorios ||= evento['altContratual/dtEf']
|
119
|
+
end
|
120
|
+
|
70
121
|
private
|
71
122
|
|
72
123
|
def cpf_do_trabalhador
|
@@ -117,7 +168,7 @@ module Teodoro
|
|
117
168
|
['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
|
118
169
|
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
119
170
|
['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
|
120
|
-
['AlteracaoContratual_DataEfeito',
|
171
|
+
['AlteracaoContratual_DataEfeito', data_dos_efeitos_remuneratorios, :data],
|
121
172
|
['AlteracaoContratual_DescricaoAlteracao', evento['altContratual/dscAlt']],
|
122
173
|
['IdentificacaoVinculo_Nis', evento['ideVinculo/nisTrab']],
|
123
174
|
['IdEventoXml', id_do_evento],
|
@@ -185,7 +236,7 @@ module Teodoro
|
|
185
236
|
['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
|
186
237
|
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
187
238
|
['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
|
188
|
-
['AlteracaoContratual_DataEfeito',
|
239
|
+
['AlteracaoContratual_DataEfeito', data_dos_efeitos_remuneratorios, :data],
|
189
240
|
['AlteracaoContratual_DescricaoAlteracao', evento['altContratual/dscAlt']],
|
190
241
|
['IdentificacaoVinculo_Nis', evento['ideVinculo/nisTrab']],
|
191
242
|
['IdEventoXml', id_do_evento],
|
data/lib/teodoro/version.rb
CHANGED
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.
|
4
|
+
version: 0.57.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fortes Tecnologia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-02-
|
11
|
+
date: 2023-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: bundler
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
description:
|
84
70
|
email:
|
85
71
|
executables:
|