teodoro 0.10.1 → 0.15.1
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 +6 -0
- data/lib/teodoro/arquivo_data.rb +21 -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 +4 -0
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +49 -19
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +1 -1
- data/lib/teodoro/arquivo_xml.rb +30 -3
- data/lib/teodoro/empresa.rb +13 -138
- 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 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
|
@@ -5,31 +5,6 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def contratos_de_trabalho
|
9
|
-
(contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
|
10
|
-
.map { |classe, contrato| classe.new(contrato) }
|
11
|
-
end
|
12
|
-
|
13
|
-
def contratos_de_emprego
|
14
|
-
empresa.contratos_de_emprego
|
15
|
-
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
16
|
-
.map { [ContratoDeEmprego, _1] }
|
17
|
-
end
|
18
|
-
|
19
|
-
def contratos_de_trabalho_sem_vinculo
|
20
|
-
empresa.contratos_de_trabalho_sem_vinculo
|
21
|
-
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
22
|
-
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
23
|
-
end
|
24
|
-
|
25
|
-
def cpf_do_trabalhador
|
26
|
-
@cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
|
27
|
-
end
|
28
|
-
|
29
|
-
def data_da_alteracao
|
30
|
-
@data_da_alteracao ||= evento['alteracao/dtAlteracao']
|
31
|
-
end
|
32
|
-
|
33
8
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
34
9
|
contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
35
10
|
Obj.new(
|
@@ -44,9 +19,9 @@ module Teodoro
|
|
44
19
|
['ESX_MATRICULA', contrato_de_trabalho.matricula_do_contrato],
|
45
20
|
['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
|
46
21
|
%w[ESX_SEMVINCULO 0], # FIXME: Tales TC
|
47
|
-
['ESX_DATAADMISSAO',
|
48
|
-
['ESX_DATAALTERACAO',
|
49
|
-
['DataAlteracao',
|
22
|
+
['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
|
23
|
+
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
24
|
+
['DataAlteracao', data_da_alteracao, :data],
|
50
25
|
['IdEventoXml', id_do_evento],
|
51
26
|
['NrReciboEventoOriginal', numero_do_recibo],
|
52
27
|
['RequestVerificationToken'],
|
@@ -69,16 +44,16 @@ module Teodoro
|
|
69
44
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
|
70
45
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
71
46
|
['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
|
72
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
47
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['alteracao/dadosTrabalhador/nascimento/codMunic']],
|
73
48
|
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
49
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data],
|
50
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['alteracao/dadosTrabalhador/nascimento/nmMae']],
|
51
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['alteracao/dadosTrabalhador/nascimento/nmPai']],
|
77
52
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
|
78
53
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
79
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento[
|
54
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento["alteracao/dadosTrabalhador/#{'nascimento' unless leiaute_simplificado?}/paisNac"]],
|
80
55
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
81
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
56
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['alteracao/dadosTrabalhador/nascimento/uf']],
|
82
57
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
83
58
|
['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
|
84
59
|
['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
|
@@ -95,13 +70,13 @@ module Teodoro
|
|
95
70
|
['ResideExterior'],
|
96
71
|
['SemNumeroLogradouroEnderecoEX'],
|
97
72
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
|
98
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
73
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data],
|
99
74
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
|
100
75
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
|
101
76
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
102
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
103
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
77
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data],
|
78
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data],
|
79
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data],
|
105
80
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
|
106
81
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
|
107
82
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
@@ -109,10 +84,10 @@ module Teodoro
|
|
109
84
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
|
110
85
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
|
111
86
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
112
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
87
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data],
|
113
88
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
|
114
89
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
|
115
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao',
|
90
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data],
|
116
91
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
|
117
92
|
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
|
118
93
|
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
|
@@ -128,8 +103,8 @@ module Teodoro
|
|
128
103
|
*evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
|
129
104
|
[
|
130
105
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
131
|
-
["EventoAdmissao_Dependente_#{seq}_DataNascimento",
|
132
|
-
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada",
|
106
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto'], :data],
|
107
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", dependente['dtNascto'], :data],
|
133
108
|
["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
|
134
109
|
["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
|
135
110
|
["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
|
@@ -143,6 +118,31 @@ module Teodoro
|
|
143
118
|
end
|
144
119
|
end
|
145
120
|
|
121
|
+
def contratos_de_trabalho
|
122
|
+
(contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
|
123
|
+
.map { |classe, contrato| classe.new(contrato) }
|
124
|
+
end
|
125
|
+
|
126
|
+
def contratos_de_emprego
|
127
|
+
empresa.contratos_de_emprego
|
128
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
129
|
+
.map { [ContratoDeEmprego, _1] }
|
130
|
+
end
|
131
|
+
|
132
|
+
def contratos_de_trabalho_sem_vinculo
|
133
|
+
empresa.contratos_de_trabalho_sem_vinculo
|
134
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
135
|
+
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
136
|
+
end
|
137
|
+
|
138
|
+
def cpf_do_trabalhador
|
139
|
+
@cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
|
140
|
+
end
|
141
|
+
|
142
|
+
def data_da_alteracao
|
143
|
+
@data_da_alteracao ||= evento['alteracao/dtAlteracao']
|
144
|
+
end
|
145
|
+
|
146
146
|
module ContratoDeTrabalho
|
147
147
|
private
|
148
148
|
|