teodoro 0.31.1 → 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/leiaute/arquivo_s1010.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2200.rb +26 -22
- data/lib/teodoro/leiaute/arquivo_s2205.rb +14 -0
- data/lib/teodoro/leiaute/arquivo_s2300.rb +81 -42
- data/lib/teodoro/leiaute/arquivo_s2306.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2399.rb +22 -22
- data/lib/teodoro/leiaute_simplificado.rb +27 -0
- metadata +2 -1
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
|
@@ -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
|
[
|
@@ -29,8 +29,8 @@ module Teodoro
|
|
29
29
|
tipo_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao'],
|
30
30
|
indicativo_de_admissao: evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao'],
|
31
31
|
natureza_da_atividade: evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade'],
|
32
|
-
opcao_pelo_fgts:
|
33
|
-
data_de_opcao_pelo_fgts:
|
32
|
+
opcao_pelo_fgts: leiaute.opcao_pelo_fgts,
|
33
|
+
data_de_opcao_pelo_fgts: leiaute.data_de_opcao_pelo_fgts,
|
34
34
|
categoria_do_trabalhador: evento['vinculo/infoContrato/codCateg'],
|
35
35
|
duracao: Obj.new(tipo_de_contrato: evento['vinculo/infoContrato/duracao/tpContr']),
|
36
36
|
recibo: numero_do_recibo
|
@@ -66,8 +66,9 @@ module Teodoro
|
|
66
66
|
uf: evento['trabalhador/endereco/brasil/uf']
|
67
67
|
),
|
68
68
|
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
69
|
-
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
70
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'],
|
71
72
|
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
72
73
|
ctps: Obj.new(
|
73
74
|
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
@@ -207,7 +208,7 @@ module Teodoro
|
|
207
208
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
208
209
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
209
210
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
210
|
-
|
211
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
211
212
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
212
213
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
213
214
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
@@ -281,22 +282,22 @@ module Teodoro
|
|
281
282
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
282
283
|
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', admissao.tipo_de_regime_previdenciario],
|
283
284
|
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', admissao.tipo_de_regime_trabalhista],
|
284
|
-
|
285
|
-
|
286
|
-
|
285
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
286
|
+
leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
287
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
287
288
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
288
289
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
289
290
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
290
291
|
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
291
292
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
292
|
-
|
293
|
-
|
293
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
|
294
|
+
leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
|
294
295
|
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
295
296
|
*([['HorarioNoturno', evento['vinculo/infoContrato/horContratual/horNoturno']]] if leiaute_simplificado?),
|
296
297
|
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
297
298
|
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
298
299
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|
299
|
-
|
300
|
+
leiaute['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
|
300
301
|
['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']]
|
301
302
|
# rubocop:enable Layout/LineLength
|
302
303
|
]
|
@@ -308,8 +309,8 @@ module Teodoro
|
|
308
309
|
@indicativo_de_cadastramento_inicial ||= evento['vinculo/cadIni']
|
309
310
|
end
|
310
311
|
|
311
|
-
def
|
312
|
-
@
|
312
|
+
def leiaute
|
313
|
+
@leiaute ||=
|
313
314
|
if leiaute_simplificado?
|
314
315
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
315
316
|
else
|
@@ -346,6 +347,10 @@ module Teodoro
|
|
346
347
|
|
347
348
|
public
|
348
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
|
+
|
349
354
|
def opcao_pelo_fgts
|
350
355
|
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']
|
351
356
|
end
|
@@ -361,7 +366,7 @@ module Teodoro
|
|
361
366
|
# rubocop:disable Layout/LineLength
|
362
367
|
[
|
363
368
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
364
|
-
|
369
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
365
370
|
],
|
366
371
|
[
|
367
372
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -407,6 +412,13 @@ module Teodoro
|
|
407
412
|
|
408
413
|
public
|
409
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
|
+
|
410
422
|
def opcao_pelo_fgts
|
411
423
|
@opcao_pelo_fgts ||= evento['vinculo/infoRegimeTrab/infoCeletista/FGTS'] ? 1 : 2
|
412
424
|
end
|
@@ -422,15 +434,7 @@ module Teodoro
|
|
422
434
|
# rubocop:disable Layout/LineLength
|
423
435
|
[
|
424
436
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
425
|
-
|
426
|
-
'1' => 4,
|
427
|
-
'2' => 5,
|
428
|
-
'3' => 9,
|
429
|
-
'4' => 10,
|
430
|
-
'5' => 11,
|
431
|
-
'6' => 12,
|
432
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
433
|
-
}[evento['trabalhador/trabImig/condIng']]
|
437
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
434
438
|
],
|
435
439
|
[
|
436
440
|
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
@@ -41,6 +41,7 @@ module Teodoro
|
|
41
41
|
),
|
42
42
|
estrangeiro?: evento['alteracao/dadosTrabalhador/trabEstrangeiro'],
|
43
43
|
casado_com_brasileiro: evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr'],
|
44
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil,
|
44
45
|
data_de_chegada_ao_brasil: evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'],
|
45
46
|
filhos_brasileiros: evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr'],
|
46
47
|
ctps: Obj.new(
|
@@ -94,6 +95,19 @@ module Teodoro
|
|
94
95
|
)
|
95
96
|
end
|
96
97
|
|
98
|
+
def leiaute
|
99
|
+
@leiaute ||= Obj.new(
|
100
|
+
condicao_de_ingresso_no_brasil: if leiaute_simplificado?
|
101
|
+
evento['alteracao/dadosTrabalhador/trabImig']&.then do
|
102
|
+
LeiauteSimplificado::TrabalhadorImigrante.new(_1)
|
103
|
+
.condicao_de_ingresso_no_brasil_no_leiaute2
|
104
|
+
end
|
105
|
+
else
|
106
|
+
evento['alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']
|
107
|
+
end
|
108
|
+
)
|
109
|
+
end
|
110
|
+
|
97
111
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
98
112
|
contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
99
113
|
Obj.new(
|
@@ -51,16 +51,44 @@ module Teodoro
|
|
51
51
|
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
52
52
|
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
53
53
|
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
54
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil_do_trabalhador,
|
54
55
|
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
55
56
|
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
56
57
|
endereco: OpenStruct.new({}),
|
57
|
-
ctps:
|
58
|
-
|
58
|
+
ctps: Obj.new(
|
59
|
+
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
60
|
+
serie: evento['trabalhador/documentos/CTPS/serieCtps'],
|
61
|
+
uf: evento['trabalhador/documentos/CTPS/ufCtps']
|
62
|
+
),
|
63
|
+
rg: Obj.new(
|
64
|
+
numero: evento['trabalhador/documentos/RG/nrRg'],
|
65
|
+
orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
|
66
|
+
data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
|
67
|
+
),
|
59
68
|
rne: OpenStruct.new({}),
|
60
69
|
ric: OpenStruct.new({}),
|
61
|
-
oc:
|
62
|
-
|
63
|
-
|
70
|
+
oc: Obj.new(
|
71
|
+
numero: evento['trabalhador/documentos/OC/nrOc'],
|
72
|
+
orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
|
73
|
+
data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
|
74
|
+
),
|
75
|
+
cnh: Obj.new(
|
76
|
+
numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
|
77
|
+
data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
|
78
|
+
data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
|
79
|
+
data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
|
80
|
+
categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
|
81
|
+
uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
|
82
|
+
),
|
83
|
+
deficiencia: Obj.new(
|
84
|
+
fisica: evento['trabalhador/infoDeficiencia/defFisica'],
|
85
|
+
visual: evento['trabalhador/infoDeficiencia/defVisual'],
|
86
|
+
auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
|
87
|
+
mental: evento['trabalhador/infoDeficiencia/defMental'],
|
88
|
+
intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
|
89
|
+
reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
|
90
|
+
preenche_cota_de_pessoas_com_deficiencia: nil
|
91
|
+
),
|
64
92
|
contato: OpenStruct.new({})
|
65
93
|
)
|
66
94
|
end
|
@@ -128,34 +156,34 @@ module Teodoro
|
|
128
156
|
['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
|
129
157
|
['SemNumeroLogradouroEnderecoEX'],
|
130
158
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
131
|
-
|
159
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
132
160
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
133
161
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
134
162
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
135
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
163
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
136
164
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
137
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
138
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
139
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
140
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
141
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
165
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
142
170
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
143
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
144
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
145
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
146
174
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
147
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao',
|
148
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc',
|
149
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor',
|
150
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
151
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
152
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
153
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
154
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
155
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
156
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
157
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
158
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
180
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
181
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
183
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
184
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
185
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
159
187
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
160
188
|
[
|
161
189
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -205,9 +233,9 @@ module Teodoro
|
|
205
233
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
|
206
234
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
|
207
235
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
|
208
|
-
|
209
|
-
|
210
|
-
|
236
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
|
237
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS'],
|
238
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_DataOpcaoFGTS'],
|
211
239
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/undSalFixo']],
|
212
240
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_ValorSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/vrSalFx'], :decimal],
|
213
241
|
['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVInicio/natAtividade']]
|
@@ -217,8 +245,8 @@ module Teodoro
|
|
217
245
|
]
|
218
246
|
end
|
219
247
|
|
220
|
-
def
|
221
|
-
@
|
248
|
+
def leiaute
|
249
|
+
@leiaute ||=
|
222
250
|
if leiaute_simplificado?
|
223
251
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
224
252
|
else
|
@@ -253,11 +281,19 @@ module Teodoro
|
|
253
281
|
@evento = evento
|
254
282
|
end
|
255
283
|
|
284
|
+
public
|
285
|
+
|
286
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
287
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
288
|
+
end
|
289
|
+
|
290
|
+
private
|
291
|
+
|
256
292
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
257
293
|
[
|
258
294
|
[
|
259
295
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
260
|
-
|
296
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
261
297
|
],
|
262
298
|
[
|
263
299
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS',
|
@@ -288,19 +324,22 @@ module Teodoro
|
|
288
324
|
|
289
325
|
attr_reader :empresa
|
290
326
|
|
327
|
+
public
|
328
|
+
|
329
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
330
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
331
|
+
evento['trabalhador/trabImig']&.then do
|
332
|
+
Teodoro::LeiauteSimplificado::TrabalhadorImigrante.new(_1).condicao_de_ingresso_no_brasil_no_leiaute2
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
private
|
337
|
+
|
291
338
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
292
339
|
[
|
293
340
|
[
|
294
341
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
295
|
-
|
296
|
-
'1' => 4,
|
297
|
-
'2' => 5,
|
298
|
-
'3' => 9,
|
299
|
-
'4' => 10,
|
300
|
-
'5' => 11,
|
301
|
-
'6' => 12,
|
302
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
303
|
-
}[evento['trabalhador/trabImig/condIng']]
|
342
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
304
343
|
],
|
305
344
|
[
|
306
345
|
'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
|
[
|
@@ -97,34 +97,34 @@ module Teodoro
|
|
97
97
|
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
98
98
|
['SemNumeroLogradouroEnderecoEX'],
|
99
99
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', (trabalhador.condicao_de_ingresso_no_brasil if trabalhador.estrangeiro?)],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
102
102
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
103
103
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
|
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'],
|
@@ -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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teodoro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clavius Tales
|
@@ -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
|