teodoro 0.56.0 → 0.57.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/teodoro/arquivo_data.rb +21 -4
- data/lib/teodoro/leiaute/arquivo_s2206.rb +60 -9
- data/lib/teodoro/version.rb +1 -1
- metadata +1 -1
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
|
@@ -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