teodoro 0.28.0 → 0.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/teodoro.rb +1 -1
- data/lib/teodoro/arquivo_xml.rb +1 -0
- data/lib/teodoro/empresa.rb +1 -1
- data/lib/teodoro/empresa/contratos_de_emprego.rb +26 -3
- data/lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb +18 -3
- data/lib/teodoro/leiaute/arquivo_s1010.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2200.rb +181 -94
- data/lib/teodoro/leiaute/arquivo_s2205.rb +112 -40
- data/lib/teodoro/leiaute/arquivo_s2206.rb +77 -46
- data/lib/teodoro/leiaute/arquivo_s2299.rb +54 -54
- data/lib/teodoro/leiaute/arquivo_s2300.rb +145 -80
- data/lib/teodoro/leiaute/arquivo_s2306.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2399.rb +48 -44
- data/lib/teodoro/leiaute_simplificado.rb +27 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af2634267636872bdf7b90c11efabccb8a0349e044af6ae8e819ef3b7d9283cb
|
4
|
+
data.tar.gz: fb86f02e7aaa5cba5a68f684e74bdeb185a10f076645d5bfd7d25a760a4020cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0123ebb895e40eb8d3b67c81cc7d1cbb370fd099b727e8a0f6636db1a4ec4a712e9f223a4720651847ec184094e5a174489d48dadac1f35a6f04feb175493942
|
7
|
+
data.tar.gz: 5ecd588330dac32441ffdbfcd6159b022d7b3b9902352f967ad55d78bbbfd56390909c6ebc810eb77a36e15d336e2f93e0f0848ca422a73f33995f04ae2ec3de
|
data/lib/teodoro.rb
CHANGED
data/lib/teodoro/arquivo_xml.rb
CHANGED
@@ -22,6 +22,7 @@ require_relative 'leiaute/arquivo_s2300'
|
|
22
22
|
require_relative 'leiaute/arquivo_s2306'
|
23
23
|
require_relative 'leiaute/arquivo_s2399'
|
24
24
|
require_relative 'leiaute/arquivo_s3000'
|
25
|
+
require_relative 'leiaute_simplificado'
|
25
26
|
require_relative 'xml'
|
26
27
|
|
27
28
|
module Teodoro
|
data/lib/teodoro/empresa.rb
CHANGED
@@ -70,7 +70,7 @@ module Teodoro
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def contratos_de_trabalho_sem_vinculo
|
73
|
-
@contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new
|
73
|
+
@contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new(trabalhadores)
|
74
74
|
end
|
75
75
|
|
76
76
|
def cargos_gerados
|
@@ -12,10 +12,16 @@ module Teodoro
|
|
12
12
|
public
|
13
13
|
|
14
14
|
def registrar_admissao(admissao:, afastamento:)
|
15
|
-
contratos_por_matricula[admissao.
|
15
|
+
contratos_por_matricula[admissao.matricula_do_trabalhador] =
|
16
|
+
Contrato.new(admissao: admissao, afastamento: afastamento)
|
16
17
|
trabalhadores << admissao.trabalhador
|
17
18
|
end
|
18
19
|
|
20
|
+
def registrar_alteracao_contratual(alteracao_contratual)
|
21
|
+
contratos_por_matricula[alteracao_contratual.matricula_do_trabalhador]
|
22
|
+
.registrar_alteracao_contratual(alteracao_contratual)
|
23
|
+
end
|
24
|
+
|
19
25
|
def [](matricula)
|
20
26
|
contratos_por_matricula[matricula]
|
21
27
|
end
|
@@ -46,6 +52,10 @@ module Teodoro
|
|
46
52
|
def initialize(admissao:, afastamento:)
|
47
53
|
@admissao = admissao
|
48
54
|
@afastamento = afastamento
|
55
|
+
|
56
|
+
@tipo_de_regime_previdenciario = admissao.tipo_de_regime_previdenciario
|
57
|
+
@natureza_da_atividade = admissao.natureza_da_atividade
|
58
|
+
@duracao = admissao.duracao
|
49
59
|
end
|
50
60
|
|
51
61
|
attr_reader :admissao, :data_de_desligamento
|
@@ -56,16 +66,29 @@ module Teodoro
|
|
56
66
|
|
57
67
|
def_delegators :admissao,
|
58
68
|
:trabalhador,
|
59
|
-
:
|
69
|
+
:primeiro_emprego_do_trabalhador,
|
70
|
+
:matricula_do_trabalhador,
|
71
|
+
:tipo_de_regime_trabalhista,
|
60
72
|
:data_de_admissao,
|
73
|
+
:tipo_de_admissao,
|
74
|
+
:indicativo_de_admissao,
|
75
|
+
:opcao_pelo_fgts,
|
76
|
+
:data_de_opcao_pelo_fgts,
|
61
77
|
:categoria_do_trabalhador,
|
62
|
-
:primeiro_emprego_do_trabalhador,
|
63
78
|
:recibo
|
64
79
|
|
65
80
|
attr_accessor :afastamento
|
66
81
|
|
82
|
+
attr_reader :tipo_de_regime_previdenciario, :natureza_da_atividade, :duracao
|
83
|
+
|
67
84
|
attr_writer :data_de_desligamento
|
68
85
|
|
86
|
+
def registrar_alteracao_contratual(alteracao_contratual)
|
87
|
+
@tipo_de_regime_previdenciario = alteracao_contratual.tipo_de_regime_previdenciario
|
88
|
+
@natureza_da_atividade = alteracao_contratual.natureza_da_atividade
|
89
|
+
@duracao = alteracao_contratual.duracao
|
90
|
+
end
|
91
|
+
|
69
92
|
def ativo?(data)
|
70
93
|
data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
|
71
94
|
end
|
@@ -1,14 +1,25 @@
|
|
1
1
|
module Teodoro
|
2
2
|
class Empresa
|
3
3
|
class ContratosDeTrabalhoSemVinculo
|
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_inicio_de_contrato(inicio_de_contrato:, afastamento:)
|
5
15
|
contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
|
16
|
+
trabalhadores << inicio_de_contrato.trabalhador
|
6
17
|
end
|
7
18
|
|
8
19
|
def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
|
9
20
|
contratos
|
10
21
|
.select {
|
11
|
-
_1.
|
22
|
+
_1.trabalhador.cpf == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
|
12
23
|
_1.ativo?(data)
|
13
24
|
}
|
14
25
|
.max_by(&:data_de_inicio)
|
@@ -16,7 +27,7 @@ module Teodoro
|
|
16
27
|
|
17
28
|
def *(cpf_do_trabalhador:, data:)
|
18
29
|
contratos
|
19
|
-
.select { _1.
|
30
|
+
.select { _1.trabalhador.cpf == cpf_do_trabalhador && _1.ativo?(data) }
|
20
31
|
.sort_by(&:data_de_inicio)
|
21
32
|
end
|
22
33
|
|
@@ -44,7 +55,11 @@ module Teodoro
|
|
44
55
|
|
45
56
|
extend Forwardable
|
46
57
|
|
47
|
-
def_delegators :inicio_de_contrato,
|
58
|
+
def_delegators :inicio_de_contrato,
|
59
|
+
:trabalhador,
|
60
|
+
:categoria_do_trabalhador,
|
61
|
+
:data_de_inicio,
|
62
|
+
:recibo
|
48
63
|
|
49
64
|
attr_accessor :afastamento
|
50
65
|
|
@@ -41,7 +41,7 @@ module Teodoro
|
|
41
41
|
['DadosRubrica_Natureza', evento['infoRubrica/*/dadosRubrica/natRubr']],
|
42
42
|
['DadosRubrica_TipoRubrica', evento['infoRubrica/*/dadosRubrica/tpRubr']],
|
43
43
|
['DadosRubrica_CodigoIncidenciaPrevidencia', evento['infoRubrica/*/dadosRubrica/codIncCP']],
|
44
|
-
|
44
|
+
leiaute['DadosRubrica_CodigoIncidenciaIR'],
|
45
45
|
['DadosRubrica_CodigoIncidenciaFGTS', evento['infoRubrica/*/dadosRubrica/codIncFGTS']],
|
46
46
|
['DadosRubrica_CodigoIncidenciaSindical', evento['infoRubrica/*/dadosRubrica/codIncSIND']],
|
47
47
|
['IdEventoXml', id_do_evento],
|
@@ -55,8 +55,8 @@ module Teodoro
|
|
55
55
|
]
|
56
56
|
end
|
57
57
|
|
58
|
-
def
|
59
|
-
@
|
58
|
+
def leiaute # rubocop:disable Metrics/MethodLength
|
59
|
+
@leiaute ||=
|
60
60
|
(
|
61
61
|
if leiaute_simplificado?
|
62
62
|
[
|
@@ -18,13 +18,21 @@ module Teodoro
|
|
18
18
|
)
|
19
19
|
end
|
20
20
|
|
21
|
-
def admissao
|
22
|
-
Obj.new(
|
21
|
+
def admissao # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
22
|
+
@admissao ||= Obj.new(
|
23
23
|
trabalhador: trabalhador,
|
24
|
-
matricula: matricula_do_trabalhador,
|
25
|
-
data_de_admissao: data_de_admissao,
|
26
|
-
categoria_do_trabalhador: categoria_do_trabalhador,
|
27
24
|
primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
|
25
|
+
matricula_do_trabalhador: evento['vinculo/matricula'],
|
26
|
+
tipo_de_regime_trabalhista: evento['vinculo/tpRegTrab'],
|
27
|
+
tipo_de_regime_previdenciario: evento['vinculo/tpRegPrev'],
|
28
|
+
data_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'],
|
29
|
+
tipo_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao'],
|
30
|
+
indicativo_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao'],
|
31
|
+
natureza_da_atividade: evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade'],
|
32
|
+
opcao_pelo_fgts: leiaute.opcao_pelo_fgts,
|
33
|
+
data_de_opcao_pelo_fgts: leiaute.data_de_opcao_pelo_fgts,
|
34
|
+
categoria_do_trabalhador: evento['vinculo/infoContrato/codCateg'],
|
35
|
+
duracao: Obj.new(tipo_de_contrato: evento['vinculo/infoContrato/duracao/tpContr']),
|
28
36
|
recibo: numero_do_recibo
|
29
37
|
)
|
30
38
|
end
|
@@ -49,7 +57,66 @@ module Teodoro
|
|
49
57
|
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
50
58
|
endereco: Obj.new(
|
51
59
|
tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
|
52
|
-
|
60
|
+
logradouro: evento['trabalhador/endereco/brasil/dscLograd'],
|
61
|
+
numero: evento['trabalhador/endereco/brasil/nrLograd'],
|
62
|
+
complemento: evento['trabalhador/endereco/brasil/complemento'],
|
63
|
+
bairro: evento['trabalhador/endereco/brasil/bairro'],
|
64
|
+
cep: evento['trabalhador/endereco/brasil/cep'],
|
65
|
+
codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic'],
|
66
|
+
uf: evento['trabalhador/endereco/brasil/uf']
|
67
|
+
),
|
68
|
+
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
69
|
+
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
70
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil_do_trabalhador,
|
71
|
+
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
72
|
+
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
73
|
+
ctps: Obj.new(
|
74
|
+
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
75
|
+
serie: evento['trabalhador/documentos/CTPS/serieCtps'],
|
76
|
+
uf: evento['trabalhador/documentos/CTPS/ufCtps']
|
77
|
+
),
|
78
|
+
rg: Obj.new(
|
79
|
+
numero: evento['trabalhador/documentos/RG/nrRg'],
|
80
|
+
orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
|
81
|
+
data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
|
82
|
+
),
|
83
|
+
rne: Obj.new(
|
84
|
+
numero: evento['trabalhador/documentos/RNE/nrRne'],
|
85
|
+
orgao_emissor: evento['trabalhador/documentos/RNE/orgaoEmissor'],
|
86
|
+
data_da_expedicao: evento['trabalhador/documentos/RNE/dtExped']
|
87
|
+
),
|
88
|
+
ric: Obj.new(
|
89
|
+
numero: evento['trabalhador/documentos/RIC/nrRic'],
|
90
|
+
orgao_emissor: evento['trabalhador/documentos/RIC/orgaoEmissor'],
|
91
|
+
data_da_expedicao: evento['trabalhador/documentos/RIC/dtExped']
|
92
|
+
),
|
93
|
+
oc: Obj.new(
|
94
|
+
numero: evento['trabalhador/documentos/OC/nrOc'],
|
95
|
+
orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
|
96
|
+
data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
|
97
|
+
),
|
98
|
+
cnh: Obj.new(
|
99
|
+
numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
|
100
|
+
data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
|
101
|
+
data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
|
102
|
+
data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
|
103
|
+
categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
|
104
|
+
uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
|
105
|
+
),
|
106
|
+
deficiencia: Obj.new(
|
107
|
+
fisica: evento['trabalhador/infoDeficiencia/defFisica'],
|
108
|
+
visual: evento['trabalhador/infoDeficiencia/defVisual'],
|
109
|
+
auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
|
110
|
+
mental: evento['trabalhador/infoDeficiencia/defMental'],
|
111
|
+
intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
|
112
|
+
reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
|
113
|
+
preenche_cota_de_pessoas_com_deficiencia: evento['trabalhador/infoDeficiencia/infoCota']
|
114
|
+
),
|
115
|
+
contato: Obj.new(
|
116
|
+
fone_principal: evento['trabalhador/contato/fonePrinc'],
|
117
|
+
fone_alternativo: evento['trabalhador/contato/foneAlternat'],
|
118
|
+
email_principal: evento['trabalhador/contato/emailPrinc'],
|
119
|
+
email_alternativo: evento['trabalhador/contato/emailAlternat']
|
53
120
|
)
|
54
121
|
)
|
55
122
|
end
|
@@ -58,18 +125,6 @@ module Teodoro
|
|
58
125
|
empresa.contratos_de_emprego
|
59
126
|
end
|
60
127
|
|
61
|
-
def matricula_do_trabalhador
|
62
|
-
@matricula_do_trabalhador ||= evento['vinculo/matricula']
|
63
|
-
end
|
64
|
-
|
65
|
-
def data_de_admissao
|
66
|
-
@data_de_admissao ||= evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm']
|
67
|
-
end
|
68
|
-
|
69
|
-
def categoria_do_trabalhador
|
70
|
-
@categoria_do_trabalhador ||= evento['vinculo/infoContrato/codCateg']
|
71
|
-
end
|
72
|
-
|
73
128
|
def afastamento
|
74
129
|
evento['vinculo/afastamento']&.then { Obj.new(
|
75
130
|
data_de_inicio: _1['dtIniAfast'],
|
@@ -80,14 +135,19 @@ module Teodoro
|
|
80
135
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
81
136
|
[
|
82
137
|
Obj.new(
|
83
|
-
nome:
|
138
|
+
nome: [
|
139
|
+
'TRA',
|
140
|
+
"[#{trabalhador.cpf}]",
|
141
|
+
"[EPG_#{admissao.matricula_do_trabalhador}_#{admissao.data_de_admissao.delete('-')}]",
|
142
|
+
'-ADM'
|
143
|
+
].join,
|
84
144
|
itens_do_conteudo: [
|
85
145
|
# rubocop:disable Layout/LineLength
|
86
146
|
['ESX_CPF', trabalhador.cpf],
|
87
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
88
|
-
['ESX_CATEGORIA', categoria_do_trabalhador],
|
147
|
+
['ESX_MATRICULA', admissao.matricula_do_trabalhador],
|
148
|
+
['ESX_CATEGORIA', admissao.categoria_do_trabalhador],
|
89
149
|
%w[ESX_SEMVINCULO 0],
|
90
|
-
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
150
|
+
['ESX_DATAADMISSAO', admissao.data_de_admissao, :data],
|
91
151
|
['IdEventoXml', id_do_evento],
|
92
152
|
['NrReciboEventoOriginal'],
|
93
153
|
['EventoAdmissao_TipoEventoEnviado'],
|
@@ -131,59 +191,59 @@ module Teodoro
|
|
131
191
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
132
192
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
133
193
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
134
|
-
['EventoAdmissao_EnderecoResidencialBR_Bairro',
|
135
|
-
['EventoAdmissao_EnderecoResidencialBR_Cep',
|
194
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
195
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
136
196
|
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
137
197
|
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
138
|
-
['EventoAdmissao_EnderecoResidencialBR_Complemento',
|
139
|
-
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro',
|
140
|
-
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro',
|
198
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
199
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
200
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
141
201
|
['SemNumeroLogradouroEnderecoBR'],
|
142
202
|
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
143
203
|
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
144
|
-
['EventoAdmissao_EnderecoResidencialBR_Uf',
|
204
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
145
205
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
146
206
|
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
147
207
|
['SemNumeroLogradouroEnderecoEX'],
|
148
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro',
|
149
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
150
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros',
|
151
|
-
|
152
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
208
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
209
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
210
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
211
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
212
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
153
213
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
154
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
155
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
156
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
157
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
158
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
214
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
215
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
216
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
217
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
218
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
159
219
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
160
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
161
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
162
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
220
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
221
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
222
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
163
223
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
164
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao',
|
165
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc',
|
166
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor',
|
167
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
168
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
169
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
170
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao',
|
171
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic',
|
172
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor',
|
173
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao',
|
174
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne',
|
175
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor',
|
176
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
177
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
178
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
179
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
180
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
181
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota',
|
182
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
183
|
-
['EventoAdmissao_Contato_TelefonePrincipal',
|
184
|
-
['EventoAdmissao_Contato_EmailPrincipal',
|
185
|
-
['EventoAdmissao_Contato_TelefoneAlternativo',
|
186
|
-
['EventoAdmissao_Contato_EmailAlternativo',
|
224
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
225
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
226
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
227
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
228
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
229
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
230
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
|
231
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
|
232
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
|
233
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
234
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
235
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
236
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
237
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
238
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
239
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
240
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
241
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
242
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
243
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
244
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
245
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
246
|
+
['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
|
187
247
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
188
248
|
[
|
189
249
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -209,35 +269,35 @@ module Teodoro
|
|
209
269
|
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
210
270
|
]
|
211
271
|
end.sum([]),
|
212
|
-
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
213
|
-
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato',
|
272
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', admissao.categoria_do_trabalhador],
|
273
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', admissao.duracao.tipo_de_contrato],
|
214
274
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
|
215
275
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
|
216
276
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
|
217
277
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data],
|
218
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao',
|
219
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade',
|
220
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao',
|
278
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', admissao.indicativo_de_admissao],
|
279
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', admissao.natureza_da_atividade],
|
280
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', admissao.tipo_de_admissao],
|
221
281
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
222
282
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
223
|
-
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario',
|
224
|
-
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista',
|
225
|
-
|
226
|
-
|
227
|
-
|
283
|
+
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
284
|
+
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
285
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
286
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
287
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
228
288
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
229
289
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
230
290
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
231
291
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
232
292
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
233
|
-
|
234
|
-
|
293
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
|
294
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
|
235
295
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
236
296
|
*([['HorarioNoturno', evento['vinculo/infoContrato/horContratual/horNoturno']]] if leiaute_simplificado?),
|
237
297
|
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
238
298
|
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
239
299
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|
240
|
-
|
300
|
+
leiaute['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
|
241
301
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']]
|
242
302
|
# rubocop:enable Layout/LineLength
|
243
303
|
]
|
@@ -249,8 +309,8 @@ module Teodoro
|
|
249
309
|
@indicativo_de_cadastramento_inicial ||= evento['vinculo/cadIni']
|
250
310
|
end
|
251
311
|
|
252
|
-
def
|
253
|
-
@
|
312
|
+
def leiaute
|
313
|
+
@leiaute ||=
|
254
314
|
if leiaute_simplificado?
|
255
315
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
256
316
|
else
|
@@ -285,12 +345,28 @@ module Teodoro
|
|
285
345
|
@evento = evento
|
286
346
|
end
|
287
347
|
|
348
|
+
public
|
349
|
+
|
350
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
351
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
352
|
+
end
|
353
|
+
|
354
|
+
def opcao_pelo_fgts
|
355
|
+
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']
|
356
|
+
end
|
357
|
+
|
358
|
+
def data_de_opcao_pelo_fgts
|
359
|
+
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
360
|
+
end
|
361
|
+
|
362
|
+
private
|
363
|
+
|
288
364
|
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
289
365
|
[
|
290
366
|
# rubocop:disable Layout/LineLength
|
291
367
|
[
|
292
368
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
293
|
-
|
369
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
294
370
|
],
|
295
371
|
[
|
296
372
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -302,11 +378,11 @@ module Teodoro
|
|
302
378
|
],
|
303
379
|
[
|
304
380
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
305
|
-
|
381
|
+
opcao_pelo_fgts
|
306
382
|
],
|
307
383
|
[
|
308
384
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
309
|
-
|
385
|
+
data_de_opcao_pelo_fgts,
|
310
386
|
:data
|
311
387
|
],
|
312
388
|
[
|
@@ -334,20 +410,31 @@ module Teodoro
|
|
334
410
|
|
335
411
|
attr_reader :empresa
|
336
412
|
|
337
|
-
|
413
|
+
public
|
414
|
+
|
415
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
416
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
417
|
+
evento['trabalhador/trabImig']&.then do
|
418
|
+
Teodoro::LeiauteSimplificado::TrabalhadorImigrante.new(_1).condicao_de_ingresso_no_brasil_no_leiaute2
|
419
|
+
end
|
420
|
+
end
|
421
|
+
|
422
|
+
def opcao_pelo_fgts
|
423
|
+
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS'] ? 1 : 2
|
424
|
+
end
|
425
|
+
|
426
|
+
def data_de_opcao_pelo_fgts
|
427
|
+
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
428
|
+
end
|
429
|
+
|
430
|
+
private
|
431
|
+
|
432
|
+
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
338
433
|
[
|
339
434
|
# rubocop:disable Layout/LineLength
|
340
435
|
[
|
341
436
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
342
|
-
|
343
|
-
'1' => 4,
|
344
|
-
'2' => 5,
|
345
|
-
'3' => 9,
|
346
|
-
'4' => 10,
|
347
|
-
'5' => 11,
|
348
|
-
'6' => 12,
|
349
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
350
|
-
}[evento['trabalhador/trabImig/condIng']]
|
437
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
351
438
|
],
|
352
439
|
[
|
353
440
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -359,11 +446,11 @@ module Teodoro
|
|
359
446
|
],
|
360
447
|
[
|
361
448
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
362
|
-
|
449
|
+
opcao_pelo_fgts
|
363
450
|
],
|
364
451
|
[
|
365
452
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
366
|
-
|
453
|
+
data_de_opcao_pelo_fgts,
|
367
454
|
:data
|
368
455
|
],
|
369
456
|
[
|