teodoro 0.24.0 → 0.29.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 +4 -4
- data/lib/municipios.json +22262 -0
- data/lib/teodoro.rb +35 -11
- data/lib/teodoro/arquivo_xml.rb +6 -5
- data/lib/teodoro/empresa.rb +6 -1
- data/lib/teodoro/empresa/contratos_de_emprego.rb +36 -3
- data/lib/teodoro/empresa/trabalhadores.rb +19 -0
- data/lib/teodoro/leiaute/arquivo_s2200.rb +173 -92
- data/lib/teodoro/leiaute/arquivo_s2205.rb +153 -68
- data/lib/teodoro/leiaute/arquivo_s2206.rb +68 -45
- data/lib/teodoro/leiaute/arquivo_s2230.rb +0 -2
- data/lib/teodoro/leiaute/arquivo_s2299.rb +71 -67
- data/lib/teodoro/leiaute/arquivo_s2300.rb +6 -2
- data/lib/teodoro/leiaute/arquivo_s2306.rb +1 -1
- data/lib/teodoro/leiaute/arquivo_s2399.rb +1 -1
- data/lib/tipos_de_logradouro.json +730 -0
- metadata +5 -2
data/lib/teodoro.rb
CHANGED
@@ -12,7 +12,7 @@ require_relative 'teodoro/empresa'
|
|
12
12
|
require_relative 'teodoro/obj'
|
13
13
|
|
14
14
|
module Teodoro
|
15
|
-
VERSION = '0.
|
15
|
+
VERSION = '0.29.0'.freeze
|
16
16
|
|
17
17
|
CBOs = __FILE__
|
18
18
|
.then { File.dirname(_1) }
|
@@ -23,15 +23,28 @@ module Teodoro
|
|
23
23
|
.to_h
|
24
24
|
.freeze
|
25
25
|
|
26
|
+
Municipios = __FILE__
|
27
|
+
.then { File.dirname(_1) }
|
28
|
+
.then { File.join(_1, 'municipios.json') }
|
29
|
+
.then { File.read(_1) }
|
30
|
+
.then { JSON.parse(_1) }
|
31
|
+
.map { [_1['codigo'], _1['nome']] }
|
32
|
+
.to_h
|
33
|
+
.freeze
|
34
|
+
|
35
|
+
TiposDeLogradouro = __FILE__
|
36
|
+
.then { File.dirname(_1) }
|
37
|
+
.then { File.join(_1, 'tipos_de_logradouro.json') }
|
38
|
+
.then { File.read(_1) }
|
39
|
+
.then { JSON.parse(_1) }
|
40
|
+
.map { [_1['codigo'], _1['descricao']] }
|
41
|
+
.to_h
|
42
|
+
.freeze
|
43
|
+
|
26
44
|
def self.call(args)
|
27
45
|
Execution.new(args).call
|
28
46
|
end
|
29
47
|
|
30
|
-
@production = true
|
31
|
-
def self.production?
|
32
|
-
@production
|
33
|
-
end
|
34
|
-
|
35
48
|
class Execution
|
36
49
|
NOME_DO_PROGRAMA = 'teodoro'.freeze
|
37
50
|
|
@@ -49,6 +62,7 @@ module Teodoro
|
|
49
62
|
validar_argumentos
|
50
63
|
validar_existencia_do_diretorio_de_origem
|
51
64
|
validar_existencia_do_diretorio_de_destino
|
65
|
+
validar_que_diretorio_de_origem_nao_contem_arquivo
|
52
66
|
validar_que_diretorio_de_origem_nao_esta_vazio
|
53
67
|
validar_que_diretorio_de_destino_esta_vazio
|
54
68
|
validar_que_nao_ha_nova_versao_disponivel
|
@@ -59,7 +73,7 @@ module Teodoro
|
|
59
73
|
private
|
60
74
|
|
61
75
|
def validar_argumentos
|
62
|
-
erro
|
76
|
+
erro("#{NOME_DO_PROGRAMA} [diretório de origem] [diretório de destino]", saiba_mais: true) unless args.size == 2
|
63
77
|
end
|
64
78
|
|
65
79
|
def validar_que_nao_ha_nova_versao_disponivel
|
@@ -113,16 +127,26 @@ module Teodoro
|
|
113
127
|
@destino ||= args[1].tr('\\', '/')
|
114
128
|
end
|
115
129
|
|
130
|
+
def validar_que_diretorio_de_origem_nao_contem_arquivo
|
131
|
+
return unless diretorio_de_origem_contem_arquivo?
|
132
|
+
|
133
|
+
erro('Diretório de origem deve conter apenas diretórios de empresa.', saiba_mais: true)
|
134
|
+
end
|
135
|
+
|
136
|
+
def diretorio_de_origem_contem_arquivo?
|
137
|
+
Dir[File.join(origem, '*')].any? { File.file?(_1) }
|
138
|
+
end
|
139
|
+
|
116
140
|
def validar_que_diretorio_de_origem_nao_esta_vazio
|
117
|
-
erro
|
141
|
+
erro('Diretório de origem vazio.', saiba_mais: true) if Dir.empty?(origem)
|
118
142
|
end
|
119
143
|
|
120
144
|
def validar_que_diretorio_de_destino_esta_vazio
|
121
|
-
erro
|
145
|
+
erro('Diretório de destino deve estar vazio.', saiba_mais: true) unless Dir.empty?(destino)
|
122
146
|
end
|
123
147
|
|
124
|
-
def erro(erro)
|
125
|
-
puts erro
|
148
|
+
def erro(erro, saiba_mais: false)
|
149
|
+
puts [erro, *('Saiba mais em sites.google.com/fortestecnologia.com.br/teodoro.' if saiba_mais)]
|
126
150
|
exit
|
127
151
|
end
|
128
152
|
|
data/lib/teodoro/arquivo_xml.rb
CHANGED
@@ -49,6 +49,7 @@ module Teodoro
|
|
49
49
|
].freeze
|
50
50
|
|
51
51
|
TIPOS_DE_EVENTO_RETIFICAVEIS = %w[
|
52
|
+
S2190
|
52
53
|
S2200
|
53
54
|
S2205
|
54
55
|
S2206
|
@@ -126,11 +127,11 @@ module Teodoro
|
|
126
127
|
end
|
127
128
|
|
128
129
|
def validar_versao_do_leiaute
|
129
|
-
raise unless [
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
130
|
+
raise unless %w[
|
131
|
+
02_04_01
|
132
|
+
02_04_02
|
133
|
+
02_05_00
|
134
|
+
_S_01_00_00
|
134
135
|
].include?(versao_do_leiaute)
|
135
136
|
end
|
136
137
|
|
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/trabalhadores'
|
9
10
|
|
10
11
|
module Teodoro
|
11
12
|
class Empresa
|
@@ -60,8 +61,12 @@ module Teodoro
|
|
60
61
|
@arquivos_data ||= ArquivosData.new(destino_dos_arquivos_data)
|
61
62
|
end
|
62
63
|
|
64
|
+
def trabalhadores
|
65
|
+
@trabalhadores ||= Trabalhadores.new
|
66
|
+
end
|
67
|
+
|
63
68
|
def contratos_de_emprego
|
64
|
-
@contratos_de_emprego ||= ContratosDeEmprego.new
|
69
|
+
@contratos_de_emprego ||= ContratosDeEmprego.new(trabalhadores)
|
65
70
|
end
|
66
71
|
|
67
72
|
def contratos_de_trabalho_sem_vinculo
|
@@ -1,8 +1,25 @@
|
|
1
1
|
module Teodoro
|
2
2
|
class Empresa
|
3
3
|
class ContratosDeEmprego
|
4
|
+
private
|
5
|
+
|
6
|
+
def initialize(trabalhadores)
|
7
|
+
@trabalhadores = trabalhadores
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :trabalhadores
|
11
|
+
|
12
|
+
public
|
13
|
+
|
4
14
|
def registrar_admissao(admissao:, afastamento:)
|
5
|
-
contratos_por_matricula[admissao.
|
15
|
+
contratos_por_matricula[admissao.matricula_do_trabalhador] =
|
16
|
+
Contrato.new(admissao: admissao, afastamento: afastamento)
|
17
|
+
trabalhadores << admissao.trabalhador
|
18
|
+
end
|
19
|
+
|
20
|
+
def registrar_alteracao_contratual(alteracao_contratual)
|
21
|
+
contratos_por_matricula[alteracao_contratual.matricula_do_trabalhador]
|
22
|
+
.registrar_alteracao_contratual(alteracao_contratual)
|
6
23
|
end
|
7
24
|
|
8
25
|
def [](matricula)
|
@@ -11,7 +28,7 @@ module Teodoro
|
|
11
28
|
|
12
29
|
def *(cpf_do_trabalhador:, data:)
|
13
30
|
contratos
|
14
|
-
.select { _1.
|
31
|
+
.select { _1.trabalhador.cpf == cpf_do_trabalhador && _1.ativo?(data) }
|
15
32
|
.sort_by(&:data_de_admissao)
|
16
33
|
end
|
17
34
|
|
@@ -35,6 +52,9 @@ module Teodoro
|
|
35
52
|
def initialize(admissao:, afastamento:)
|
36
53
|
@admissao = admissao
|
37
54
|
@afastamento = afastamento
|
55
|
+
|
56
|
+
@tipo_de_regime_previdenciario = admissao.tipo_de_regime_previdenciario
|
57
|
+
@duracao = admissao.duracao
|
38
58
|
end
|
39
59
|
|
40
60
|
attr_reader :admissao, :data_de_desligamento
|
@@ -43,13 +63,26 @@ module Teodoro
|
|
43
63
|
|
44
64
|
extend Forwardable
|
45
65
|
|
46
|
-
def_delegators :admissao,
|
66
|
+
def_delegators :admissao,
|
67
|
+
:trabalhador,
|
68
|
+
:matricula_do_trabalhador,
|
69
|
+
:tipo_de_regime_trabalhista,
|
70
|
+
:data_de_admissao,
|
71
|
+
:categoria_do_trabalhador,
|
72
|
+
:primeiro_emprego_do_trabalhador,
|
47
73
|
:recibo
|
48
74
|
|
49
75
|
attr_accessor :afastamento
|
50
76
|
|
77
|
+
attr_reader :tipo_de_regime_previdenciario, :duracao
|
78
|
+
|
51
79
|
attr_writer :data_de_desligamento
|
52
80
|
|
81
|
+
def registrar_alteracao_contratual(alteracao_contratual)
|
82
|
+
@tipo_de_regime_previdenciario = alteracao_contratual.tipo_de_regime_previdenciario
|
83
|
+
@duracao = alteracao_contratual.duracao
|
84
|
+
end
|
85
|
+
|
53
86
|
def ativo?(data)
|
54
87
|
data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
|
55
88
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Teodoro
|
2
|
+
class Empresa
|
3
|
+
class Trabalhadores
|
4
|
+
def <<(trabalhador)
|
5
|
+
trabalhadores[trabalhador.cpf] = trabalhador
|
6
|
+
end
|
7
|
+
|
8
|
+
def [](cpf)
|
9
|
+
trabalhadores[cpf]
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def trabalhadores
|
15
|
+
@trabalhadores ||= {}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -13,35 +13,110 @@ module Teodoro
|
|
13
13
|
|
14
14
|
def registrar_admissao
|
15
15
|
contratos_de_emprego.registrar_admissao(
|
16
|
-
admissao:
|
17
|
-
matricula: matricula_do_trabalhador,
|
18
|
-
data_de_admissao: data_de_admissao,
|
19
|
-
categoria_do_trabalhador: categoria_do_trabalhador,
|
20
|
-
cpf_do_trabalhador: cpf_do_trabalhador,
|
21
|
-
recibo: numero_do_recibo
|
22
|
-
),
|
16
|
+
admissao: admissao,
|
23
17
|
afastamento: afastamento
|
24
18
|
)
|
25
19
|
end
|
26
20
|
|
27
|
-
def
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
21
|
+
def admissao # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
22
|
+
@admissao ||= Obj.new(
|
23
|
+
trabalhador: trabalhador,
|
24
|
+
matricula_do_trabalhador: evento['vinculo/matricula'],
|
25
|
+
tipo_de_regime_trabalhista: evento['vinculo/tpRegTrab'],
|
26
|
+
tipo_de_regime_previdenciario: evento['vinculo/tpRegPrev'],
|
27
|
+
data_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'],
|
28
|
+
categoria_do_trabalhador: evento['vinculo/infoContrato/codCateg'],
|
29
|
+
primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
|
30
|
+
duracao: Obj.new(tipo_de_contrato: evento['vinculo/infoContrato/duracao/tpContr']),
|
31
|
+
recibo: numero_do_recibo
|
32
|
+
)
|
37
33
|
end
|
38
34
|
|
39
|
-
def
|
40
|
-
@
|
35
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
36
|
+
@trabalhador ||= Obj.new(
|
37
|
+
cpf: evento['trabalhador/cpfTrab'],
|
38
|
+
nis: evento['trabalhador/nisTrab'],
|
39
|
+
nome: evento['trabalhador/nmTrab'],
|
40
|
+
sexo: evento['trabalhador/sexo'],
|
41
|
+
raca_cor: evento['trabalhador/racaCor'],
|
42
|
+
estado_civil: evento['trabalhador/estCiv'],
|
43
|
+
grau_de_instrucao: evento['trabalhador/grauInstr'],
|
44
|
+
nome_social: evento['trabalhador/nmSoc'],
|
45
|
+
data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
|
46
|
+
pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
|
47
|
+
pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
|
48
|
+
codigo_do_municipio_de_nascimento: evento['trabalhador/nascimento/codMunic'],
|
49
|
+
uf_de_nascimento: evento['trabalhador/nascimento/uf'],
|
50
|
+
nome_da_mae: evento['trabalhador/nascimento/nmMae'],
|
51
|
+
nome_do_pai: evento['trabalhador/nascimento/nmPai'],
|
52
|
+
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
53
|
+
endereco: Obj.new(
|
54
|
+
tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
|
55
|
+
logradouro: evento['trabalhador/endereco/brasil/dscLograd'],
|
56
|
+
numero: evento['trabalhador/endereco/brasil/nrLograd'],
|
57
|
+
complemento: evento['trabalhador/endereco/brasil/complemento'],
|
58
|
+
bairro: evento['trabalhador/endereco/brasil/bairro'],
|
59
|
+
cep: evento['trabalhador/endereco/brasil/cep'],
|
60
|
+
codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic'],
|
61
|
+
uf: evento['trabalhador/endereco/brasil/uf']
|
62
|
+
),
|
63
|
+
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
64
|
+
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
65
|
+
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
66
|
+
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
67
|
+
ctps: Obj.new(
|
68
|
+
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
69
|
+
serie: evento['trabalhador/documentos/CTPS/serieCtps'],
|
70
|
+
uf: evento['trabalhador/documentos/CTPS/ufCtps']
|
71
|
+
),
|
72
|
+
rg: Obj.new(
|
73
|
+
numero: evento['trabalhador/documentos/RG/nrRg'],
|
74
|
+
orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
|
75
|
+
data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
|
76
|
+
),
|
77
|
+
rne: Obj.new(
|
78
|
+
numero: evento['trabalhador/documentos/RNE/nrRne'],
|
79
|
+
orgao_emissor: evento['trabalhador/documentos/RNE/orgaoEmissor'],
|
80
|
+
data_da_expedicao: evento['trabalhador/documentos/RNE/dtExped']
|
81
|
+
),
|
82
|
+
ric: Obj.new(
|
83
|
+
numero: evento['trabalhador/documentos/RIC/nrRic'],
|
84
|
+
orgao_emissor: evento['trabalhador/documentos/RIC/orgaoEmissor'],
|
85
|
+
data_da_expedicao: evento['trabalhador/documentos/RIC/dtExped']
|
86
|
+
),
|
87
|
+
oc: Obj.new(
|
88
|
+
numero: evento['trabalhador/documentos/OC/nrOc'],
|
89
|
+
orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
|
90
|
+
data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
|
91
|
+
),
|
92
|
+
cnh: Obj.new(
|
93
|
+
numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
|
94
|
+
data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
|
95
|
+
data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
|
96
|
+
data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
|
97
|
+
categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
|
98
|
+
uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
|
99
|
+
),
|
100
|
+
deficiencia: Obj.new(
|
101
|
+
fisica: evento['trabalhador/infoDeficiencia/defFisica'],
|
102
|
+
visual: evento['trabalhador/infoDeficiencia/defVisual'],
|
103
|
+
auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
|
104
|
+
mental: evento['trabalhador/infoDeficiencia/defMental'],
|
105
|
+
intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
|
106
|
+
reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
|
107
|
+
preenche_cota_de_pessoas_com_deficiencia: evento['trabalhador/infoDeficiencia/infoCota']
|
108
|
+
),
|
109
|
+
contato: Obj.new(
|
110
|
+
fone_principal: evento['trabalhador/contato/fonePrinc'],
|
111
|
+
fone_alternativo: evento['trabalhador/contato/foneAlternat'],
|
112
|
+
email_principal: evento['trabalhador/contato/emailPrinc'],
|
113
|
+
email_alternativo: evento['trabalhador/contato/emailAlternat']
|
114
|
+
)
|
115
|
+
)
|
41
116
|
end
|
42
117
|
|
43
|
-
def
|
44
|
-
|
118
|
+
def contratos_de_emprego
|
119
|
+
empresa.contratos_de_emprego
|
45
120
|
end
|
46
121
|
|
47
122
|
def afastamento
|
@@ -54,14 +129,19 @@ module Teodoro
|
|
54
129
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
55
130
|
[
|
56
131
|
Obj.new(
|
57
|
-
nome:
|
132
|
+
nome: [
|
133
|
+
'TRA',
|
134
|
+
"[#{trabalhador.cpf}]",
|
135
|
+
"[EPG_#{admissao.matricula_do_trabalhador}_#{admissao.data_de_admissao.delete('-')}]",
|
136
|
+
'-ADM'
|
137
|
+
].join,
|
58
138
|
itens_do_conteudo: [
|
59
139
|
# rubocop:disable Layout/LineLength
|
60
|
-
['ESX_CPF',
|
61
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
62
|
-
['ESX_CATEGORIA', categoria_do_trabalhador],
|
140
|
+
['ESX_CPF', trabalhador.cpf],
|
141
|
+
['ESX_MATRICULA', admissao.matricula_do_trabalhador],
|
142
|
+
['ESX_CATEGORIA', admissao.categoria_do_trabalhador],
|
63
143
|
%w[ESX_SEMVINCULO 0],
|
64
|
-
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
144
|
+
['ESX_DATAADMISSAO', admissao.data_de_admissao, :data],
|
65
145
|
['IdEventoXml', id_do_evento],
|
66
146
|
['NrReciboEventoOriginal'],
|
67
147
|
['EventoAdmissao_TipoEventoEnviado'],
|
@@ -81,83 +161,83 @@ module Teodoro
|
|
81
161
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
82
162
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
83
163
|
['HorarioTela_Dia'],
|
84
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
164
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
165
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
88
168
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
169
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
90
170
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
91
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
171
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
92
172
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
173
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
94
174
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
95
175
|
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
|
96
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial',
|
97
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio',
|
98
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
100
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae',
|
101
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai',
|
102
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento',
|
176
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
180
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
181
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
103
183
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
184
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
105
185
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
106
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
107
187
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
108
|
-
['EventoAdmissao_EnderecoResidencialBR_Bairro',
|
109
|
-
['EventoAdmissao_EnderecoResidencialBR_Cep',
|
110
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio',
|
111
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
112
|
-
['EventoAdmissao_EnderecoResidencialBR_Complemento',
|
113
|
-
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro',
|
114
|
-
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro',
|
188
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
189
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
190
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
191
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
192
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
193
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
194
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
115
195
|
['SemNumeroLogradouroEnderecoBR'],
|
116
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro',
|
117
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
118
|
-
['EventoAdmissao_EnderecoResidencialBR_Uf',
|
196
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
197
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
198
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
119
199
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
120
|
-
['ResideExterior',
|
200
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
121
201
|
['SemNumeroLogradouroEnderecoEX'],
|
122
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro',
|
123
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
124
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros',
|
202
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
203
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
204
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
125
205
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
126
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
206
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
127
207
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
128
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
129
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
130
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
131
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
132
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
208
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
209
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
210
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
211
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
212
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
133
213
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
134
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
135
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
136
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
214
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
215
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
216
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
137
217
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
138
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao',
|
139
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc',
|
140
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor',
|
141
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
142
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
143
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
144
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao',
|
145
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic',
|
146
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor',
|
147
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao',
|
148
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne',
|
149
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor',
|
150
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
151
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
152
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
153
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
154
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
155
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota',
|
156
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
157
|
-
['EventoAdmissao_Contato_TelefonePrincipal',
|
158
|
-
['EventoAdmissao_Contato_EmailPrincipal',
|
159
|
-
['EventoAdmissao_Contato_TelefoneAlternativo',
|
160
|
-
['EventoAdmissao_Contato_EmailAlternativo',
|
218
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
219
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
220
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
221
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
222
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
223
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
224
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
|
225
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
|
226
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
|
227
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
228
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
229
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
230
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
231
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
232
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
233
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
234
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
235
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
236
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
237
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
238
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
239
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
240
|
+
['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
|
161
241
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
162
242
|
[
|
163
243
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -183,8 +263,8 @@ module Teodoro
|
|
183
263
|
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
184
264
|
]
|
185
265
|
end.sum([]),
|
186
|
-
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
187
|
-
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato',
|
266
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', admissao.categoria_do_trabalhador],
|
267
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', admissao.duracao.tipo_de_contrato],
|
188
268
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
|
189
269
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
|
190
270
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
|
@@ -194,8 +274,8 @@ module Teodoro
|
|
194
274
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
|
195
275
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
196
276
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
197
|
-
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario',
|
198
|
-
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista',
|
277
|
+
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
278
|
+
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
199
279
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
200
280
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
201
281
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
@@ -207,6 +287,7 @@ module Teodoro
|
|
207
287
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
|
208
288
|
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
|
209
289
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
290
|
+
*([['HorarioNoturno', evento['vinculo/infoContrato/horContratual/horNoturno']]] if leiaute_simplificado?),
|
210
291
|
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
211
292
|
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
212
293
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|