teodoro 0.47.11 → 0.49.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_de_evento_de_tabela.rb +2 -2
- data/lib/teodoro/arquivo_xml.rb +9 -0
- data/lib/teodoro/empresa/arquivo_data_de_admissao_de_trabalhador_sem_vinculo.rb +39 -0
- data/lib/teodoro/empresa.rb +12 -0
- data/lib/teodoro/leiaute/arquivo_s1000.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2210.rb +2 -0
- data/lib/teodoro/leiaute/arquivo_s2240.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2300.rb +8 -3
- data/lib/teodoro/leiaute/arquivo_s2500.rb +148 -0
- data/lib/teodoro/leiaute/arquivo_s2501.rb +68 -0
- data/lib/teodoro/leiaute/arquivo_s3000.rb +2 -2
- data/lib/teodoro/leiaute/arquivo_s3500.rb +21 -0
- data/lib/teodoro/version.rb +1 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c59b0ea704cd0b7de3b45528c8fa6efb28629b4023733e8a0969fba6fcf1293
|
4
|
+
data.tar.gz: eaae2d034db36d9df086992286380475eea80af7dd51497c1518ab2072d95de9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e72bc89482a1bc6c01f54ee62abfe1c2f780bf995153fc6d4b328191f179023d49247c03c7c22c4c92746884a30f3641b0452eecdd581497ddfa7ecf99b58833
|
7
|
+
data.tar.gz: b94107ddaa32192d54945abd299694ea1d7be3e1c7538bdc23fe41fab933c3a4f5621127ec303f854ac07b434b0fda64ff5f965312fb87de4f2bed53e04b4789
|
@@ -116,8 +116,8 @@ module Teodoro
|
|
116
116
|
def nome_base_do_arquivo_data
|
117
117
|
identificacao[0] + identificacao[1..].map { "[#{_1}]" }
|
118
118
|
.join
|
119
|
-
.tr('àáäâãèéëẽêìíïîĩòóöôõùúüûũñç'.then{ _1 + _1.upcase },
|
120
|
-
'aaaaaeeeeeiiiiiooooouuuuunc'.then{ _1 + _1.upcase })
|
119
|
+
.tr('àáäâãèéëẽêìíïîĩòóöôõùúüûũñç'.then { _1 + _1.upcase },
|
120
|
+
'aaaaaeeeeeiiiiiooooouuuuunc'.then { _1 + _1.upcase })
|
121
121
|
end
|
122
122
|
end
|
123
123
|
end
|
data/lib/teodoro/arquivo_xml.rb
CHANGED
@@ -26,7 +26,10 @@ require_relative 'leiaute/arquivo_s2299'
|
|
26
26
|
require_relative 'leiaute/arquivo_s2300'
|
27
27
|
require_relative 'leiaute/arquivo_s2306'
|
28
28
|
require_relative 'leiaute/arquivo_s2399'
|
29
|
+
require_relative 'leiaute/arquivo_s2500'
|
30
|
+
require_relative 'leiaute/arquivo_s2501'
|
29
31
|
require_relative 'leiaute/arquivo_s3000'
|
32
|
+
require_relative 'leiaute/arquivo_s3500'
|
30
33
|
require_relative 'leiaute_simplificado'
|
31
34
|
require_relative 'xml'
|
32
35
|
|
@@ -56,7 +59,10 @@ module Teodoro
|
|
56
59
|
S2300
|
57
60
|
S2306
|
58
61
|
S2399
|
62
|
+
S2500
|
63
|
+
S2501
|
59
64
|
S3000
|
65
|
+
S3500
|
60
66
|
].freeze
|
61
67
|
|
62
68
|
TIPOS_DE_EVENTO_RETIFICAVEIS = %w[
|
@@ -73,6 +79,8 @@ module Teodoro
|
|
73
79
|
S2300
|
74
80
|
S2306
|
75
81
|
S2399
|
82
|
+
S2500
|
83
|
+
S2501
|
76
84
|
].freeze
|
77
85
|
|
78
86
|
private
|
@@ -162,6 +170,7 @@ module Teodoro
|
|
162
170
|
02_04_02
|
163
171
|
02_05_00
|
164
172
|
_S_01_00_00
|
173
|
+
_S_01_01_00
|
165
174
|
].include?(versao_do_leiaute)
|
166
175
|
end
|
167
176
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Teodoro
|
2
|
+
class Empresa
|
3
|
+
class ArquivoDataDeAdmissaoDeTrabalhadorSemVinculo
|
4
|
+
private
|
5
|
+
|
6
|
+
def initialize(caminho)
|
7
|
+
@caminho = caminho
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :caminho
|
11
|
+
|
12
|
+
public
|
13
|
+
|
14
|
+
def remover_matricula_do_nome
|
15
|
+
File.rename(caminho, caminho_com_nome_sem_matricula)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def caminho_com_nome_sem_matricula
|
21
|
+
File.join(diretorio, nome_sem_a_matricula)
|
22
|
+
end
|
23
|
+
|
24
|
+
def diretorio
|
25
|
+
File.dirname(caminho)
|
26
|
+
end
|
27
|
+
|
28
|
+
def nome_sem_a_matricula
|
29
|
+
nome_original
|
30
|
+
.then { _1.match(/^(TRA\[.*\]\[TSV_.*_.*)(_.*)(\]-ADM\.data)$/) }
|
31
|
+
.then { "#{_1[1]}#{_1[3]}" }
|
32
|
+
end
|
33
|
+
|
34
|
+
def nome_original
|
35
|
+
File.basename(caminho)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/teodoro/empresa.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require_relative 'arquivo_de_origem'
|
2
2
|
require_relative 'arquivo_xml'
|
3
3
|
require_relative 'empresa/arquivos_data'
|
4
|
+
require_relative 'empresa/arquivo_data_de_admissao_de_trabalhador_sem_vinculo'
|
4
5
|
require_relative 'empresa/arquivo_data_emp'
|
5
6
|
require_relative 'empresa/arquivo_data_rub'
|
6
7
|
require_relative 'empresa/arquivo_de_dados_gerais'
|
@@ -53,6 +54,7 @@ module Teodoro
|
|
53
54
|
gerar_arquivo_de_dados_gerais
|
54
55
|
processar_cargos_gerados
|
55
56
|
processar_funcoes_geradas
|
57
|
+
remover_matricula_do_nome_dos_arquivos_data_de_admissao_de_trabalhador_sem_vinculo
|
56
58
|
setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
|
57
59
|
ajustar_nome_do_ultimo_arquivo_emp_data
|
58
60
|
end
|
@@ -192,6 +194,16 @@ module Teodoro
|
|
192
194
|
funcoes_geradas.each(&:processar)
|
193
195
|
end
|
194
196
|
|
197
|
+
def remover_matricula_do_nome_dos_arquivos_data_de_admissao_de_trabalhador_sem_vinculo
|
198
|
+
arquivos_data_de_admissao_de_trabalhador_sem_vinculo.each(&:remover_matricula_do_nome)
|
199
|
+
end
|
200
|
+
|
201
|
+
def arquivos_data_de_admissao_de_trabalhador_sem_vinculo
|
202
|
+
File.join(destino_dos_arquivos_data, 'TRA*TSV_*_*_*-ADM.data')
|
203
|
+
.then { Dir[_1] }
|
204
|
+
.map { ArquivoDataDeAdmissaoDeTrabalhadorSemVinculo.new(_1) }
|
205
|
+
end
|
206
|
+
|
195
207
|
def setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
|
196
208
|
arquivos_data_emp.each(&:setar_proximo_identificador_de_tabela_de_rubricas)
|
197
209
|
end
|
@@ -86,6 +86,7 @@ module Teodoro
|
|
86
86
|
['ClassificacaoTributaria', evento['infoEmpregador/*/infoCadastro/classTrib']],
|
87
87
|
['NaturezaJuridica', evento['infoEmpregador/*/infoCadastro/natJurid']],
|
88
88
|
['IndicativoRegEletronico', evento['infoEmpregador/*/infoCadastro/indOptRegEletron']],
|
89
|
+
['indTribFolhaPisCofins', evento['infoEmpregador/*/infoCadastro/indTribFolhaPisCofins']],
|
89
90
|
['IndicativoCooperativa', evento['infoEmpregador/*/infoCadastro/indCoop']],
|
90
91
|
['IndicativoConstrutora', evento['infoEmpregador/*/infoCadastro/indConstr']],
|
91
92
|
['IndicativoDesoneracaoFolha', evento['infoEmpregador/*/infoCadastro/indDesFolha']],
|
@@ -34,6 +34,8 @@ module Teodoro
|
|
34
34
|
['indComunPolicia', evento['cat/indComunPolicia']],
|
35
35
|
['codSitGeradora', evento['cat/codSitGeradora']],
|
36
36
|
['iniciatCAT', evento['cat/iniciatCAT']],
|
37
|
+
['ultDiaTrab', evento['cat/ultDiaTrab']],
|
38
|
+
['houveAfast', evento['cat/houveAfast']],
|
37
39
|
['obsCAT', evento['cat/obsCAT']],
|
38
40
|
['tpLocal', evento['cat/localAcidente/tpLocal']],
|
39
41
|
['dscLocal', evento['cat/localAcidente/dscLocal']],
|
@@ -25,6 +25,7 @@ module Teodoro
|
|
25
25
|
['matricula', matricula],
|
26
26
|
['codCateg', evento['ideVinculo/codCateg']],
|
27
27
|
['dtIniCondicao', dt_ini_condicao],
|
28
|
+
['dtFimCondicao', evento['infoExpRisco/dtFimCondicao']],
|
28
29
|
['localAmb', evento['infoExpRisco/infoAmb/localAmb']],
|
29
30
|
['dscSetor', evento['infoExpRisco/infoAmb/dscSetor']],
|
30
31
|
['infoAmb/tpInsc', evento['infoExpRisco/infoAmb/tpInsc']],
|
@@ -132,9 +132,14 @@ module Teodoro
|
|
132
132
|
[
|
133
133
|
Obj.new(
|
134
134
|
nome: [
|
135
|
-
"TRA[#{trabalhador.cpf}]",
|
136
|
-
|
137
|
-
|
135
|
+
"TRA[#{trabalhador.cpf}][",
|
136
|
+
[
|
137
|
+
'TSV',
|
138
|
+
inicio_de_contrato.categoria_do_trabalhador,
|
139
|
+
inicio_de_contrato.data_de_inicio.delete('-'),
|
140
|
+
inicio_de_contrato.matricula_do_trabalhador
|
141
|
+
].join('_'),
|
142
|
+
']-ADM'
|
138
143
|
].join,
|
139
144
|
itens_do_conteudo: [
|
140
145
|
# rubocop:disable Layout/LineLength
|
@@ -0,0 +1,148 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module Leiaute
|
3
|
+
class ArquivoS2500 # rubocop:disable Metrics/ClassLength
|
4
|
+
include ArquivoDeEventoNaoPeriodico
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def dados_dos_arquivos_data
|
9
|
+
[
|
10
|
+
Obj.new(
|
11
|
+
nome: "PTR[#{numero_do_processo}][#{cpf_do_trabalhador}]",
|
12
|
+
itens_do_conteudo: itens_do_conteudo
|
13
|
+
)
|
14
|
+
]
|
15
|
+
end
|
16
|
+
|
17
|
+
def numero_do_processo
|
18
|
+
@numero_do_processo ||= evento['infoProcesso/nrProcTrab']
|
19
|
+
end
|
20
|
+
|
21
|
+
def cpf_do_trabalhador
|
22
|
+
@cpf_do_trabalhador ||= evento['ideTrab/cpfTrab']
|
23
|
+
end
|
24
|
+
|
25
|
+
def itens_do_conteudo # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity
|
26
|
+
[
|
27
|
+
# rubocop:disable Layout/LineLength
|
28
|
+
['Id', id_do_evento],
|
29
|
+
['ideEvento/procEmi', processo_de_emissao_do_evento],
|
30
|
+
['ideEvento/verProc', versao_do_processo_de_emissao_do_evento],
|
31
|
+
['ideEmpregador/tpInsc', tipo_de_inscricao_do_empregador],
|
32
|
+
['ideEmpregador/nrInsc', numero_de_inscricao_do_empregador],
|
33
|
+
['ideResp/tpInsc', evento['ideResp/tpInsc']],
|
34
|
+
['ideResp/nrInsc', evento['ideResp/nrInsc']],
|
35
|
+
['infoProcesso/origem', evento['infoProcesso/origem']],
|
36
|
+
['infoProcesso/nrProcTrab', numero_do_processo],
|
37
|
+
['infoProcesso/obsProcTrab', evento['infoProcesso/obsProcTrab']],
|
38
|
+
['infoProcesso/dadosCompl/infoProcJud/dtSent', evento['infoProcesso/dadosCompl/infoProcJud/dtSent']],
|
39
|
+
['infoProcesso/dadosCompl/infoProcJud/ufVara', evento['infoProcesso/dadosCompl/infoProcJud/ufVara']],
|
40
|
+
['infoProcesso/dadosCompl/infoProcJud/codMunic', evento['infoProcesso/dadosCompl/infoProcJud/codMunic']],
|
41
|
+
['infoProcesso/dadosCompl/infoProcJud/idVara', evento['infoProcesso/dadosCompl/infoProcJud/idVara']],
|
42
|
+
['infoProcesso/dadosCompl/infoCCP/dtCCP', evento['infoProcesso/dadosCompl/infoCCP/dtCCP']],
|
43
|
+
['infoProcesso/dadosCompl/infoCCP/tpCCP', evento['infoProcesso/dadosCompl/infoCCP/tpCCP']],
|
44
|
+
['infoProcesso/dadosCompl/infoCCP/cnpjCCP', evento['infoProcesso/dadosCompl/infoCCP/cnpjCCP']],
|
45
|
+
['ideTrab/cpfTrab', cpf_do_trabalhador],
|
46
|
+
['ideTrab/nmTrab', evento['ideTrab/nmTrab']],
|
47
|
+
['ideTrab/dtNascto', evento['ideTrab/dtNascto']],
|
48
|
+
*evento.*('ideTrab/dependente').map.with_index(1) do |dependente, seq|
|
49
|
+
[
|
50
|
+
["ideTrab/dependente_#{seq}_cpfDep", dependente['cpfDep']],
|
51
|
+
["ideTrab/dependente_#{seq}_tpDep", dependente['tpDep']],
|
52
|
+
["ideTrab/dependente_#{seq}_descDep", dependente['descDep']]
|
53
|
+
]
|
54
|
+
end.sum([]),
|
55
|
+
*evento.*('ideTrab/infoContr').map.with_index(1) do |contrato_de_trabalho, seq| # rubocop:disable Metrics/BlockLength
|
56
|
+
[
|
57
|
+
["ideTrab/infoContr_#{seq}_tpContr", contrato_de_trabalho['tpContr']],
|
58
|
+
["ideTrab/infoContr_#{seq}_indContr", contrato_de_trabalho['indContr']],
|
59
|
+
["ideTrab/infoContr_#{seq}_dtAdmOrig", contrato_de_trabalho['dtAdmOrig']],
|
60
|
+
["ideTrab/infoContr_#{seq}_indReint", contrato_de_trabalho['indReint']],
|
61
|
+
["ideTrab/infoContr_#{seq}_indCateg", contrato_de_trabalho['indCateg']],
|
62
|
+
["ideTrab/infoContr_#{seq}_indNatAtiv", contrato_de_trabalho['indNatAtiv']],
|
63
|
+
["ideTrab/infoContr_#{seq}_indMotDeslig", contrato_de_trabalho['indMotDeslig']],
|
64
|
+
["ideTrab/infoContr_#{seq}_indUnic", contrato_de_trabalho['indUnic']],
|
65
|
+
["ideTrab/infoContr_#{seq}_matricula", contrato_de_trabalho['matricula']],
|
66
|
+
["ideTrab/infoContr_#{seq}_codCateg", contrato_de_trabalho['codCateg']],
|
67
|
+
["ideTrab/infoContr_#{seq}_dtInicio", contrato_de_trabalho['dtInicio']],
|
68
|
+
["ideTrab/infoContr_#{seq}_infoCompl/codCBO", contrato_de_trabalho['infoCompl/codCBO']],
|
69
|
+
["ideTrab/infoContr_#{seq}_infoCompl/natAtividade", contrato_de_trabalho['infoCompl/natAtividade']],
|
70
|
+
*contrato_de_trabalho.*('infoCompl/remuneracao').map.with_index(1) do |remuneracao, remuneracao_seq|
|
71
|
+
[
|
72
|
+
["ideTrab/infoContr_#{seq}_infoCompl/remuneracao_#{remuneracao_seq}_dtRemun", remuneracao['dtRemun']],
|
73
|
+
["ideTrab/infoContr_#{seq}_infoCompl/remuneracao_#{remuneracao_seq}_vrSalFx", remuneracao['vrSalFx']],
|
74
|
+
["ideTrab/infoContr_#{seq}_infoCompl/remuneracao_#{remuneracao_seq}_undSalFixo", remuneracao['undSalFixo']],
|
75
|
+
["ideTrab/infoContr_#{seq}_infoCompl/remuneracao_#{remuneracao_seq}_dscSalVar", remuneracao['dscSalVar']]
|
76
|
+
]
|
77
|
+
end.sum([]),
|
78
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/tpRegTrab", contrato_de_trabalho['infoCompl/infoVinc/tpRegTrab']],
|
79
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/tpRegPrev", contrato_de_trabalho['infoCompl/infoVinc/tpRegPrev']],
|
80
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/dtAdm", contrato_de_trabalho['infoCompl/infoVinc/dtAdm']],
|
81
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/tmpParc", contrato_de_trabalho['infoCompl/infoVinc/tmpParc']],
|
82
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/duracao/tpContr", contrato_de_trabalho['infoCompl/infoVinc/duracao/tpContr']],
|
83
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/duracao/dtTerm", contrato_de_trabalho['infoCompl/infoVinc/duracao/dtTerm']],
|
84
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/duracao/clauAssec", contrato_de_trabalho['infoCompl/infoVinc/duracao/clauAssec']],
|
85
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/duracao/objDet", contrato_de_trabalho['infoCompl/infoVinc/duracao/objDet']],
|
86
|
+
*contrato_de_trabalho.*('infoCompl/infoVinc/observacoes').map.with_index(1) do |observacao, observacao_seq|
|
87
|
+
[
|
88
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/observacoes_#{observacao_seq}_observacao", observacao['observacao']]
|
89
|
+
]
|
90
|
+
end.sum([]),
|
91
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/sucessaoVinc/tpInsc", contrato_de_trabalho['infoCompl/infoVinc/sucessaoVinc/tpInsc']],
|
92
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/sucessaoVinc/nrInsc", contrato_de_trabalho['infoCompl/infoVinc/sucessaoVinc/nrInsc']],
|
93
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/sucessaoVinc/matricAnt", contrato_de_trabalho['infoCompl/infoVinc/sucessaoVinc/matricAnt']],
|
94
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/sucessaoVinc/dtTransf", contrato_de_trabalho['infoCompl/infoVinc/sucessaoVinc/dtTransf']],
|
95
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/infoDeslig/dtDeslig", contrato_de_trabalho['infoCompl/infoVinc/infoDeslig/dtDeslig']],
|
96
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/infoDeslig/mtvDeslig", contrato_de_trabalho['infoCompl/infoVinc/infoDeslig/mtvDeslig']],
|
97
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoVinc/infoDeslig/dtProjFimAPI", contrato_de_trabalho['infoCompl/infoVinc/infoDeslig/dtProjFimAPI']],
|
98
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoTerm/dtTerm", contrato_de_trabalho['infoCompl/infoTerm/dtTerm']],
|
99
|
+
["ideTrab/infoContr_#{seq}_infoCompl/infoTerm/mtvDesligTSV", contrato_de_trabalho['infoCompl/infoTerm/mtvDesligTSV']],
|
100
|
+
*contrato_de_trabalho.*('mudCategAtiv').map.with_index(1) do |mudanca_de_categoria_ou_atividade, mudanca_de_categoria_ou_atividade_seq|
|
101
|
+
[
|
102
|
+
["ideTrab/infoContr_#{seq}_mudCategAtiv_#{mudanca_de_categoria_ou_atividade_seq}_codCateg", mudanca_de_categoria_ou_atividade['codCateg']],
|
103
|
+
["ideTrab/infoContr_#{seq}_mudCategAtiv_#{mudanca_de_categoria_ou_atividade_seq}_natAtividade", mudanca_de_categoria_ou_atividade['natAtividade']],
|
104
|
+
["ideTrab/infoContr_#{seq}_mudCategAtiv_#{mudanca_de_categoria_ou_atividade_seq}_dtMudCategAtiv", mudanca_de_categoria_ou_atividade['dtMudCategAtiv']]
|
105
|
+
]
|
106
|
+
end.sum([]),
|
107
|
+
*contrato_de_trabalho.*('unicContr').map.with_index(1) do |vinculo_contrato_incorporado, vinculo_contrato_incorporado_seq|
|
108
|
+
[
|
109
|
+
["ideTrab/infoContr_#{seq}_unicContr_#{vinculo_contrato_incorporado_seq}_matUnic", vinculo_contrato_incorporado['matUnic']],
|
110
|
+
["ideTrab/infoContr_#{seq}_unicContr_#{vinculo_contrato_incorporado_seq}_codCateg", vinculo_contrato_incorporado['codCateg']],
|
111
|
+
["ideTrab/infoContr_#{seq}_unicContr_#{vinculo_contrato_incorporado_seq}_dtInicio", vinculo_contrato_incorporado['dtInicio']]
|
112
|
+
]
|
113
|
+
end.sum([]),
|
114
|
+
["ideTrab/infoContr_#{seq}_ideEstab/tpInsc", contrato_de_trabalho['ideEstab/tpInsc']],
|
115
|
+
["ideTrab/infoContr_#{seq}_ideEstab/nrInsc", contrato_de_trabalho['ideEstab/nrInsc']],
|
116
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/compIni", contrato_de_trabalho['ideEstab/infoVlr/compIni']],
|
117
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/compFim", contrato_de_trabalho['ideEstab/infoVlr/compFim']],
|
118
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/repercProc", contrato_de_trabalho['ideEstab/infoVlr/repercProc']],
|
119
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/vrRemun", contrato_de_trabalho['ideEstab/infoVlr/vrRemun']],
|
120
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/vrAPI", contrato_de_trabalho['ideEstab/infoVlr/vrAPI']],
|
121
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/vr13API", contrato_de_trabalho['ideEstab/infoVlr/vr13API']],
|
122
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/vrInden", contrato_de_trabalho['ideEstab/infoVlr/vrInden']],
|
123
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/vrBaseIndenFGTS", contrato_de_trabalho['ideEstab/infoVlr/vrBaseIndenFGTS']],
|
124
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/pagDiretoResc", contrato_de_trabalho['ideEstab/infoVlr/pagDiretoResc']],
|
125
|
+
*contrato_de_trabalho.*('ideEstab/infoVlr/idePeriodo').map.with_index(1) do |periodo, periodo_seq|
|
126
|
+
[
|
127
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/perRef", periodo['perRef']],
|
128
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/vrBcCpMensal", periodo['baseCalculo/vrBcCpMensal']],
|
129
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/vrBcCp13", periodo['baseCalculo/vrBcCp13']],
|
130
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/vrBcFgts", periodo['baseCalculo/vrBcFgts']],
|
131
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/vrBcFgts13", periodo['baseCalculo/vrBcFgts13']],
|
132
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseCalculo/infoAgNocivo/grauExp", periodo['baseCalculo/infoAgNocivo/grauExp']],
|
133
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_infoFGTS/vrBcFgtsGuia", periodo['infoFGTS/vrBcFgtsGuia']],
|
134
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_infoFGTS/vrBcFgts13Guia", periodo['infoFGTS/vrBcFgts13Guia']],
|
135
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_infoFGTS/pagDireto", periodo['infoFGTS/pagDireto']],
|
136
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseMudCateg/codCateg", periodo['baseMudCateg/codCateg']],
|
137
|
+
["ideTrab/infoContr_#{seq}_ideEstab/infoVlr/idePeriodo_#{periodo_seq}_baseMudCateg/vrBcCPrev", periodo['baseMudCateg/vrBcCPrev']]
|
138
|
+
]
|
139
|
+
end.sum([])
|
140
|
+
# rubocop:enable Layout/LineLength
|
141
|
+
]
|
142
|
+
end.sum([]),
|
143
|
+
['nrRecibo', numero_do_recibo]
|
144
|
+
]
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module Leiaute
|
3
|
+
class ArquivoS2501
|
4
|
+
include ArquivoDeEventoNaoPeriodico
|
5
|
+
|
6
|
+
private
|
7
|
+
|
8
|
+
def dados_dos_arquivos_data
|
9
|
+
[
|
10
|
+
Obj.new(
|
11
|
+
nome: "TDP[#{numero_do_processo}][#{mes_ano_da_obrigacao}]",
|
12
|
+
itens_do_conteudo: itens_do_conteudo
|
13
|
+
)
|
14
|
+
]
|
15
|
+
end
|
16
|
+
|
17
|
+
def numero_do_processo
|
18
|
+
@numero_do_processo ||= evento['ideProc/nrProcTrab']
|
19
|
+
end
|
20
|
+
|
21
|
+
def mes_ano_da_obrigacao
|
22
|
+
@mes_ano_da_obrigacao ||= evento['ideProc/perApurPgto']
|
23
|
+
end
|
24
|
+
|
25
|
+
def itens_do_conteudo # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
26
|
+
[
|
27
|
+
# rubocop:disable Layout/LineLength
|
28
|
+
['Id', id_do_evento],
|
29
|
+
['ideEvento/procEmi', processo_de_emissao_do_evento],
|
30
|
+
['ideEvento/verProc', versao_do_processo_de_emissao_do_evento],
|
31
|
+
['ideEmpregador/tpInsc', tipo_de_inscricao_do_empregador],
|
32
|
+
['ideEmpregador/nrInsc', numero_de_inscricao_do_empregador],
|
33
|
+
['ideProc/nrProcTrab', numero_do_processo],
|
34
|
+
['ideProc/perApurPgto', mes_ano_da_obrigacao],
|
35
|
+
['ideProc/obs', evento['ideProc/obs']],
|
36
|
+
*evento.*('ideTrab').map.with_index(1) do |trabalhador, seq|
|
37
|
+
[
|
38
|
+
["ideTrab_#{seq}_cpfTrab", trabalhador['cpfTrab']],
|
39
|
+
*trabalhador.*('calcTrib').map.with_index(1) do |periodo, periodo_seq|
|
40
|
+
[
|
41
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_perRef", periodo['perRef']],
|
42
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_vrBcCpMensal", periodo['vrBcCpMensal']],
|
43
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_vrBcCp13", periodo['vrBcCp13']],
|
44
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_vrRendIRRF", periodo['vrRendIRRF']],
|
45
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_vrRendIRRF13", periodo['vrRendIRRF13']],
|
46
|
+
*periodo.*('infoCRContrib').map.with_index(1) do |contribuicao, contribuicao_seq|
|
47
|
+
[
|
48
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_infoCRContrib_#{contribuicao_seq}_tpCR", contribuicao['tpCR']],
|
49
|
+
["ideTrab_#{seq}_calcTrib_#{periodo_seq}_infoCRContrib_#{contribuicao_seq}_vrCR", contribuicao['vrCR']]
|
50
|
+
]
|
51
|
+
end.sum([])
|
52
|
+
]
|
53
|
+
end.sum([]),
|
54
|
+
*trabalhador.*('infoCRIRRF').map.with_index(1) do |irrf, irrf_seq|
|
55
|
+
[
|
56
|
+
["ideTrab_#{seq}_infoCRIRRF_#{irrf_seq}_tpCR", irrf['tpCR']],
|
57
|
+
["ideTrab_#{seq}_infoCRIRRF_#{irrf_seq}_vrCR", irrf['vrCR']]
|
58
|
+
]
|
59
|
+
end.sum([])
|
60
|
+
]
|
61
|
+
end.sum([]),
|
62
|
+
['nrRecibo', numero_do_recibo]
|
63
|
+
# rubocop:enable Layout/LineLength
|
64
|
+
]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -4,7 +4,7 @@ module Teodoro
|
|
4
4
|
include ArquivoDeEvento
|
5
5
|
|
6
6
|
def processar
|
7
|
-
|
7
|
+
excluir_arquivo_data if tipo_de_evento_processavel?
|
8
8
|
excluir_admissao if exclusao_de_admissao?
|
9
9
|
excluir_inicio_de_tsv if exclusao_de_inicio_de_tsv?
|
10
10
|
excluir_inicio_de_afastamento if exclusao_de_inicio_de_afastamento?
|
@@ -20,7 +20,7 @@ module Teodoro
|
|
20
20
|
@tipo_de_evento ||= evento['infoExclusao/tpEvento'].delete('-')
|
21
21
|
end
|
22
22
|
|
23
|
-
def
|
23
|
+
def excluir_arquivo_data
|
24
24
|
empresa.arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
|
25
25
|
end
|
26
26
|
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module Leiaute
|
3
|
+
class ArquivoS3500
|
4
|
+
include ArquivoDeEvento
|
5
|
+
|
6
|
+
def processar
|
7
|
+
excluir_arquivo_data
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def excluir_arquivo_data
|
13
|
+
empresa.arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
|
14
|
+
end
|
15
|
+
|
16
|
+
def numero_de_recibo_do_evento_a_excluir
|
17
|
+
@numero_de_recibo_do_evento_a_excluir ||= evento['infoExclusao/nrRecEvt']
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
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.49.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: 2022-06
|
11
|
+
date: 2022-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -201,6 +201,7 @@ files:
|
|
201
201
|
- lib/teodoro/cnpj.rb
|
202
202
|
- lib/teodoro/console.rb
|
203
203
|
- lib/teodoro/empresa.rb
|
204
|
+
- lib/teodoro/empresa/arquivo_data_de_admissao_de_trabalhador_sem_vinculo.rb
|
204
205
|
- lib/teodoro/empresa/arquivo_data_emp.rb
|
205
206
|
- lib/teodoro/empresa/arquivo_data_rub.rb
|
206
207
|
- lib/teodoro/empresa/arquivo_de_dados_gerais.rb
|
@@ -233,7 +234,10 @@ files:
|
|
233
234
|
- lib/teodoro/leiaute/arquivo_s2300.rb
|
234
235
|
- lib/teodoro/leiaute/arquivo_s2306.rb
|
235
236
|
- lib/teodoro/leiaute/arquivo_s2399.rb
|
237
|
+
- lib/teodoro/leiaute/arquivo_s2500.rb
|
238
|
+
- lib/teodoro/leiaute/arquivo_s2501.rb
|
236
239
|
- lib/teodoro/leiaute/arquivo_s3000.rb
|
240
|
+
- lib/teodoro/leiaute/arquivo_s3500.rb
|
237
241
|
- lib/teodoro/leiaute_simplificado.rb
|
238
242
|
- lib/teodoro/obj.rb
|
239
243
|
- lib/teodoro/version.rb
|
@@ -258,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
262
|
- !ruby/object:Gem::Version
|
259
263
|
version: '0'
|
260
264
|
requirements: []
|
261
|
-
rubygems_version: 3.
|
265
|
+
rubygems_version: 3.2.15
|
262
266
|
signing_key:
|
263
267
|
specification_version: 4
|
264
268
|
summary: ''
|