teodoro 0.29.0 → 0.33.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 +8 -2
- 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 +77 -42
- data/lib/teodoro/leiaute/arquivo_s2205.rb +53 -16
- data/lib/teodoro/leiaute/arquivo_s2206.rb +11 -2
- data/lib/teodoro/leiaute/arquivo_s2299.rb +12 -12
- data/lib/teodoro/leiaute/arquivo_s2300.rb +177 -88
- 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: e38efe89c5dce86ffd1c23586c6f46cbbcbbf6dd43ed68a978bdb1aea2a71977
|
4
|
+
data.tar.gz: ac758cde798afd2aeab3355b745c141817f3cd2aa887c600e1a3c3bddf513972
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c109a836f693e148b9c349e2439816930edecf950f5ac7f9b839366bc5cea035844a05709ddc5d24510f48bf0f8f1f7710133da9b4c2b8e981ee6e57370f9524
|
7
|
+
data.tar.gz: cf5a7f671af06f913a7a75a9d37b531c29bab0aa21c7ed9a0467c10bb5a01e73734b4d6c7c66c09c3c75dc9e03bf9f07829a9cfb19b2f6f0acba1ff525b3da45
|
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
|
@@ -54,6 +54,7 @@ module Teodoro
|
|
54
54
|
@afastamento = afastamento
|
55
55
|
|
56
56
|
@tipo_de_regime_previdenciario = admissao.tipo_de_regime_previdenciario
|
57
|
+
@natureza_da_atividade = admissao.natureza_da_atividade
|
57
58
|
@duracao = admissao.duracao
|
58
59
|
end
|
59
60
|
|
@@ -65,21 +66,26 @@ module Teodoro
|
|
65
66
|
|
66
67
|
def_delegators :admissao,
|
67
68
|
:trabalhador,
|
69
|
+
:primeiro_emprego_do_trabalhador,
|
68
70
|
:matricula_do_trabalhador,
|
69
71
|
:tipo_de_regime_trabalhista,
|
70
72
|
:data_de_admissao,
|
73
|
+
:tipo_de_admissao,
|
74
|
+
:indicativo_de_admissao,
|
75
|
+
:opcao_pelo_fgts,
|
76
|
+
:data_de_opcao_pelo_fgts,
|
71
77
|
:categoria_do_trabalhador,
|
72
|
-
:primeiro_emprego_do_trabalhador,
|
73
78
|
:recibo
|
74
79
|
|
75
80
|
attr_accessor :afastamento
|
76
81
|
|
77
|
-
attr_reader :tipo_de_regime_previdenciario, :duracao
|
82
|
+
attr_reader :tipo_de_regime_previdenciario, :natureza_da_atividade, :duracao
|
78
83
|
|
79
84
|
attr_writer :data_de_desligamento
|
80
85
|
|
81
86
|
def registrar_alteracao_contratual(alteracao_contratual)
|
82
87
|
@tipo_de_regime_previdenciario = alteracao_contratual.tipo_de_regime_previdenciario
|
88
|
+
@natureza_da_atividade = alteracao_contratual.natureza_da_atividade
|
83
89
|
@duracao = alteracao_contratual.duracao
|
84
90
|
end
|
85
91
|
|
@@ -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
|
[
|
@@ -21,12 +21,17 @@ module Teodoro
|
|
21
21
|
def admissao # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
22
22
|
@admissao ||= Obj.new(
|
23
23
|
trabalhador: trabalhador,
|
24
|
+
primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
|
24
25
|
matricula_do_trabalhador: evento['vinculo/matricula'],
|
25
26
|
tipo_de_regime_trabalhista: evento['vinculo/tpRegTrab'],
|
26
27
|
tipo_de_regime_previdenciario: evento['vinculo/tpRegPrev'],
|
27
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,
|
28
34
|
categoria_do_trabalhador: evento['vinculo/infoContrato/codCateg'],
|
29
|
-
primeiro_emprego_do_trabalhador: evento['trabalhador/indPriEmpr'],
|
30
35
|
duracao: Obj.new(tipo_de_contrato: evento['vinculo/infoContrato/duracao/tpContr']),
|
31
36
|
recibo: numero_do_recibo
|
32
37
|
)
|
@@ -42,13 +47,15 @@ module Teodoro
|
|
42
47
|
estado_civil: evento['trabalhador/estCiv'],
|
43
48
|
grau_de_instrucao: evento['trabalhador/grauInstr'],
|
44
49
|
nome_social: evento['trabalhador/nmSoc'],
|
45
|
-
data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
|
46
|
-
pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
|
47
50
|
pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
51
|
+
nascimento: Obj.new(
|
52
|
+
data: evento['trabalhador/nascimento/dtNascto'],
|
53
|
+
pais: evento['trabalhador/nascimento/paisNascto'],
|
54
|
+
codigo_do_municipio: evento['trabalhador/nascimento/codMunic'],
|
55
|
+
uf: evento['trabalhador/nascimento/uf'],
|
56
|
+
nome_da_mae: evento['trabalhador/nascimento/nmMae'],
|
57
|
+
nome_do_pai: evento['trabalhador/nascimento/nmPai']
|
58
|
+
),
|
52
59
|
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
53
60
|
endereco: Obj.new(
|
54
61
|
tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
|
@@ -61,8 +68,9 @@ module Teodoro
|
|
61
68
|
uf: evento['trabalhador/endereco/brasil/uf']
|
62
69
|
),
|
63
70
|
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
64
|
-
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
65
71
|
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
72
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil_do_trabalhador,
|
73
|
+
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
66
74
|
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
67
75
|
ctps: Obj.new(
|
68
76
|
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
@@ -174,16 +182,16 @@ module Teodoro
|
|
174
182
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
175
183
|
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
|
176
184
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
177
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.
|
178
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.
|
179
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.
|
180
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
181
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
182
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.
|
185
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
187
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
188
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
189
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
190
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
183
191
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
184
192
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
185
193
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
186
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.
|
194
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
187
195
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
188
196
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
189
197
|
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
@@ -202,7 +210,7 @@ module Teodoro
|
|
202
210
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
203
211
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
204
212
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
205
|
-
|
213
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
206
214
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
207
215
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
208
216
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
@@ -269,29 +277,29 @@ module Teodoro
|
|
269
277
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
|
270
278
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
|
271
279
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data],
|
272
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao',
|
273
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade',
|
274
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao',
|
280
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', admissao.indicativo_de_admissao],
|
281
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', admissao.natureza_da_atividade],
|
282
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', admissao.tipo_de_admissao],
|
275
283
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
276
284
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
277
285
|
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
278
286
|
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
279
|
-
|
280
|
-
|
281
|
-
|
287
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
288
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
289
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
282
290
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
283
291
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
284
292
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
285
293
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
286
294
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
287
|
-
|
288
|
-
|
295
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
|
296
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
|
289
297
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
290
298
|
*([['HorarioNoturno', evento['vinculo/infoContrato/horContratual/horNoturno']]] if leiaute_simplificado?),
|
291
299
|
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
292
300
|
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
293
301
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|
294
|
-
|
302
|
+
leiaute['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
|
295
303
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']]
|
296
304
|
# rubocop:enable Layout/LineLength
|
297
305
|
]
|
@@ -303,8 +311,8 @@ module Teodoro
|
|
303
311
|
@indicativo_de_cadastramento_inicial ||= evento['vinculo/cadIni']
|
304
312
|
end
|
305
313
|
|
306
|
-
def
|
307
|
-
@
|
314
|
+
def leiaute
|
315
|
+
@leiaute ||=
|
308
316
|
if leiaute_simplificado?
|
309
317
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
310
318
|
else
|
@@ -339,12 +347,28 @@ module Teodoro
|
|
339
347
|
@evento = evento
|
340
348
|
end
|
341
349
|
|
350
|
+
public
|
351
|
+
|
352
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
353
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
354
|
+
end
|
355
|
+
|
356
|
+
def opcao_pelo_fgts
|
357
|
+
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']
|
358
|
+
end
|
359
|
+
|
360
|
+
def data_de_opcao_pelo_fgts
|
361
|
+
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
362
|
+
end
|
363
|
+
|
364
|
+
private
|
365
|
+
|
342
366
|
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
343
367
|
[
|
344
368
|
# rubocop:disable Layout/LineLength
|
345
369
|
[
|
346
370
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
347
|
-
|
371
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
348
372
|
],
|
349
373
|
[
|
350
374
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -356,11 +380,11 @@ module Teodoro
|
|
356
380
|
],
|
357
381
|
[
|
358
382
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
359
|
-
|
383
|
+
opcao_pelo_fgts
|
360
384
|
],
|
361
385
|
[
|
362
386
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
363
|
-
|
387
|
+
data_de_opcao_pelo_fgts,
|
364
388
|
:data
|
365
389
|
],
|
366
390
|
[
|
@@ -388,20 +412,31 @@ module Teodoro
|
|
388
412
|
|
389
413
|
attr_reader :empresa
|
390
414
|
|
391
|
-
|
415
|
+
public
|
416
|
+
|
417
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
418
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
419
|
+
evento['trabalhador/trabImig']&.then do
|
420
|
+
Teodoro::LeiauteSimplificado::TrabalhadorImigrante.new(_1).condicao_de_ingresso_no_brasil_no_leiaute2
|
421
|
+
end
|
422
|
+
end
|
423
|
+
|
424
|
+
def opcao_pelo_fgts
|
425
|
+
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS'] ? 1 : 2
|
426
|
+
end
|
427
|
+
|
428
|
+
def data_de_opcao_pelo_fgts
|
429
|
+
@data_de_opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS']
|
430
|
+
end
|
431
|
+
|
432
|
+
private
|
433
|
+
|
434
|
+
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
392
435
|
[
|
393
436
|
# rubocop:disable Layout/LineLength
|
394
437
|
[
|
395
438
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
396
|
-
|
397
|
-
'1' => 4,
|
398
|
-
'2' => 5,
|
399
|
-
'3' => 9,
|
400
|
-
'4' => 10,
|
401
|
-
'5' => 11,
|
402
|
-
'6' => 12,
|
403
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
404
|
-
}[evento['trabalhador/trabImig/condIng']]
|
439
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
405
440
|
],
|
406
441
|
[
|
407
442
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -413,11 +448,11 @@ module Teodoro
|
|
413
448
|
],
|
414
449
|
[
|
415
450
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
416
|
-
|
451
|
+
opcao_pelo_fgts
|
417
452
|
],
|
418
453
|
[
|
419
454
|
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
420
|
-
|
455
|
+
data_de_opcao_pelo_fgts,
|
421
456
|
:data
|
422
457
|
],
|
423
458
|
[
|
@@ -13,7 +13,7 @@ module Teodoro
|
|
13
13
|
|
14
14
|
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
15
15
|
@trabalhador ||= Obj.new(
|
16
|
-
cpf:
|
16
|
+
cpf: cpf_do_trabalhador,
|
17
17
|
nis: evento['alteracao/dadosTrabalhador/nisTrab'],
|
18
18
|
nome: evento['alteracao/dadosTrabalhador/nmTrab'],
|
19
19
|
sexo: evento['alteracao/dadosTrabalhador/sexo'],
|
@@ -21,13 +21,28 @@ module Teodoro
|
|
21
21
|
estado_civil: evento['alteracao/dadosTrabalhador/estCiv'],
|
22
22
|
grau_de_instrucao: evento['alteracao/dadosTrabalhador/grauInstr'],
|
23
23
|
nome_social: evento['alteracao/dadosTrabalhador/nmSoc'],
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
pais_de_nacionalidade: pais_de_nacionalidade_do_trabalhador,
|
25
|
+
nascimento: Obj.new(
|
26
|
+
if leiaute_simplificado?
|
27
|
+
empresa.trabalhadores[cpf_do_trabalhador].nascimento.then { {
|
28
|
+
data: _1.data,
|
29
|
+
pais: _1.pais,
|
30
|
+
codigo_do_municipio: _1.codigo_do_municipio,
|
31
|
+
uf: _1.uf,
|
32
|
+
nome_da_mae: _1.nome_da_mae,
|
33
|
+
nome_do_pai: _1.nome_do_pai
|
34
|
+
} }
|
35
|
+
else
|
36
|
+
{
|
37
|
+
data: evento['alteracao/dadosTrabalhador/nascimento/dtNascto'],
|
38
|
+
pais: evento['alteracao/dadosTrabalhador/nascimento/paisNascto'],
|
39
|
+
codigo_do_municipio: evento['alteracao/dadosTrabalhador/nascimento/codMunic'],
|
40
|
+
uf: evento['alteracao/dadosTrabalhador/nascimento/uf'],
|
41
|
+
nome_da_mae: evento['alteracao/dadosTrabalhador/nascimento/nmMae'],
|
42
|
+
nome_do_pai: evento['alteracao/dadosTrabalhador/nascimento/nmPai']
|
43
|
+
}
|
44
|
+
end
|
45
|
+
),
|
31
46
|
reside_no_exterior?: evento['alteracao/dadosTrabalhador/endereco/exterior'],
|
32
47
|
endereco: Obj.new(
|
33
48
|
tipo_de_logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd'],
|
@@ -41,6 +56,7 @@ module Teodoro
|
|
41
56
|
),
|
42
57
|
estrangeiro?: evento['alteracao/dadosTrabalhador/trabEstrangeiro'],
|
43
58
|
casado_com_brasileiro: evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr'],
|
59
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil,
|
44
60
|
data_de_chegada_ao_brasil: evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'],
|
45
61
|
filhos_brasileiros: evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr'],
|
46
62
|
ctps: Obj.new(
|
@@ -94,6 +110,27 @@ module Teodoro
|
|
94
110
|
)
|
95
111
|
end
|
96
112
|
|
113
|
+
def cpf_do_trabalhador
|
114
|
+
@cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
|
115
|
+
end
|
116
|
+
|
117
|
+
def pais_de_nacionalidade_do_trabalhador
|
118
|
+
evento["alteracao/dadosTrabalhador/#{'nascimento' unless leiaute_simplificado?}/paisNac"]
|
119
|
+
end
|
120
|
+
|
121
|
+
def leiaute
|
122
|
+
@leiaute ||= Obj.new(
|
123
|
+
condicao_de_ingresso_no_brasil: if leiaute_simplificado?
|
124
|
+
evento['alteracao/dadosTrabalhador/trabImig']&.then do
|
125
|
+
LeiauteSimplificado::TrabalhadorImigrante.new(_1)
|
126
|
+
.condicao_de_ingresso_no_brasil_no_leiaute2
|
127
|
+
end
|
128
|
+
else
|
129
|
+
evento['alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']
|
130
|
+
end
|
131
|
+
)
|
132
|
+
end
|
133
|
+
|
97
134
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
98
135
|
contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
99
136
|
Obj.new(
|
@@ -107,7 +144,7 @@ module Teodoro
|
|
107
144
|
['ESX_CPF', trabalhador.cpf],
|
108
145
|
['ESX_MATRICULA', contrato_de_trabalho.matricula_do_trabalhador],
|
109
146
|
['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
|
110
|
-
%w[ESX_SEMVINCULO 0],
|
147
|
+
%w[ESX_SEMVINCULO 0],
|
111
148
|
['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
|
112
149
|
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
113
150
|
['DataAlteracao', data_da_alteracao, :data],
|
@@ -133,16 +170,16 @@ module Teodoro
|
|
133
170
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
134
171
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
135
172
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
136
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.
|
137
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.
|
138
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.
|
139
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
140
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
141
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
174
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
142
179
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
143
180
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
144
181
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
145
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
146
183
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
147
184
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
148
185
|
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
@@ -31,6 +31,7 @@ module Teodoro
|
|
31
31
|
@alteracao_contratual ||= Obj.new(
|
32
32
|
matricula_do_trabalhador: evento['ideVinculo/matricula'],
|
33
33
|
tipo_de_regime_previdenciario: evento['altContratual/vinculo/tpRegPrev'],
|
34
|
+
natureza_da_atividade: natureza_da_atividade,
|
34
35
|
duracao: duracao
|
35
36
|
)
|
36
37
|
end
|
@@ -77,6 +78,10 @@ module Teodoro
|
|
77
78
|
|
78
79
|
private
|
79
80
|
|
81
|
+
def natureza_da_atividade
|
82
|
+
evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']
|
83
|
+
end
|
84
|
+
|
80
85
|
def duracao
|
81
86
|
Obj.new(tipo_de_contrato: evento['altContratual/infoContrato/duracao/tpContr'])
|
82
87
|
end
|
@@ -112,7 +117,7 @@ module Teodoro
|
|
112
117
|
['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
|
113
118
|
['dataAdmissao', data_de_admissao, :data],
|
114
119
|
['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
|
115
|
-
['InformacoesCeletista_NaturezaAtividade',
|
120
|
+
['InformacoesCeletista_NaturezaAtividade', alteracao_contratual.natureza_da_atividade],
|
116
121
|
['FiltroCargo'],
|
117
122
|
['FiltroFuncao'],
|
118
123
|
['HorarioTela_Dia'],
|
@@ -155,6 +160,10 @@ module Teodoro
|
|
155
160
|
|
156
161
|
private
|
157
162
|
|
163
|
+
def natureza_da_atividade
|
164
|
+
evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/natAtividade']
|
165
|
+
end
|
166
|
+
|
158
167
|
def duracao
|
159
168
|
Obj.new(tipo_de_contrato: evento['altContratual/vinculo/infoContrato/duracao/tpContr'])
|
160
169
|
end
|
@@ -190,7 +199,7 @@ module Teodoro
|
|
190
199
|
['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
|
191
200
|
['dataAdmissao', data_de_admissao, :data],
|
192
201
|
['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
193
|
-
['InformacoesCeletista_NaturezaAtividade',
|
202
|
+
['InformacoesCeletista_NaturezaAtividade', alteracao_contratual.natureza_da_atividade],
|
194
203
|
['FiltroCargo'],
|
195
204
|
['FiltroFuncao'],
|
196
205
|
['HorarioTela_Dia'],
|
@@ -92,16 +92,16 @@ module Teodoro
|
|
92
92
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
93
93
|
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', contrato_de_emprego.primeiro_emprego_do_trabalhador],
|
94
94
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.
|
96
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.
|
97
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.
|
98
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.
|
95
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
96
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
97
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
98
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
99
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
102
102
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
103
103
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.
|
104
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
105
105
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
106
106
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
107
107
|
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
@@ -180,11 +180,11 @@ module Teodoro
|
|
180
180
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional'],
|
181
181
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', data_de_admissao, :data],
|
182
182
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataBase'],
|
183
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
|
184
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
185
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
186
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade'],
|
187
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao'],
|
183
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', contrato_de_emprego.indicativo_de_admissao],
|
184
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', contrato_de_emprego.data_de_opcao_pelo_fgts, :data],
|
185
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', contrato_de_emprego.opcao_pelo_fgts],
|
186
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', contrato_de_emprego.natureza_da_atividade],
|
187
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', contrato_de_emprego.tipo_de_admissao],
|
188
188
|
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada'],
|
189
189
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar'],
|
190
190
|
['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao'],
|
@@ -13,12 +13,7 @@ module Teodoro
|
|
13
13
|
|
14
14
|
def registrar_inicio_de_contrato
|
15
15
|
contratos_de_trabalho_sem_vinculo.registrar_inicio_de_contrato(
|
16
|
-
inicio_de_contrato:
|
17
|
-
cpf_do_trabalhador: cpf_do_trabalhador,
|
18
|
-
categoria_do_trabalhador: categoria_do_trabalhador,
|
19
|
-
data_de_inicio: data_de_inicio,
|
20
|
-
recibo: numero_do_recibo
|
21
|
-
),
|
16
|
+
inicio_de_contrato: inicio_de_contrato,
|
22
17
|
afastamento: afastamento
|
23
18
|
)
|
24
19
|
end
|
@@ -27,16 +22,99 @@ module Teodoro
|
|
27
22
|
empresa.contratos_de_trabalho_sem_vinculo
|
28
23
|
end
|
29
24
|
|
30
|
-
def
|
31
|
-
@
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
def inicio_de_contrato
|
26
|
+
@inicio_de_contrato ||= Obj.new(
|
27
|
+
trabalhador: trabalhador,
|
28
|
+
categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
|
29
|
+
data_de_inicio: evento['infoTSVInicio/dtInicio'],
|
30
|
+
recibo: numero_do_recibo
|
31
|
+
)
|
36
32
|
end
|
37
33
|
|
38
|
-
def
|
39
|
-
@
|
34
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
35
|
+
@trabalhador ||= Obj.new(
|
36
|
+
cpf: evento['trabalhador/cpfTrab'],
|
37
|
+
nis: evento['trabalhador/nisTrab'],
|
38
|
+
nome: evento['trabalhador/nmTrab'],
|
39
|
+
sexo: evento['trabalhador/sexo'],
|
40
|
+
raca_cor: evento['trabalhador/racaCor'],
|
41
|
+
estado_civil: evento['trabalhador/estCiv'],
|
42
|
+
grau_de_instrucao: evento['trabalhador/grauInstr'],
|
43
|
+
nome_social: evento['trabalhador/nmSoc'],
|
44
|
+
pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
|
45
|
+
nascimento: Obj.new(
|
46
|
+
data: evento['trabalhador/nascimento/dtNascto'],
|
47
|
+
codigo_do_municipio: evento['trabalhador/nascimento/codMunic'],
|
48
|
+
uf: evento['trabalhador/nascimento/uf'],
|
49
|
+
pais: evento['trabalhador/nascimento/paisNascto'],
|
50
|
+
nome_da_mae: evento['trabalhador/nascimento/nmMae'],
|
51
|
+
nome_do_pai: evento['trabalhador/nascimento/nmPai']
|
52
|
+
),
|
53
|
+
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
54
|
+
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
55
|
+
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
56
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil_do_trabalhador,
|
57
|
+
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
58
|
+
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
59
|
+
endereco: Obj.new(
|
60
|
+
tipo_de_logradouro: evento['trabalhador/endereco/brasil/tpLograd'],
|
61
|
+
logradouro: evento['trabalhador/endereco/brasil/dscLograd'],
|
62
|
+
numero: evento['trabalhador/endereco/brasil/nrLograd'],
|
63
|
+
complemento: evento['trabalhador/endereco/brasil/complemento'],
|
64
|
+
bairro: evento['trabalhador/endereco/brasil/bairro'],
|
65
|
+
cep: evento['trabalhador/endereco/brasil/cep'],
|
66
|
+
codigo_do_municipio: evento['trabalhador/endereco/brasil/codMunic'],
|
67
|
+
uf: evento['trabalhador/endereco/brasil/uf']
|
68
|
+
),
|
69
|
+
ctps: Obj.new(
|
70
|
+
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
71
|
+
serie: evento['trabalhador/documentos/CTPS/serieCtps'],
|
72
|
+
uf: evento['trabalhador/documentos/CTPS/ufCtps']
|
73
|
+
),
|
74
|
+
rg: Obj.new(
|
75
|
+
numero: evento['trabalhador/documentos/RG/nrRg'],
|
76
|
+
orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
|
77
|
+
data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
|
78
|
+
),
|
79
|
+
rne: Obj.new(
|
80
|
+
numero: evento['trabalhador/documentos/RNE/nrRne'],
|
81
|
+
orgao_emissor: evento['trabalhador/documentos/RNE/orgaoEmissor'],
|
82
|
+
data_da_expedicao: evento['trabalhador/documentos/RNE/dtExped']
|
83
|
+
),
|
84
|
+
ric: Obj.new(
|
85
|
+
numero: evento['trabalhador/documentos/RIC/nrRic'],
|
86
|
+
orgao_emissor: evento['trabalhador/documentos/RIC/orgaoEmissor'],
|
87
|
+
data_da_expedicao: evento['trabalhador/documentos/RIC/dtExped']
|
88
|
+
),
|
89
|
+
oc: Obj.new(
|
90
|
+
numero: evento['trabalhador/documentos/OC/nrOc'],
|
91
|
+
orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
|
92
|
+
data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
|
93
|
+
),
|
94
|
+
cnh: Obj.new(
|
95
|
+
numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
|
96
|
+
data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
|
97
|
+
data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
|
98
|
+
data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
|
99
|
+
categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
|
100
|
+
uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
|
101
|
+
),
|
102
|
+
deficiencia: Obj.new(
|
103
|
+
fisica: evento['trabalhador/infoDeficiencia/defFisica'],
|
104
|
+
visual: evento['trabalhador/infoDeficiencia/defVisual'],
|
105
|
+
auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
|
106
|
+
mental: evento['trabalhador/infoDeficiencia/defMental'],
|
107
|
+
intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
|
108
|
+
reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
|
109
|
+
preenche_cota_de_pessoas_com_deficiencia: nil
|
110
|
+
),
|
111
|
+
contato: Obj.new(
|
112
|
+
fone_principal: evento['trabalhador/contato/fonePrinc'],
|
113
|
+
fone_alternativo: evento['trabalhador/contato/foneAlternat'],
|
114
|
+
email_principal: evento['trabalhador/contato/emailPrinc'],
|
115
|
+
email_alternativo: evento['trabalhador/contato/emailAlternat']
|
116
|
+
)
|
117
|
+
)
|
40
118
|
end
|
41
119
|
|
42
120
|
def afastamento
|
@@ -49,18 +127,22 @@ module Teodoro
|
|
49
127
|
def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
50
128
|
[
|
51
129
|
Obj.new(
|
52
|
-
nome:
|
130
|
+
nome: [
|
131
|
+
"TRA[#{trabalhador.cpf}]",
|
132
|
+
"[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
|
133
|
+
'-ADM'
|
134
|
+
].join,
|
53
135
|
itens_do_conteudo: [
|
54
136
|
# rubocop:disable Layout/LineLength
|
55
|
-
['ESX_CPF',
|
56
|
-
['ESX_CATEGORIA', categoria_do_trabalhador],
|
137
|
+
['ESX_CPF', trabalhador.cpf],
|
138
|
+
['ESX_CATEGORIA', inicio_de_contrato.categoria_do_trabalhador],
|
57
139
|
%w[ESX_SEMVINCULO 1],
|
58
|
-
['ESX_DATAADMISSAO', data_de_inicio, :data],
|
140
|
+
['ESX_DATAADMISSAO', inicio_de_contrato.data_de_inicio, :data],
|
59
141
|
['IdEventoXml', id_do_evento],
|
60
142
|
['NrReciboEventoOriginal'],
|
61
143
|
['EventoAdmissao_NrRecibo'],
|
62
144
|
['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', evento['infoTSVInicio/cadIni']],
|
63
|
-
['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
|
145
|
+
['EventoAdmissao_InformacoesInicio_DataInicio', inicio_de_contrato.data_de_inicio, :data],
|
64
146
|
['SomenteLeitura'],
|
65
147
|
['UrlRetorno'],
|
66
148
|
['IdEvento'],
|
@@ -71,61 +153,61 @@ module Teodoro
|
|
71
153
|
['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
72
154
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
73
155
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
77
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
156
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
157
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
158
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
159
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
78
160
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
79
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
161
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
80
162
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
81
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
163
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
82
164
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
83
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
165
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
84
166
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
85
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial',
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio',
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[
|
88
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
89
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae',
|
90
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai',
|
91
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento',
|
167
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
170
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
92
174
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
94
176
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
96
178
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
97
179
|
['SemNumeroLogradouroEnderecoBR'],
|
98
180
|
['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
|
99
181
|
['SemNumeroLogradouroEnderecoEX'],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro',
|
101
|
-
|
182
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
183
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
102
184
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
103
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
104
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros',
|
105
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
185
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
187
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
106
188
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
107
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
108
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
109
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
110
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
111
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
189
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
190
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
191
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
192
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
193
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
112
194
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
113
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
114
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
115
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
195
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
196
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
197
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
116
198
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
117
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao',
|
118
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc',
|
119
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor',
|
120
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
121
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
122
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
123
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
124
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
125
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
126
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
127
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
128
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
199
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
200
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
201
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
202
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
203
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
204
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
205
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
206
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
207
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
208
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
209
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
210
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
129
211
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
130
212
|
[
|
131
213
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -163,21 +245,21 @@ module Teodoro
|
|
163
245
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
|
164
246
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
|
165
247
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa'], :decimal],
|
166
|
-
['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
|
248
|
+
['EventoAdmissao_InformacoesInicio_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
|
167
249
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
168
250
|
['IdEventoXml', id_do_evento],
|
169
251
|
['NrReciboEventoOriginal', numero_do_recibo],
|
170
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Bairro',
|
171
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Cep',
|
172
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_CodigoMunicipio',
|
173
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Complemento',
|
174
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_DescricaoLogradouro',
|
175
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_NumeroLogradouro',
|
176
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_TipoLogradouro',
|
177
|
-
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Uf',
|
178
|
-
|
179
|
-
|
180
|
-
|
252
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
253
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
254
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
255
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
256
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
257
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
258
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
259
|
+
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
260
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
|
261
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS'],
|
262
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_DataOpcaoFGTS'],
|
181
263
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/undSalFixo']],
|
182
264
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_ValorSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/vrSalFx'], :decimal],
|
183
265
|
['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVInicio/natAtividade']]
|
@@ -187,12 +269,8 @@ module Teodoro
|
|
187
269
|
]
|
188
270
|
end
|
189
271
|
|
190
|
-
def
|
191
|
-
@
|
192
|
-
end
|
193
|
-
|
194
|
-
def de_acordo_com_a_versao_do_leiaute
|
195
|
-
@de_acordo_com_a_versao_do_leiaute ||=
|
272
|
+
def leiaute
|
273
|
+
@leiaute ||=
|
196
274
|
if leiaute_simplificado?
|
197
275
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
198
276
|
else
|
@@ -227,11 +305,19 @@ module Teodoro
|
|
227
305
|
@evento = evento
|
228
306
|
end
|
229
307
|
|
308
|
+
public
|
309
|
+
|
310
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
311
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
312
|
+
end
|
313
|
+
|
314
|
+
private
|
315
|
+
|
230
316
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
231
317
|
[
|
232
318
|
[
|
233
319
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
234
|
-
|
320
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
235
321
|
],
|
236
322
|
[
|
237
323
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS',
|
@@ -262,19 +348,22 @@ module Teodoro
|
|
262
348
|
|
263
349
|
attr_reader :empresa
|
264
350
|
|
351
|
+
public
|
352
|
+
|
353
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
354
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
355
|
+
evento['trabalhador/trabImig']&.then do
|
356
|
+
Teodoro::LeiauteSimplificado::TrabalhadorImigrante.new(_1).condicao_de_ingresso_no_brasil_no_leiaute2
|
357
|
+
end
|
358
|
+
end
|
359
|
+
|
360
|
+
private
|
361
|
+
|
265
362
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
266
363
|
[
|
267
364
|
[
|
268
365
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
269
|
-
|
270
|
-
'1' => 4,
|
271
|
-
'2' => 5,
|
272
|
-
'3' => 9,
|
273
|
-
'4' => 10,
|
274
|
-
'5' => 11,
|
275
|
-
'6' => 12,
|
276
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
277
|
-
}[evento['trabalhador/trabImig/condIng']]
|
366
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
278
367
|
],
|
279
368
|
[
|
280
369
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS',
|
@@ -66,7 +66,7 @@ module Teodoro
|
|
66
66
|
['InfoVinculo_TipoRegimeTrabalhista'],
|
67
67
|
['InfoVinculo_TipoRegimePrevidenciario'],
|
68
68
|
['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
69
|
-
|
69
|
+
leiaute['InfoVinculo_InfoContrato_CodigoCargo'],
|
70
70
|
['InfoVinculo_InfoContrato_CodigoFuncao', evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codFuncao']],
|
71
71
|
['InfoVinculo_InfoContrato_CodigoCarreira'],
|
72
72
|
['InfoVinculo_InfoContrato_DataIngressoCarreira'],
|
@@ -180,8 +180,8 @@ module Teodoro
|
|
180
180
|
@data_da_alteracao ||= evento['infoTSVAlteracao/dtAlteracao']
|
181
181
|
end
|
182
182
|
|
183
|
-
def
|
184
|
-
@
|
183
|
+
def leiaute # rubocop:disable Metrics/MethodLength
|
184
|
+
@leiaute ||=
|
185
185
|
(
|
186
186
|
if leiaute_simplificado?
|
187
187
|
[
|
@@ -16,7 +16,7 @@ module Teodoro
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def contrato_de_trabalho
|
19
|
-
contratos_de_trabalho_sem_vinculo[
|
19
|
+
@contrato_de_trabalho ||= contratos_de_trabalho_sem_vinculo[
|
20
20
|
cpf_do_trabalhador: cpf_do_trabalhador,
|
21
21
|
categoria_do_trabalhador: categoria_do_trabalhador,
|
22
22
|
data: data_do_termino
|
@@ -39,7 +39,7 @@ module Teodoro
|
|
39
39
|
@categoria_do_trabalhador ||= evento['ideTrabSemVinculo/codCateg']
|
40
40
|
end
|
41
41
|
|
42
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
42
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
43
43
|
[
|
44
44
|
Obj.new(
|
45
45
|
nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
|
@@ -56,7 +56,7 @@ module Teodoro
|
|
56
56
|
['EventoAdmissao_NrRecibo'],
|
57
57
|
['EventoAdmissao_DataAlteracaoCadastral'],
|
58
58
|
['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
|
59
|
-
['EventoAdmissao_InformacoesInicio_DataInicio'],
|
59
|
+
['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
|
60
60
|
['EventoAdmissao_DataAlteracaoContratual'],
|
61
61
|
['SomenteLeitura'],
|
62
62
|
['UrlRetorno'],
|
@@ -71,60 +71,60 @@ module Teodoro
|
|
71
71
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
72
72
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
73
73
|
['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Nome'],
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nis'],
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Sexo'],
|
74
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
75
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
76
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
77
77
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
78
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor'],
|
78
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
79
79
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
80
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
|
80
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
81
81
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
82
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
|
82
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
83
83
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
84
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial'],
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
|
88
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
90
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
|
84
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
85
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
86
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
87
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
88
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
89
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
90
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
91
91
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
92
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
92
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
93
93
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
94
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
94
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
95
95
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
96
96
|
['SemNumeroLogradouroEnderecoBR'],
|
97
|
-
['ResideExterior'],
|
97
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
98
98
|
['SemNumeroLogradouroEnderecoEX'],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
99
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', (trabalhador.condicao_de_ingresso_no_brasil if trabalhador.estrangeiro?)],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
102
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
|
103
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
|
102
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
103
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
104
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
105
105
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
106
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
|
107
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
|
108
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
|
109
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
|
110
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
|
106
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
107
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
108
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
109
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
110
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
111
111
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
112
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
|
113
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
|
114
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
|
112
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
113
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
114
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
115
115
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
116
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
|
117
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
|
118
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
|
119
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
|
120
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
|
121
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
|
122
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
|
123
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
|
124
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
|
125
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
|
126
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
|
127
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
|
116
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
117
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
118
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
119
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
120
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
121
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
122
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
123
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
124
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
125
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
126
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
127
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
128
128
|
['CodigoCBO'],
|
129
129
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
|
130
130
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
|
@@ -159,6 +159,10 @@ module Teodoro
|
|
159
159
|
def data_de_inicio
|
160
160
|
contrato_de_trabalho.data_de_inicio
|
161
161
|
end
|
162
|
+
|
163
|
+
def trabalhador
|
164
|
+
@trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
|
165
|
+
end
|
162
166
|
end
|
163
167
|
end
|
164
168
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module LeiauteSimplificado
|
3
|
+
class TrabalhadorImigrante
|
4
|
+
private
|
5
|
+
|
6
|
+
def initialize(xml)
|
7
|
+
@xml = xml
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_reader :xml
|
11
|
+
|
12
|
+
public
|
13
|
+
|
14
|
+
def condicao_de_ingresso_no_brasil_no_leiaute2
|
15
|
+
{
|
16
|
+
'1' => 4,
|
17
|
+
'2' => 5,
|
18
|
+
'3' => 9,
|
19
|
+
'4' => 10,
|
20
|
+
'5' => 11,
|
21
|
+
'6' => 12,
|
22
|
+
'7' => xml['tmpResid']
|
23
|
+
}[xml['condIng']]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teodoro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.33.0
|
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-05-
|
11
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -226,6 +226,7 @@ files:
|
|
226
226
|
- lib/teodoro/leiaute/arquivo_s2306.rb
|
227
227
|
- lib/teodoro/leiaute/arquivo_s2399.rb
|
228
228
|
- lib/teodoro/leiaute/arquivo_s3000.rb
|
229
|
+
- lib/teodoro/leiaute_simplificado.rb
|
229
230
|
- lib/teodoro/obj.rb
|
230
231
|
- lib/teodoro/xml.rb
|
231
232
|
- lib/tipos_de_logradouro.json
|