teodoro 0.41.1 → 0.43.1
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 +4 -4
- data/lib/teodoro/arquivo_data/fun.rb +53 -0
- data/lib/teodoro/arquivo_data.rb +1 -0
- data/lib/teodoro/cnpj.rb +2 -2
- data/lib/teodoro/empresa/funcoes_geradas.rb +86 -0
- data/lib/teodoro/empresa.rb +11 -1
- data/lib/teodoro/leiaute/arquivo_s2200.rb +20 -0
- data/lib/teodoro/leiaute/arquivo_s2206.rb +13 -0
- data/lib/teodoro/leiaute/arquivo_s2300.rb +22 -0
- data/lib/teodoro/leiaute/arquivo_s2306.rb +92 -11
- data/lib/teodoro/version.rb +3 -0
- data/lib/teodoro.rb +1 -2
- metadata +21 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 474f33237ca6297b40b06a49568ed1f3861522b1df72591d8fdd7db414f81658
|
4
|
+
data.tar.gz: 03cfdb7d19842de3793912e0bf3aed1cc4ed213cbbdd6afe190c4f3d1b81c3cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f92c96b45ff3eddb38e787d42c361a907a5b5c6e154e696695a0ec91e1fd84fd0ea1db6d12861bbba91661717a5533fea2e3d0c79d3c9ec6635d8c99fb3b0697
|
7
|
+
data.tar.gz: c8bba32d9e7f106d1aa9b7fea4fb0cfbcb6a99b0da06ebe17d01ff43ecdba9c5d18d4926355f8c6f89b79b0f99509fc8b5a3964aa8ea5896780a66b921641fc4
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Teodoro
|
2
|
+
class ArquivoData
|
3
|
+
module FUN
|
4
|
+
module Identificacao
|
5
|
+
def self.new(codigo_da_funcao)
|
6
|
+
['FUN', codigo_da_funcao]
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
module ItensDeConteudo
|
11
|
+
def self.new(dados) # rubocop:disable Metrics/MethodLength
|
12
|
+
[
|
13
|
+
['CodigoFuncao', dados.codigo_da_funcao],
|
14
|
+
['InicioValidade', dados.inicio_da_validade, :mes_ano],
|
15
|
+
['FimValidade', dados.fim_da_validade, :mes_ano],
|
16
|
+
['DadosFuncao_DescricaoFuncao', dados.nome_da_funcao],
|
17
|
+
['DadosFuncao_CodigoCBO', dados.cbo],
|
18
|
+
['DadosFuncao_CodigoCBO_TEXT', "#{dados.cbo} - #{CBO.new(dados.cbo).titulo}"],
|
19
|
+
['IdEventoXml', dados.id_do_evento],
|
20
|
+
['NrReciboEventoOriginal', dados.numero_do_recibo],
|
21
|
+
['DescricaoProcEmi', dados.processo_de_emissao_do_evento],
|
22
|
+
['VerProc', dados.versao_do_processo_de_emissao_do_evento]
|
23
|
+
]
|
24
|
+
end
|
25
|
+
|
26
|
+
class CBO
|
27
|
+
private
|
28
|
+
|
29
|
+
def initialize(codigo)
|
30
|
+
@codigo = codigo
|
31
|
+
end
|
32
|
+
|
33
|
+
attr_reader :codigo
|
34
|
+
|
35
|
+
public
|
36
|
+
|
37
|
+
def titulo
|
38
|
+
CBOs[codigo] || begin
|
39
|
+
alertar_que_cbo_nao_foi_encontrado
|
40
|
+
codigo
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def alertar_que_cbo_nao_foi_encontrado
|
47
|
+
puts "\n #{Rainbow("CBO #{codigo} não encontrado").yellow}"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/teodoro/arquivo_data.rb
CHANGED
data/lib/teodoro/cnpj.rb
CHANGED
@@ -52,9 +52,9 @@ module Teodoro
|
|
52
52
|
string.chars
|
53
53
|
.reverse
|
54
54
|
.map(&:to_i)
|
55
|
-
.map.with_index { |digito, indice| [digito, indice % 8 + 2] }
|
55
|
+
.map.with_index { |digito, indice| [digito, (indice % 8) + 2] }
|
56
56
|
.sum { |digito, peso| digito * peso }
|
57
|
-
.then { |r| 11 - r % 11 }
|
57
|
+
.then { |r| 11 - (r % 11) }
|
58
58
|
.then { |r| r >= 10 ? 0 : r }
|
59
59
|
.to_s
|
60
60
|
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
module Teodoro
|
2
|
+
class Empresa
|
3
|
+
class FuncoesGeradas
|
4
|
+
private
|
5
|
+
|
6
|
+
def initialize(empresa)
|
7
|
+
@empresa = empresa
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :empresa
|
11
|
+
|
12
|
+
public
|
13
|
+
|
14
|
+
extend Forwardable
|
15
|
+
|
16
|
+
def_delegators :funcoes, :each
|
17
|
+
|
18
|
+
def [](nome:, cbo:)
|
19
|
+
indice[nome: nome, cbo: cbo] ||= Funcao.new(empresa: empresa, dados: Obj.new(nome: nome, cbo: cbo)) if nome
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def funcoes
|
25
|
+
indice.values
|
26
|
+
end
|
27
|
+
|
28
|
+
def indice
|
29
|
+
@indice ||= {}
|
30
|
+
end
|
31
|
+
|
32
|
+
class Funcao
|
33
|
+
private
|
34
|
+
|
35
|
+
def initialize(empresa:, dados:)
|
36
|
+
@empresa = empresa
|
37
|
+
@dados = dados
|
38
|
+
end
|
39
|
+
|
40
|
+
attr_reader :empresa
|
41
|
+
|
42
|
+
public
|
43
|
+
|
44
|
+
attr_reader :dados
|
45
|
+
|
46
|
+
def codigo
|
47
|
+
@codigo ||= SecureRandom.hex(15)
|
48
|
+
end
|
49
|
+
|
50
|
+
def processar
|
51
|
+
criar_arquivo_data
|
52
|
+
end
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def criar_arquivo_data
|
57
|
+
arquivo_data.criar
|
58
|
+
end
|
59
|
+
|
60
|
+
def arquivo_data # rubocop:disable Metrics/MethodLength
|
61
|
+
ArquivoData.new(
|
62
|
+
diretorio: empresa.destino_dos_arquivos_data,
|
63
|
+
nome: ArquivoDeEventoDeTabela::NomeDoArquivoData.new(
|
64
|
+
identificacao: ArquivoData::FUN::Identificacao.new(codigo),
|
65
|
+
inicio_da_validade: empresa.inicio_da_validade
|
66
|
+
),
|
67
|
+
itens_do_conteudo: ArquivoData::FUN::ItensDeConteudo.new(
|
68
|
+
Obj.new(
|
69
|
+
codigo_da_funcao: codigo,
|
70
|
+
inicio_da_validade: empresa.inicio_da_validade,
|
71
|
+
fim_da_validade: nil,
|
72
|
+
nome_da_funcao: dados.nome,
|
73
|
+
cbo: dados.cbo,
|
74
|
+
orgao_publico?: false,
|
75
|
+
id_do_evento: nil,
|
76
|
+
numero_do_recibo: nil,
|
77
|
+
processo_de_emissao_do_evento: nil,
|
78
|
+
versao_do_processo_de_emissao_do_evento: nil
|
79
|
+
)
|
80
|
+
)
|
81
|
+
)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/lib/teodoro/empresa.rb
CHANGED
@@ -6,6 +6,7 @@ require_relative 'empresa/arquivo_data_rub'
|
|
6
6
|
require_relative 'empresa/cargos_gerados'
|
7
7
|
require_relative 'empresa/contratos_de_emprego'
|
8
8
|
require_relative 'empresa/contratos_de_trabalho_sem_vinculo'
|
9
|
+
require_relative 'empresa/funcoes_geradas'
|
9
10
|
require_relative 'empresa/trabalhadores'
|
10
11
|
|
11
12
|
module Teodoro
|
@@ -40,7 +41,7 @@ module Teodoro
|
|
40
41
|
|
41
42
|
attr_reader :arquivos_xml_por_recibo_a_retificar
|
42
43
|
|
43
|
-
def processar
|
44
|
+
def processar # rubocop:disable Metrics/MethodLength
|
44
45
|
dar_feedback_para_o_usuario
|
45
46
|
criar_diretorios_destino
|
46
47
|
descompactar_arquivos_de_origem
|
@@ -49,6 +50,7 @@ module Teodoro
|
|
49
50
|
ordenar_arquivos_xml
|
50
51
|
processar_arquivos_xml
|
51
52
|
processar_cargos_gerados
|
53
|
+
processar_funcoes_geradas
|
52
54
|
setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
|
53
55
|
ajustar_nome_do_ultimo_arquivo_emp_data
|
54
56
|
end
|
@@ -77,6 +79,10 @@ module Teodoro
|
|
77
79
|
@cargos_gerados ||= CargosGerados.new(self)
|
78
80
|
end
|
79
81
|
|
82
|
+
def funcoes_geradas
|
83
|
+
@funcoes_geradas ||= FuncoesGeradas.new(self)
|
84
|
+
end
|
85
|
+
|
80
86
|
private
|
81
87
|
|
82
88
|
def dar_feedback_para_o_usuario
|
@@ -157,6 +163,10 @@ module Teodoro
|
|
157
163
|
cargos_gerados.each(&:processar)
|
158
164
|
end
|
159
165
|
|
166
|
+
def processar_funcoes_geradas
|
167
|
+
funcoes_geradas.each(&:processar)
|
168
|
+
end
|
169
|
+
|
160
170
|
def setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
|
161
171
|
arquivos_data_emp.each(&:setar_proximo_identificador_de_tabela_de_rubricas)
|
162
172
|
end
|
@@ -260,6 +260,7 @@ module Teodoro
|
|
260
260
|
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
261
261
|
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
262
262
|
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
263
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao'],
|
263
264
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
264
265
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
265
266
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
@@ -367,6 +368,10 @@ module Teodoro
|
|
367
368
|
[
|
368
369
|
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
369
370
|
evento['vinculo/infoContrato/codCargo']
|
371
|
+
],
|
372
|
+
[
|
373
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao',
|
374
|
+
evento['vinculo/infoContrato/codFuncao']
|
370
375
|
]
|
371
376
|
# rubocop:enable Layout/LineLength
|
372
377
|
]
|
@@ -452,6 +457,10 @@ module Teodoro
|
|
452
457
|
[
|
453
458
|
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
454
459
|
codigo_do_cargo
|
460
|
+
],
|
461
|
+
[
|
462
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoFuncao',
|
463
|
+
codigo_da_funcao
|
455
464
|
]
|
456
465
|
# rubocop:enable Layout/LineLength
|
457
466
|
]
|
@@ -467,6 +476,17 @@ module Teodoro
|
|
467
476
|
cbo: evento['vinculo/infoContrato/CBOCargo']
|
468
477
|
]
|
469
478
|
end
|
479
|
+
|
480
|
+
def codigo_da_funcao
|
481
|
+
funcao&.codigo
|
482
|
+
end
|
483
|
+
|
484
|
+
def funcao
|
485
|
+
empresa.funcoes_geradas[
|
486
|
+
nome: evento['vinculo/infoContrato/nmFuncao'],
|
487
|
+
cbo: evento['vinculo/infoContrato/CBOFuncao']
|
488
|
+
]
|
489
|
+
end
|
470
490
|
end
|
471
491
|
end
|
472
492
|
end
|
@@ -134,6 +134,7 @@ module Teodoro
|
|
134
134
|
['InformacoesContrato_HorarioContratual_QuantidadeHorasSemanal', evento['altContratual/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
135
135
|
['InformacoesContrato_HorarioContratual_DescricaoTipoJornada', evento['altContratual/infoContrato/horContratual/dscTpJorn']],
|
136
136
|
['InformacoesContrato_CodigoCargo', evento['altContratual/infoContrato/codCargo']],
|
137
|
+
['InformacoesContrato_CodigoFuncao', evento['altContratual/infoContrato/codFuncao']],
|
137
138
|
['InformacoesContrato_DataTermino', evento['altContratual/infoContrato/duracao/dtTerm'], :data]
|
138
139
|
# rubocop:enable Layout/LineLength
|
139
140
|
]
|
@@ -190,6 +191,7 @@ module Teodoro
|
|
190
191
|
['HorarioNoturno', evento['altContratual/vinculo/infoContrato/horContratual/horNoturno']],
|
191
192
|
['InformacoesContrato_HorarioContratual_DescricaoTipoJornada', evento['altContratual/vinculo/infoContrato/horContratual/dscJorn']],
|
192
193
|
['InformacoesContrato_CodigoCargo', codigo_do_cargo],
|
194
|
+
['InformacoesContrato_CodigoFuncao', codigo_da_funcao],
|
193
195
|
['InformacoesContrato_DataTermino', evento['altContratual/vinculo/infoContrato/duracao/dtTerm'], :data]
|
194
196
|
# rubocop:enable Layout/LineLength
|
195
197
|
]
|
@@ -205,6 +207,17 @@ module Teodoro
|
|
205
207
|
cbo: evento['altContratual/vinculo/infoContrato/CBOCargo']
|
206
208
|
]
|
207
209
|
end
|
210
|
+
|
211
|
+
def codigo_da_funcao
|
212
|
+
funcao&.codigo
|
213
|
+
end
|
214
|
+
|
215
|
+
def funcao
|
216
|
+
empresa.funcoes_geradas[
|
217
|
+
nome: evento['altContratual/vinculo/infoContrato/nmFuncao'],
|
218
|
+
cbo: evento['altContratual/vinculo/infoContrato/CBOFuncao']
|
219
|
+
]
|
220
|
+
end
|
208
221
|
end
|
209
222
|
end
|
210
223
|
end
|
@@ -27,6 +27,7 @@ module Teodoro
|
|
27
27
|
trabalhador: trabalhador,
|
28
28
|
categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
|
29
29
|
data_de_inicio: evento['infoTSVInicio/dtInicio'],
|
30
|
+
matricula: evento['infoTSVInicio/matricula'],
|
30
31
|
recibo: numero_do_recibo
|
31
32
|
)
|
32
33
|
end
|
@@ -222,6 +223,7 @@ module Teodoro
|
|
222
223
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
|
223
224
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa'], :decimal],
|
224
225
|
['EventoAdmissao_InformacoesInicio_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
|
226
|
+
['EventoAdmissao_InformacoesInicio_Matricula', inicio_de_contrato.matricula],
|
225
227
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
226
228
|
['IdEventoXml', id_do_evento],
|
227
229
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
@@ -233,6 +235,7 @@ module Teodoro
|
|
233
235
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
234
236
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
235
237
|
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
|
238
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao'],
|
236
239
|
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS'],
|
237
240
|
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_DataOpcaoFGTS'],
|
238
241
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/undSalFixo']],
|
@@ -306,6 +309,10 @@ module Teodoro
|
|
306
309
|
[
|
307
310
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo',
|
308
311
|
evento['infoTSVInicio/infoComplementares/cargoFuncao/codCargo']
|
312
|
+
],
|
313
|
+
[
|
314
|
+
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao',
|
315
|
+
evento['infoTSVInicio/infoComplementares/cargoFuncao/codFuncao']
|
309
316
|
]
|
310
317
|
]
|
311
318
|
end
|
@@ -352,6 +359,10 @@ module Teodoro
|
|
352
359
|
[
|
353
360
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo',
|
354
361
|
codigo_do_cargo
|
362
|
+
],
|
363
|
+
[
|
364
|
+
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao',
|
365
|
+
codigo_da_funcao
|
355
366
|
]
|
356
367
|
]
|
357
368
|
end
|
@@ -366,6 +377,17 @@ module Teodoro
|
|
366
377
|
cbo: evento['infoTSVInicio/infoComplementares/cargoFuncao/CBOCargo']
|
367
378
|
]
|
368
379
|
end
|
380
|
+
|
381
|
+
def codigo_da_funcao
|
382
|
+
funcao&.codigo
|
383
|
+
end
|
384
|
+
|
385
|
+
def funcao
|
386
|
+
empresa.funcoes_geradas[
|
387
|
+
nome: evento['infoTSVInicio/infoComplementares/cargoFuncao/nmFuncao'],
|
388
|
+
cbo: evento['infoTSVInicio/infoComplementares/cargoFuncao/CBOFuncao']
|
389
|
+
]
|
390
|
+
end
|
369
391
|
end
|
370
392
|
end
|
371
393
|
end
|
@@ -32,7 +32,7 @@ module Teodoro
|
|
32
32
|
['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
|
33
33
|
['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVAlteracao/natAtividade']],
|
34
34
|
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
|
35
|
-
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao'
|
35
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao'],
|
36
36
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVAlteracao/infoComplementares/remuneracao/undSalFixo']],
|
37
37
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_ValorSalarioFixo', evento['infoTSVAlteracao/infoComplementares/remuneracao/vrSalFx'], :decimal],
|
38
38
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao', evento['infoTSVAlteracao/infoComplementares/infoEstagiario/areaAtuacao']],
|
@@ -93,21 +93,102 @@ module Teodoro
|
|
93
93
|
@data_da_alteracao ||= evento['infoTSVAlteracao/dtAlteracao']
|
94
94
|
end
|
95
95
|
|
96
|
-
def leiaute
|
96
|
+
def leiaute
|
97
97
|
@leiaute ||=
|
98
|
+
if leiaute_simplificado?
|
99
|
+
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
100
|
+
else
|
101
|
+
Leiaute2.new(evento)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
module Leiaute
|
106
|
+
private
|
107
|
+
|
108
|
+
attr_reader :evento
|
109
|
+
|
110
|
+
public
|
111
|
+
|
112
|
+
def [](chave)
|
113
|
+
indice[chave]
|
114
|
+
end
|
115
|
+
|
116
|
+
private
|
117
|
+
|
118
|
+
def indice
|
119
|
+
@indice ||= chaves_valores.map { [_1.first, _1] }.to_h
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
class Leiaute2
|
124
|
+
include Leiaute
|
125
|
+
|
126
|
+
private
|
127
|
+
|
128
|
+
def initialize(evento)
|
129
|
+
@evento = evento
|
130
|
+
end
|
131
|
+
|
132
|
+
def chaves_valores
|
133
|
+
[
|
134
|
+
[
|
135
|
+
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo',
|
136
|
+
evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codCargo']
|
137
|
+
],
|
138
|
+
[
|
139
|
+
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao',
|
140
|
+
evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codFuncao']
|
141
|
+
]
|
142
|
+
]
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
class LeiauteSimplificado
|
147
|
+
include Leiaute
|
148
|
+
|
149
|
+
private
|
150
|
+
|
151
|
+
def initialize(empresa:, evento:)
|
152
|
+
@empresa = empresa
|
153
|
+
@evento = evento
|
154
|
+
end
|
155
|
+
|
156
|
+
attr_reader :empresa
|
157
|
+
|
158
|
+
def chaves_valores
|
98
159
|
[
|
99
160
|
[
|
100
161
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo',
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
else
|
107
|
-
evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codCargo']
|
108
|
-
end
|
162
|
+
codigo_do_cargo
|
163
|
+
],
|
164
|
+
[
|
165
|
+
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao',
|
166
|
+
codigo_da_funcao
|
109
167
|
]
|
110
|
-
]
|
168
|
+
]
|
169
|
+
end
|
170
|
+
|
171
|
+
def codigo_do_cargo
|
172
|
+
cargo&.codigo
|
173
|
+
end
|
174
|
+
|
175
|
+
def cargo
|
176
|
+
empresa.cargos_gerados[
|
177
|
+
nome: evento['infoTSVAlteracao/infoComplementares/cargoFuncao/nmCargo'],
|
178
|
+
cbo: evento['infoTSVAlteracao/infoComplementares/cargoFuncao/CBOCargo']
|
179
|
+
]
|
180
|
+
end
|
181
|
+
|
182
|
+
def codigo_da_funcao
|
183
|
+
funcao&.codigo
|
184
|
+
end
|
185
|
+
|
186
|
+
def funcao
|
187
|
+
empresa.funcoes_geradas[
|
188
|
+
nome: evento['infoTSVAlteracao/infoComplementares/cargoFuncao/nmFuncao'],
|
189
|
+
cbo: evento['infoTSVAlteracao/infoComplementares/cargoFuncao/CBOFuncao']
|
190
|
+
]
|
191
|
+
end
|
111
192
|
end
|
112
193
|
end
|
113
194
|
end
|
data/lib/teodoro.rb
CHANGED
@@ -7,13 +7,12 @@ require 'rainbow'
|
|
7
7
|
require 'securerandom'
|
8
8
|
require 'zip'
|
9
9
|
|
10
|
+
require_relative 'teodoro/version'
|
10
11
|
require_relative 'teodoro/console'
|
11
12
|
require_relative 'teodoro/empresa'
|
12
13
|
require_relative 'teodoro/obj'
|
13
14
|
|
14
15
|
module Teodoro
|
15
|
-
VERSION = '0.41.1'.freeze
|
16
|
-
|
17
16
|
CBOs = __FILE__
|
18
17
|
.then { File.dirname(_1) }
|
19
18
|
.then { File.join(_1, 'CBOs.json') }
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teodoro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.43.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clavius Tales
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: os
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rainbow
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubyzip
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- lib/teodoro.rb
|
192
192
|
- lib/teodoro/arquivo_data.rb
|
193
193
|
- lib/teodoro/arquivo_data/car.rb
|
194
|
+
- lib/teodoro/arquivo_data/fun.rb
|
194
195
|
- lib/teodoro/arquivo_data/tra_epg_avi.rb
|
195
196
|
- lib/teodoro/arquivo_de_evento.rb
|
196
197
|
- lib/teodoro/arquivo_de_evento_de_tabela.rb
|
@@ -206,6 +207,7 @@ files:
|
|
206
207
|
- lib/teodoro/empresa/cargos_gerados.rb
|
207
208
|
- lib/teodoro/empresa/contratos_de_emprego.rb
|
208
209
|
- lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb
|
210
|
+
- lib/teodoro/empresa/funcoes_geradas.rb
|
209
211
|
- lib/teodoro/empresa/trabalhadores.rb
|
210
212
|
- lib/teodoro/leiaute/arquivo_s1000.rb
|
211
213
|
- lib/teodoro/leiaute/arquivo_s1005.rb
|
@@ -228,6 +230,7 @@ files:
|
|
228
230
|
- lib/teodoro/leiaute/arquivo_s3000.rb
|
229
231
|
- lib/teodoro/leiaute_simplificado.rb
|
230
232
|
- lib/teodoro/obj.rb
|
233
|
+
- lib/teodoro/version.rb
|
231
234
|
- lib/teodoro/xml.rb
|
232
235
|
- lib/tipos_de_logradouro.json
|
233
236
|
homepage:
|