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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16b1f7b455019c081639260d0c7401071c52e4ff42f32edec32b1c48f9a41bd1
4
- data.tar.gz: afdabea4c227565924ab24d1a80ac1565aa61316e38869f21ebaecc9f28a0dfb
3
+ metadata.gz: 3c59b0ea704cd0b7de3b45528c8fa6efb28629b4023733e8a0969fba6fcf1293
4
+ data.tar.gz: eaae2d034db36d9df086992286380475eea80af7dd51497c1518ab2072d95de9
5
5
  SHA512:
6
- metadata.gz: 7ce1d9fdd190c28dffb67a9a2938dcf9c3d3378d570a7a9be0ca00410f07424bd8be50230049e35a78896b6558364c6c833b9f8e71e0845f411b74514e7a0b15
7
- data.tar.gz: 01430244e0c487bf76caaacacd81eac23c648c2cf823a2f02f7c9eaec25142f3fea3534cd82c154afc094da15e4993b9caffb62cf7c655679a0cd07cea3d07e6
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
@@ -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
@@ -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
- "[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
137
- '-ADM'
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
- excluir_arquivos_data if tipo_de_evento_processavel?
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 excluir_arquivos_data
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
@@ -1,3 +1,3 @@
1
1
  module Teodoro
2
- VERSION = '0.47.11'.freeze
2
+ VERSION = '0.49.0'.freeze
3
3
  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.47.11
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-30 00:00:00.000000000 Z
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.3.8
265
+ rubygems_version: 3.2.15
262
266
  signing_key:
263
267
  specification_version: 4
264
268
  summary: ''