teodoro 0.47.11 → 0.49.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 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: ''