teodoro 0.27.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/municipios.json +22262 -0
- data/lib/teodoro.rb +19 -1
- data/lib/teodoro/empresa.rb +6 -1
- data/lib/teodoro/empresa/contratos_de_emprego.rb +18 -2
- data/lib/teodoro/empresa/trabalhadores.rb +19 -0
- data/lib/teodoro/leiaute/arquivo_s2200.rb +60 -34
- data/lib/teodoro/leiaute/arquivo_s2205.rb +56 -29
- data/lib/teodoro/leiaute/arquivo_s2230.rb +0 -2
- data/lib/teodoro/leiaute/arquivo_s2299.rb +22 -18
- 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.28.0'.freeze
|
16
16
|
|
17
17
|
CBOs = __FILE__
|
18
18
|
.then { File.dirname(_1) }
|
@@ -23,6 +23,24 @@ 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
|
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,19 @@
|
|
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
15
|
contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
|
16
|
+
trabalhadores << admissao.trabalhador
|
6
17
|
end
|
7
18
|
|
8
19
|
def [](matricula)
|
@@ -11,7 +22,7 @@ module Teodoro
|
|
11
22
|
|
12
23
|
def *(cpf_do_trabalhador:, data:)
|
13
24
|
contratos
|
14
|
-
.select { _1.
|
25
|
+
.select { _1.trabalhador.cpf == cpf_do_trabalhador && _1.ativo?(data) }
|
15
26
|
.sort_by(&:data_de_admissao)
|
16
27
|
end
|
17
28
|
|
@@ -43,7 +54,12 @@ module Teodoro
|
|
43
54
|
|
44
55
|
extend Forwardable
|
45
56
|
|
46
|
-
def_delegators :admissao,
|
57
|
+
def_delegators :admissao,
|
58
|
+
:trabalhador,
|
59
|
+
:matricula,
|
60
|
+
:data_de_admissao,
|
61
|
+
:categoria_do_trabalhador,
|
62
|
+
:primeiro_emprego_do_trabalhador,
|
47
63
|
:recibo
|
48
64
|
|
49
65
|
attr_accessor :afastamento
|
@@ -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,17 +13,47 @@ 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
|
|
21
|
+
def admissao
|
22
|
+
Obj.new(
|
23
|
+
trabalhador: trabalhador,
|
24
|
+
matricula: matricula_do_trabalhador,
|
25
|
+
data_de_admissao: data_de_admissao,
|
26
|
+
categoria_do_trabalhador: categoria_do_trabalhador,
|
27
|
+
primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
|
28
|
+
recibo: numero_do_recibo
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
33
|
+
@trabalhador ||= Obj.new(
|
34
|
+
cpf: evento['trabalhador/cpfTrab'],
|
35
|
+
nis: evento['trabalhador/nisTrab'],
|
36
|
+
nome: evento['trabalhador/nmTrab'],
|
37
|
+
sexo: evento['trabalhador/sexo'],
|
38
|
+
raca_cor: evento['trabalhador/racaCor'],
|
39
|
+
estado_civil: evento['trabalhador/estCiv'],
|
40
|
+
grau_de_instrucao: evento['trabalhador/grauInstr'],
|
41
|
+
nome_social: evento['trabalhador/nmSoc'],
|
42
|
+
data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
|
43
|
+
pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
|
44
|
+
pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
|
45
|
+
codigo_do_municipio_de_nascimento: evento['trabalhador/nascimento/codMunic'],
|
46
|
+
uf_de_nascimento: evento['trabalhador/nascimento/uf'],
|
47
|
+
nome_da_mae: evento['trabalhador/nascimento/nmMae'],
|
48
|
+
nome_do_pai: evento['trabalhador/nascimento/nmPai'],
|
49
|
+
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
50
|
+
endereco: Obj.new(
|
51
|
+
tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
|
52
|
+
codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic']
|
53
|
+
)
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
27
57
|
def contratos_de_emprego
|
28
58
|
empresa.contratos_de_emprego
|
29
59
|
end
|
@@ -40,10 +70,6 @@ module Teodoro
|
|
40
70
|
@categoria_do_trabalhador ||= evento['vinculo/infoContrato/codCateg']
|
41
71
|
end
|
42
72
|
|
43
|
-
def cpf_do_trabalhador
|
44
|
-
@cpf_do_trabalhador ||= evento['trabalhador/cpfTrab']
|
45
|
-
end
|
46
|
-
|
47
73
|
def afastamento
|
48
74
|
evento['vinculo/afastamento']&.then { Obj.new(
|
49
75
|
data_de_inicio: _1['dtIniAfast'],
|
@@ -54,10 +80,10 @@ module Teodoro
|
|
54
80
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
55
81
|
[
|
56
82
|
Obj.new(
|
57
|
-
nome: "TRA[#{
|
83
|
+
nome: "TRA[#{trabalhador.cpf}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM",
|
58
84
|
itens_do_conteudo: [
|
59
85
|
# rubocop:disable Layout/LineLength
|
60
|
-
['ESX_CPF',
|
86
|
+
['ESX_CPF', trabalhador.cpf],
|
61
87
|
['ESX_MATRICULA', matricula_do_trabalhador],
|
62
88
|
['ESX_CATEGORIA', categoria_do_trabalhador],
|
63
89
|
%w[ESX_SEMVINCULO 0],
|
@@ -81,43 +107,43 @@ module Teodoro
|
|
81
107
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
82
108
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
83
109
|
['HorarioTela_Dia'],
|
84
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
110
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
111
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
112
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
113
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
88
114
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
115
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
90
116
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
91
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
117
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
92
118
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
119
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
94
120
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
95
121
|
['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',
|
122
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
123
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
124
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
125
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
126
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
127
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
128
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
103
129
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
130
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
105
131
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
106
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
132
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
107
133
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
108
134
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
|
109
135
|
['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
|
110
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio',
|
111
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
136
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
137
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
112
138
|
['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
|
113
139
|
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
|
114
140
|
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
|
115
141
|
['SemNumeroLogradouroEnderecoBR'],
|
116
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro',
|
117
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
142
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
143
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
118
144
|
['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
|
119
145
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
120
|
-
['ResideExterior',
|
146
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
121
147
|
['SemNumeroLogradouroEnderecoEX'],
|
122
148
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
|
123
149
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
|
@@ -5,17 +5,48 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
+
def criar_arquivos_data
|
9
|
+
super
|
10
|
+
|
11
|
+
empresa.trabalhadores << trabalhador
|
12
|
+
end
|
13
|
+
|
14
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
15
|
+
@trabalhador ||= Obj.new(
|
16
|
+
cpf: evento['ideTrabalhador/cpfTrab'],
|
17
|
+
nis: evento['alteracao/dadosTrabalhador/nisTrab'],
|
18
|
+
nome: evento['alteracao/dadosTrabalhador/nmTrab'],
|
19
|
+
sexo: evento['alteracao/dadosTrabalhador/sexo'],
|
20
|
+
raca_cor: evento['alteracao/dadosTrabalhador/racaCor'],
|
21
|
+
estado_civil: evento['alteracao/dadosTrabalhador/estCiv'],
|
22
|
+
grau_de_instrucao: evento['alteracao/dadosTrabalhador/grauInstr'],
|
23
|
+
nome_social: evento['alteracao/dadosTrabalhador/nmSoc'],
|
24
|
+
data_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/dtNascto'],
|
25
|
+
pais_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/paisNascto'],
|
26
|
+
pais_de_nacionalidade: evento["alteracao/dadosTrabalhador/#{'nascimento' unless leiaute_simplificado?}/paisNac"], # rubocop:disable Layout/LineLength
|
27
|
+
codigo_do_municipio_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/codMunic'],
|
28
|
+
uf_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/uf'],
|
29
|
+
nome_da_mae: evento['alteracao/dadosTrabalhador/nascimento/nmMae'],
|
30
|
+
nome_do_pai: evento['alteracao/dadosTrabalhador/nascimento/nmPai'],
|
31
|
+
reside_no_exterior?: evento['alteracao/dadosTrabalhador/endereco/exterior'],
|
32
|
+
endereco: Obj.new(
|
33
|
+
tipo_de_logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd'],
|
34
|
+
codigo_do_municipio: evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']
|
35
|
+
)
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
8
39
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
9
40
|
contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
10
41
|
Obj.new(
|
11
42
|
nome: [
|
12
|
-
"TRA[#{
|
43
|
+
"TRA[#{trabalhador.cpf}]",
|
13
44
|
contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
|
14
45
|
"-ACA[#{data_da_alteracao.delete('-')}]"
|
15
46
|
].join,
|
16
47
|
itens_do_conteudo: [
|
17
48
|
# rubocop:disable Layout/LineLength
|
18
|
-
['ESX_CPF',
|
49
|
+
['ESX_CPF', trabalhador.cpf],
|
19
50
|
['ESX_MATRICULA', contrato_de_trabalho.matricula_do_contrato],
|
20
51
|
['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
|
21
52
|
%w[ESX_SEMVINCULO 0], # FIXME: Tales TC
|
@@ -32,42 +63,42 @@ module Teodoro
|
|
32
63
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
33
64
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
34
65
|
['EventoAdmissao_TipoEventoEnviado'],
|
35
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
36
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
37
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
38
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
66
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
67
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
68
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
69
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
39
70
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
40
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
71
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
41
72
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
42
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
73
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
43
74
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
44
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
75
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
45
76
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
46
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial',
|
47
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio',
|
48
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
49
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
50
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae',
|
51
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai',
|
52
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento',
|
77
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
78
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
79
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
80
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
81
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
82
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
83
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
53
84
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
54
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
85
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
55
86
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
56
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
87
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
57
88
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
58
89
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
|
59
90
|
['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
|
60
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio',
|
61
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
91
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
92
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
62
93
|
['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
|
63
94
|
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
|
64
95
|
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
|
65
96
|
['SemNumeroLogradouroEnderecoBR'],
|
66
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro',
|
67
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
97
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
98
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
68
99
|
['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
|
69
100
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
70
|
-
['ResideExterior',
|
101
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
71
102
|
['SemNumeroLogradouroEnderecoEX'],
|
72
103
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
|
73
104
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data],
|
@@ -125,20 +156,16 @@ module Teodoro
|
|
125
156
|
|
126
157
|
def contratos_de_emprego
|
127
158
|
empresa.contratos_de_emprego
|
128
|
-
.*(cpf_do_trabalhador:
|
159
|
+
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
129
160
|
.map { [ContratoDeEmprego, _1] }
|
130
161
|
end
|
131
162
|
|
132
163
|
def contratos_de_trabalho_sem_vinculo
|
133
164
|
empresa.contratos_de_trabalho_sem_vinculo
|
134
|
-
.*(cpf_do_trabalhador:
|
165
|
+
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
135
166
|
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
136
167
|
end
|
137
168
|
|
138
|
-
def cpf_do_trabalhador
|
139
|
-
@cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
|
140
|
-
end
|
141
|
-
|
142
169
|
def data_da_alteracao
|
143
170
|
@data_da_alteracao ||= evento['alteracao/dtAlteracao']
|
144
171
|
end
|
@@ -137,8 +137,6 @@ module Teodoro
|
|
137
137
|
['CodMotivoAfastamentoRetif'],
|
138
138
|
['TipoEventoCadastro'],
|
139
139
|
['IdEventoAfastamento'],
|
140
|
-
(['DataFim', data_de_termino_do_afastamento, :data] if termino_do_afastamento?),
|
141
|
-
['DataInicio', data_de_inicio_do_afastamento, :data],
|
142
140
|
['CodigoMotivo', codigo_do_motivo_de_afastamento],
|
143
141
|
['Motivo'],
|
144
142
|
['ExibirBotoes'],
|
@@ -41,7 +41,7 @@ module Teodoro
|
|
41
41
|
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
42
42
|
end
|
43
43
|
|
44
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
44
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
45
45
|
[
|
46
46
|
Obj.new(
|
47
47
|
nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER",
|
@@ -80,28 +80,28 @@ module Teodoro
|
|
80
80
|
['HorarioTela_Dia'],
|
81
81
|
['NomeEstabelecimentoLocalTrabalho'],
|
82
82
|
['EventoAdmissao_InfoTrabalhador_Cpf'],
|
83
|
-
['EventoAdmissao_InfoTrabalhador_Nome'],
|
84
|
-
['EventoAdmissao_InfoTrabalhador_Nis'],
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Sexo'],
|
83
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
84
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
85
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
86
86
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
87
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor'],
|
87
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
88
88
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
|
89
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
90
90
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
91
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
|
91
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
92
92
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
|
94
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial'],
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
93
|
+
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', contrato_de_emprego.primeiro_emprego_do_trabalhador],
|
94
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
95
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
96
96
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
97
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
|
98
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
|
97
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
98
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
99
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
102
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
102
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
103
103
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
104
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
105
105
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
106
106
|
['EventoAdmissao_EnderecoResidencialBR_Bairro'],
|
107
107
|
['EventoAdmissao_EnderecoResidencialBR_Cep'],
|
@@ -115,7 +115,7 @@ module Teodoro
|
|
115
115
|
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
116
116
|
['EventoAdmissao_EnderecoResidencialBR_Uf'],
|
117
117
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
118
|
-
['ResideExterior'],
|
118
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
119
119
|
['SemNumeroLogradouroEnderecoEX'],
|
120
120
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
|
121
121
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
|
@@ -157,7 +157,7 @@ module Teodoro
|
|
157
157
|
['EventoAdmissao_Contato_EmailAlternativo'],
|
158
158
|
['CodigoCBO'],
|
159
159
|
['CodigoCNAE'],
|
160
|
-
['InfoVinculo_Matricula'],
|
160
|
+
['InfoVinculo_Matricula', matricula_do_trabalhador],
|
161
161
|
['InfoVinculo_TipoRegimeTrabalhista'],
|
162
162
|
['InfoVinculo_TipoRegimePrevidenciario'],
|
163
163
|
['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
@@ -215,6 +215,10 @@ module Teodoro
|
|
215
215
|
@motivo_do_desligamento ||= evento['infoDeslig/mtvDeslig']
|
216
216
|
end
|
217
217
|
|
218
|
+
def trabalhador
|
219
|
+
@trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
|
220
|
+
end
|
221
|
+
|
218
222
|
def categoria_do_trabalhador
|
219
223
|
contrato_de_emprego.categoria_do_trabalhador
|
220
224
|
end
|