teodoro 0.48.0 → 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: 957e85911a2adc2ba0774ef3f28bfc2ebf7ad69d384188a643512367b4b4e407
4
- data.tar.gz: 384b9d1d2534bb632e19fc211743c6879de9e86fb484cdcb88eaa893e505130b
3
+ metadata.gz: 3c59b0ea704cd0b7de3b45528c8fa6efb28629b4023733e8a0969fba6fcf1293
4
+ data.tar.gz: eaae2d034db36d9df086992286380475eea80af7dd51497c1518ab2072d95de9
5
5
  SHA512:
6
- metadata.gz: 3af72e61410633058292a573e33ad928cfa26822899a87e71bbafd00b39efd9115390dd0ab05525c3e8736d09115b9098aea22bd7700246548f9b2a1ea71672f
7
- data.tar.gz: 3ebe8fe727d678adc7643f9e95994a673a2278e0ba2fc95dc60df029b723f3cc80940c05dad973904c3618970e7cdf6eb28ef8fa76ebcd992aff5da6bd3b0713
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
@@ -164,7 +164,6 @@ module Teodoro
164
164
  raise 'arquivo corrompido (sem data e horário do processamento do evento)'
165
165
  end
166
166
 
167
- # FIXME: Tales validate _S_01_01_00
168
167
  def validar_versao_do_leiaute
169
168
  raise unless %w[
170
169
  02_04_01
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Teodoro
2
- VERSION = '0.48.0'.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.48.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-08-12 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