teodoro 0.10.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/teodoro.rb +9 -2
- data/lib/teodoro/arquivo_data.rb +19 -22
- data/lib/teodoro/arquivo_data/car.rb +34 -0
- data/lib/teodoro/arquivo_data/tra_epg_avi.rb +55 -0
- data/lib/teodoro/arquivo_de_evento.rb +6 -2
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +52 -19
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +6 -2
- data/lib/teodoro/arquivo_xml.rb +33 -6
- data/lib/teodoro/empresa.rb +17 -140
- data/lib/teodoro/empresa/arquivos_data.rb +31 -0
- data/lib/teodoro/empresa/cargos_gerados.rb +86 -0
- data/lib/teodoro/empresa/contratos_de_emprego.rb +59 -0
- data/lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb +59 -0
- data/lib/teodoro/leiaute/arquivo_s1000.rb +18 -8
- data/lib/teodoro/leiaute/arquivo_s1005.rb +5 -5
- data/lib/teodoro/leiaute/arquivo_s1010.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1020.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1030.rb +19 -23
- data/lib/teodoro/leiaute/arquivo_s1040.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1050.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1070.rb +4 -4
- data/lib/teodoro/leiaute/arquivo_s2190.rb +2 -2
- data/lib/teodoro/leiaute/arquivo_s2200.rb +173 -15
- data/lib/teodoro/leiaute/arquivo_s2205.rb +42 -42
- data/lib/teodoro/leiaute/arquivo_s2206.rb +177 -74
- data/lib/teodoro/leiaute/arquivo_s2230.rb +5 -5
- data/lib/teodoro/leiaute/arquivo_s2250.rb +14 -34
- data/lib/teodoro/leiaute/arquivo_s2299.rb +67 -3
- data/lib/teodoro/leiaute/arquivo_s2300.rb +141 -14
- data/lib/teodoro/leiaute/arquivo_s2306.rb +85 -6
- metadata +8 -3
- data/lib/teodoro/leiaute.rb +0 -24
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1005
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -33,15 +33,15 @@ module Teodoro
|
|
33
33
|
['TipoInscricaoEstabelecimento', evento['infoEstab/*/ideEstab/tpInsc']],
|
34
34
|
['NumeroInscricaoEstabelecimento', numero_de_inscricao],
|
35
35
|
['NomeEstabelecimento'],
|
36
|
-
['InicioValidade',
|
37
|
-
['FimValidade',
|
36
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
37
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
38
38
|
['TipoCaepf', evento['infoEstab/*/dadosEstab/infoCaepf/tpCaepf']],
|
39
39
|
['CnaePreponderanteCodigoDescricaoAutoComplete'],
|
40
40
|
['CnaePreponderante', evento['infoEstab/*/dadosEstab/cnaePrep']],
|
41
41
|
['CnaePreponderantePreenchido'],
|
42
42
|
['AliquotaRat', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRat']],
|
43
|
-
['Fap', evento['infoEstab/*/dadosEstab/aliqGilrat/fap']],
|
44
|
-
['AliquotaRatAjustada', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust']],
|
43
|
+
['Fap', evento['infoEstab/*/dadosEstab/aliqGilrat/fap'], :decimal],
|
44
|
+
['AliquotaRatAjustada', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust'], :decimal],
|
45
45
|
['FapRecuperado'],
|
46
46
|
['AliquotaRatRecuperada'],
|
47
47
|
['DesejaIncluirProcessoAdminJudRat'],
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1010
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -32,8 +32,8 @@ module Teodoro
|
|
32
32
|
['BloquearCodigo'],
|
33
33
|
['BloquearAntigoPeriodoValidade'],
|
34
34
|
['Codigo', codigo],
|
35
|
-
['InicioValidade',
|
36
|
-
['FimValidade',
|
35
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
36
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
37
37
|
['chkIdTabelaRubrica'],
|
38
38
|
['IdTabelaRubrica', identificador_da_tabela_de_rubricas],
|
39
39
|
['IdTabelaRubricaText'],
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1020
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -30,8 +30,8 @@ module Teodoro
|
|
30
30
|
['CodigoConvenioTerceirosHidden'],
|
31
31
|
['IdEvento'],
|
32
32
|
['CodigoLotacao', codigo_da_lotacao_tributaria],
|
33
|
-
['InicioValidade',
|
34
|
-
['FimValidade',
|
33
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
34
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
35
35
|
['TipoLotacao', evento['infoLotacao/*/dadosLotacao/tpLotacao']],
|
36
36
|
['Tipo'],
|
37
37
|
['TipoInscricaoEstab', evento['infoLotacao/*/dadosLotacao/tpInsc']],
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1030
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -14,32 +14,28 @@ module Teodoro
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def identificacao_do_arquivo_data
|
17
|
-
|
17
|
+
ArquivoData::CAR::Identificacao.new(codigo_do_cargo)
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
21
|
-
@
|
20
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
21
|
+
@itens_do_conteudo_do_arquivo_data ||= ArquivoData::CAR::ItensDeConteudo.new(
|
22
|
+
Obj.new(
|
23
|
+
codigo_do_cargo: codigo_do_cargo,
|
24
|
+
inicio_da_validade: inicio_da_validade,
|
25
|
+
fim_da_validade: fim_da_validade,
|
26
|
+
nome_do_cargo: evento['infoCargo/*/dadosCargo/nmCargo'],
|
27
|
+
cbo: evento['infoCargo/*/dadosCargo/codCBO'],
|
28
|
+
orgao_publico?: evento['infoCargo/*/dadosCargo/cargoPublico'],
|
29
|
+
id_do_evento: id_do_evento,
|
30
|
+
numero_do_recibo: numero_do_recibo,
|
31
|
+
processo_de_emissao_do_evento: processo_de_emissao_do_evento,
|
32
|
+
versao_do_aplicativo_de_processamento_do_evento: versao_do_aplicativo_de_processamento_do_evento
|
33
|
+
)
|
34
|
+
)
|
22
35
|
end
|
23
36
|
|
24
|
-
def
|
25
|
-
[
|
26
|
-
['RequestVerificationToken'],
|
27
|
-
['SomenteVisualizacao'],
|
28
|
-
['BloquearCodigo'],
|
29
|
-
['BloquearAntigoPeriodoValidade'],
|
30
|
-
['CodigoCargo', codigo_do_cargo],
|
31
|
-
['InicioValidade', [inicio_da_validade, :mes_ano]],
|
32
|
-
['FimValidade', [fim_da_validade, :mes_ano]],
|
33
|
-
['DadosCargo_DescricaoCargo', evento['infoCargo/*/dadosCargo/nmCargo']],
|
34
|
-
['DadosCargo_CodigoCBO', evento['infoCargo/*/dadosCargo/codCBO']],
|
35
|
-
['DadosCargo_CodigoCBO_TEXT'],
|
36
|
-
['autocomplete_DadosCargo_CodigoCBO'],
|
37
|
-
['PreencherCargoPublico', [evento['infoCargo/*/dadosCargo/cargoPublico'], :bool]],
|
38
|
-
['IdEventoXml', id_do_evento],
|
39
|
-
['NrReciboEventoOriginal', numero_do_recibo],
|
40
|
-
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
41
|
-
['VerProc', versao_do_aplicativo_de_processamento_do_evento]
|
42
|
-
]
|
37
|
+
def codigo_do_cargo
|
38
|
+
@codigo_do_cargo ||= evento['infoCargo/*/ideCargo/codCargo']
|
43
39
|
end
|
44
40
|
end
|
45
41
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1040
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
def noh_de_informacoes_do_evento
|
7
7
|
'infoFuncao'
|
@@ -26,8 +26,8 @@ module Teodoro
|
|
26
26
|
['BloquearCodigo'],
|
27
27
|
['BloquearAntigoPeriodoValidade'],
|
28
28
|
['CodigoFuncao', codigo_da_funcao],
|
29
|
-
['InicioValidade',
|
30
|
-
['FimValidade',
|
29
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
30
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
31
31
|
['DadosFuncao_DescricaoFuncao', evento['infoFuncao/*/dadosFuncao/dscFuncao']],
|
32
32
|
['DadosFuncao_CodigoCBO', evento['infoFuncao/*/dadosFuncao/codCBO']],
|
33
33
|
['DadosFuncao_CodigoCBO_TEXT'],
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1050
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -28,8 +28,8 @@ module Teodoro
|
|
28
28
|
['BloquearCodigo'],
|
29
29
|
['BloquearAntigoPeriodoValidade'],
|
30
30
|
['CodigoHorarioContratual', codigo_do_horario],
|
31
|
-
['InicioValidade',
|
32
|
-
['FimValidade',
|
31
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
32
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
33
33
|
['DadosHorario_HoraEntrada', evento['infoHorContratual/*/dadosHorContratual/hrEntr']],
|
34
34
|
['DadosHorario_HoraSaida', evento['infoHorContratual/*/dadosHorContratual/hrSaida']],
|
35
35
|
['DadosHorario_DuracaoJornada', evento['infoHorContratual/*/dadosHorContratual/durJornada'].to_i],
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module Leiaute
|
3
3
|
class ArquivoS1070
|
4
|
-
include ArquivoDeEventoDeTabela
|
4
|
+
include ArquivoDeEventoDeTabela::DescritorDeArquivoData
|
5
5
|
|
6
6
|
private
|
7
7
|
|
@@ -30,8 +30,8 @@ module Teodoro
|
|
30
30
|
['TipoProcesso', evento['infoProcesso/*/ideProcesso/tpProc']],
|
31
31
|
['NumeroProcesso', numero_do_processo],
|
32
32
|
['tipoProcessoAnterior'],
|
33
|
-
['InicioValidade',
|
34
|
-
['FimValidade',
|
33
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
34
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
35
35
|
['IndicativoAutoria', evento['infoProcesso/*/dadosProc/indAutoria']],
|
36
36
|
['IndicativoMateria', evento['infoProcesso/*/dadosProc/indMatProc']],
|
37
37
|
['Observacao', evento['infoProcesso/*/dadosProc/observacao']],
|
@@ -58,7 +58,7 @@ module Teodoro
|
|
58
58
|
[
|
59
59
|
["ListaInformacoesSuspensao_#{seq}_CodigoIndicativoSuspensao", suspensao['codSusp']],
|
60
60
|
["ListaInformacoesSuspensao_#{seq}_IndicativoSuspensao", suspensao['indSusp']],
|
61
|
-
["ListaInformacoesSuspensao_#{seq}_DataDecisao",
|
61
|
+
["ListaInformacoesSuspensao_#{seq}_DataDecisao", suspensao['dtDecisao'], :data],
|
62
62
|
["ListaInformacoesSuspensao_#{seq}_IndicativoDeposito", suspensao['indDeposito']]
|
63
63
|
]
|
64
64
|
end.sum([])
|
@@ -13,8 +13,8 @@ module Teodoro
|
|
13
13
|
['NrRecibo', recibo['recibo/nrRecibo']],
|
14
14
|
['CPF', evento['infoRegPrelim/cpfTrab']],
|
15
15
|
['Nome'],
|
16
|
-
['DataNascimento',
|
17
|
-
['DataAdmissao',
|
16
|
+
['DataNascimento', evento['infoRegPrelim/dtNascto'], :data],
|
17
|
+
['DataAdmissao', evento['infoRegPrelim/dtAdm'], :data],
|
18
18
|
['IdEvento']
|
19
19
|
]
|
20
20
|
)
|
@@ -61,7 +61,7 @@ module Teodoro
|
|
61
61
|
['ESX_MATRICULA', matricula_do_trabalhador],
|
62
62
|
['ESX_CATEGORIA', categoria_do_trabalhador],
|
63
63
|
%w[ESX_SEMVINCULO 0],
|
64
|
-
['ESX_DATAADMISSAO',
|
64
|
+
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
65
65
|
['IdEventoXml', id_do_evento],
|
66
66
|
['NrReciboEventoOriginal'],
|
67
67
|
['EventoAdmissao_TipoEventoEnviado'],
|
@@ -96,7 +96,7 @@ module Teodoro
|
|
96
96
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
|
97
97
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
|
98
98
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
99
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['trabalhador/nascimento/dtNascto'], :data],
|
100
100
|
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
|
102
102
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
|
@@ -117,16 +117,17 @@ module Teodoro
|
|
117
117
|
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
118
118
|
['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
|
119
119
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
120
|
-
['ResideExterior',
|
120
|
+
['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
|
121
121
|
['SemNumeroLogradouroEnderecoEX'],
|
122
122
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
|
123
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
123
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
|
124
124
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
|
125
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
125
126
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
|
126
127
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
127
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
128
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
129
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
128
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['trabalhador/documentos/CNH/dtExped'], :data],
|
129
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['trabalhador/documentos/CNH/dtPriHab'], :data],
|
130
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['trabalhador/documentos/CNH/dtValid'], :data],
|
130
131
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
|
131
132
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
|
132
133
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
@@ -137,13 +138,13 @@ module Teodoro
|
|
137
138
|
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
|
138
139
|
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
|
139
140
|
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
|
140
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
141
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['trabalhador/documentos/RG/dtExped'], :data],
|
141
142
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
|
142
143
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
|
143
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao',
|
144
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['trabalhador/documentos/RIC/dtExped'], :data],
|
144
145
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
|
145
146
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
|
146
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao',
|
147
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['trabalhador/documentos/RNE/dtExped'], :data],
|
147
148
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
|
148
149
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
|
149
150
|
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
|
@@ -160,8 +161,8 @@ module Teodoro
|
|
160
161
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
161
162
|
[
|
162
163
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
163
|
-
["EventoAdmissao_Dependente_#{seq}_DataNascimento",
|
164
|
-
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada",
|
164
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto'], :data],
|
165
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", dependente['dtNascto'], :data],
|
165
166
|
["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
|
166
167
|
["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
|
167
168
|
["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
|
@@ -185,16 +186,32 @@ module Teodoro
|
|
185
186
|
['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
186
187
|
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
|
187
188
|
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
|
188
|
-
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx']],
|
189
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
|
189
190
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
|
190
|
-
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao',
|
191
|
+
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data],
|
191
192
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao']],
|
192
193
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
|
193
194
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
|
194
195
|
['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
195
196
|
['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
|
196
197
|
['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
|
197
|
-
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']]
|
198
|
+
['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']],
|
199
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
|
200
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
|
201
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo'],
|
202
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_DataTermino', evento['vinculo/infoContrato/duracao/dtTerm'], :data],
|
203
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_ClausulaAssecuratoria', evento['vinculo/infoContrato/duracao/clauAssec']],
|
204
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
205
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao', evento['vinculo/infoContrato/localTrabalho/localTrabGeral/nrInsc']],
|
206
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal', evento['vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
207
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
|
208
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
|
209
|
+
['EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial', evento['vinculo/infoContrato/horContratual/tmpParc']],
|
210
|
+
['EventoAdmissao_InfoVinculo_DataInicioAfastamento', evento['vinculo/afastamento/dtIniAfast'], :data],
|
211
|
+
['EventoAdmissao_InfoVinculo_CodigoMotivoAfastamento', evento['vinculo/afastamento/codMotAfast']],
|
212
|
+
['EventoAdmissao_InfoVinculo_SucessaoVinculo_DataTransferencia', evento['vinculo/sucessaoVinc/dtTransf'], :data],
|
213
|
+
de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
|
214
|
+
['EventoAdmissao_InfoVinculo_SucessaoVinculo_MatriculaAnterior', evento['vinculo/sucessaoVinc/matricAnt']]
|
198
215
|
# rubocop:enable Layout/LineLength
|
199
216
|
]
|
200
217
|
)
|
@@ -204,6 +221,147 @@ module Teodoro
|
|
204
221
|
def indicativo_de_cadastramento_inicial
|
205
222
|
@indicativo_de_cadastramento_inicial ||= evento['vinculo/cadIni']
|
206
223
|
end
|
224
|
+
|
225
|
+
def de_acordo_com_a_versao_do_leiaute
|
226
|
+
@de_acordo_com_a_versao_do_leiaute ||=
|
227
|
+
if leiaute_simplificado?
|
228
|
+
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
229
|
+
else
|
230
|
+
Leiaute2.new(evento)
|
231
|
+
end
|
232
|
+
end
|
233
|
+
|
234
|
+
module Leiaute
|
235
|
+
private
|
236
|
+
|
237
|
+
attr_reader :evento
|
238
|
+
|
239
|
+
public
|
240
|
+
|
241
|
+
def [](chave)
|
242
|
+
dados_do_arquivo_data_por_chave[chave]
|
243
|
+
end
|
244
|
+
|
245
|
+
private
|
246
|
+
|
247
|
+
def dados_do_arquivo_data_por_chave
|
248
|
+
@dados_do_arquivo_data_por_chave ||= dados_do_arquivo_data.map { |item| [item.first, item] }.to_h
|
249
|
+
end
|
250
|
+
end
|
251
|
+
|
252
|
+
class Leiaute2
|
253
|
+
include Leiaute
|
254
|
+
|
255
|
+
private
|
256
|
+
|
257
|
+
def initialize(evento)
|
258
|
+
@evento = evento
|
259
|
+
end
|
260
|
+
|
261
|
+
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
262
|
+
[
|
263
|
+
# rubocop:disable Layout/LineLength
|
264
|
+
[
|
265
|
+
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
266
|
+
evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
267
|
+
],
|
268
|
+
[
|
269
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
270
|
+
evento['vinculo/infoContrato/horContratual/tpJornada']
|
271
|
+
],
|
272
|
+
[
|
273
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada',
|
274
|
+
evento['vinculo/infoContrato/horContratual/dscTpJorn']
|
275
|
+
],
|
276
|
+
[
|
277
|
+
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
278
|
+
evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/opcFGTS']
|
279
|
+
],
|
280
|
+
[
|
281
|
+
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
282
|
+
evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS'],
|
283
|
+
:data
|
284
|
+
],
|
285
|
+
[
|
286
|
+
'EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior',
|
287
|
+
evento['vinculo/sucessaoVinc/cnpjEmpregAnt']
|
288
|
+
],
|
289
|
+
[
|
290
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
291
|
+
evento['vinculo/infoContrato/codCargo']
|
292
|
+
]
|
293
|
+
# rubocop:enable Layout/LineLength
|
294
|
+
]
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
class LeiauteSimplificado
|
299
|
+
include Leiaute
|
300
|
+
|
301
|
+
private
|
302
|
+
|
303
|
+
def initialize(empresa:, evento:)
|
304
|
+
@empresa = empresa
|
305
|
+
@evento = evento
|
306
|
+
end
|
307
|
+
|
308
|
+
attr_reader :empresa
|
309
|
+
|
310
|
+
def dados_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
311
|
+
[
|
312
|
+
# rubocop:disable Layout/LineLength
|
313
|
+
[
|
314
|
+
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
315
|
+
{
|
316
|
+
'1' => 4,
|
317
|
+
'2' => 5,
|
318
|
+
'3' => 9,
|
319
|
+
'4' => 10,
|
320
|
+
'5' => 11,
|
321
|
+
'6' => 12,
|
322
|
+
'7' => evento['trabalhador/trabImig/tmpResid']
|
323
|
+
}[evento['trabalhador/trabImig/condIng']]
|
324
|
+
],
|
325
|
+
[
|
326
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_TipoJornada',
|
327
|
+
evento['vinculo/infoContrato/horContratual/tpJornada'].then { %w[2 3].include?(_1) ? _1 : 9 }
|
328
|
+
],
|
329
|
+
[
|
330
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada',
|
331
|
+
evento['vinculo/infoContrato/horContratual/dscJorn']
|
332
|
+
],
|
333
|
+
[
|
334
|
+
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS',
|
335
|
+
evento['vinculo/infoRegimeTrab/infoCeletista/FGTS'] ? 1 : 2
|
336
|
+
],
|
337
|
+
[
|
338
|
+
'EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS',
|
339
|
+
evento['vinculo/infoRegimeTrab/infoCeletista/FGTS/dtOpcFGTS'],
|
340
|
+
:data
|
341
|
+
],
|
342
|
+
[
|
343
|
+
'EventoAdmissao_InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior',
|
344
|
+
evento['vinculo/sucessaoVinc/nrInsc']
|
345
|
+
],
|
346
|
+
[
|
347
|
+
'EventoAdmissao_InfoVinculo_InfoContrato_CodigoCargo',
|
348
|
+
codigo_do_cargo
|
349
|
+
]
|
350
|
+
# rubocop:enable Layout/LineLength
|
351
|
+
]
|
352
|
+
end
|
353
|
+
|
354
|
+
def codigo_do_cargo
|
355
|
+
cargo&.codigo
|
356
|
+
end
|
357
|
+
|
358
|
+
def cargo
|
359
|
+
empresa.cargos_gerados[
|
360
|
+
nome: evento['vinculo/infoContrato/nmCargo'],
|
361
|
+
cbo: evento['vinculo/infoContrato/CBOCargo']
|
362
|
+
]
|
363
|
+
end
|
364
|
+
end
|
207
365
|
end
|
208
366
|
end
|
209
367
|
end
|