teodoro 0.2.0 → 0.6.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.
@@ -19,11 +19,11 @@ module Teodoro
19
19
  end
20
20
 
21
21
  def cpf_do_trabalhador
22
- evento['evtTSVAltContr/ideTrabSemVinculo/cpfTrab']
22
+ @cpf_do_trabalhador ||= evento['evtTSVAltContr/ideTrabSemVinculo/cpfTrab']
23
23
  end
24
24
 
25
25
  def categoria_do_trabalhador
26
- evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']
26
+ @categoria_do_trabalhador ||= evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']
27
27
  end
28
28
 
29
29
  def data_de_inicio
@@ -43,18 +43,18 @@ module Teodoro
43
43
  end
44
44
 
45
45
  def data_da_alteracao
46
- evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']
46
+ @data_da_alteracao ||= evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']
47
47
  end
48
48
 
49
49
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
50
50
  [
51
51
  # rubocop:disable Layout/LineLength
52
- ['ESX_CPF', evento['evtTSVAltContr/ideTrabSemVinculo/cpfTrab']],
52
+ ['ESX_CPF', cpf_do_trabalhador],
53
53
  ['ESX_MATRICULA'],
54
- ['ESX_CATEGORIA', evento['evtTSVAltContr/ideTrabSemVinculo/codCateg']],
54
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
55
55
  %w[ESX_SEMVINCULO 1],
56
- ['ESX_DATAADMISSAO', data_de_inicio],
57
- ['ESX_DATAALTERACAO', evento['evtTSVAltContr/infoTSVAlteracao/dtAlteracao']],
56
+ ['ESX_DATAADMISSAO', [data_de_inicio, :data]],
57
+ ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
58
58
  ['cpfTrabalhador'],
59
59
  ['nomeTrabalhador'],
60
60
  ['TipoInscricaoEmpregador', recibo['retornoEvento/ideEmpregador/tpInsc']],
@@ -156,7 +156,7 @@ module Teodoro
156
156
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimePrevidenciario'],
157
157
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimeTrabalhista'],
158
158
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/areaAtuacao']],
159
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/dtPrevTerm']],
159
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino', [evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/dtPrevTerm'], :data]],
160
160
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/ageIntegracao/bairro']],
161
161
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cep', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/ageIntegracao/cep']],
162
162
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cnpj', evento['evtTSVAltContr/infoTSVAlteracao/infoComplementares/infoEstagiario/ageIntegracao/cnpjAgntInteg']],
@@ -3,10 +3,34 @@ module Teodoro
3
3
  class ArquivoS2399 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
- # FIXME: Tales registrar termino na empresa
6
+ def processar
7
+ super
8
+
9
+ registrar_termino_do_contrato
10
+ end
7
11
 
8
12
  private
9
13
 
14
+ def registrar_termino_do_contrato
15
+ contrato_de_trabalho.data_do_termino = data_do_termino
16
+ end
17
+
18
+ def contrato_de_trabalho
19
+ contratos_de_trabalho_sem_vinculo[
20
+ cpf_do_trabalhador: cpf_do_trabalhador,
21
+ categoria_do_trabalhador: categoria_do_trabalhador,
22
+ data: data_do_termino
23
+ ]
24
+ end
25
+
26
+ def contratos_de_trabalho_sem_vinculo
27
+ empresa.contratos_de_trabalho_sem_vinculo
28
+ end
29
+
30
+ def data_do_termino
31
+ @data_do_termino ||= evento['evtTSVTermino/infoTSVTermino/dtTerm']
32
+ end
33
+
10
34
  def noh_principal_do_evento
11
35
  'evtTSVTermino'
12
36
  end
@@ -28,61 +52,24 @@ module Teodoro
28
52
  contrato_de_trabalho.data_de_inicio
29
53
  end
30
54
 
31
- def contrato_de_trabalho
32
- contratos_de_trabalho_sem_vinculo[
33
- cpf_do_trabalhador: cpf_do_trabalhador,
34
- categoria_do_trabalhador: categoria_do_trabalhador,
35
- data: data_do_termino
36
- ]
37
- end
38
-
39
- def contratos_de_trabalho_sem_vinculo
40
- empresa.contratos_de_trabalho_sem_vinculo
41
- end
42
-
43
- def data_do_termino
44
- @data_do_termino ||= evento['evtTSVTermino/infoTSVTermino/dtTerm']
45
- end
46
-
47
55
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
48
56
  [
49
57
  # rubocop:disable Layout/LineLength
50
58
  ['ESX_CPF', cpf_do_trabalhador],
51
- ['ESX_MATRICULA'],
52
59
  ['ESX_CATEGORIA', categoria_do_trabalhador],
53
60
  ['ESX_SEMVINCULO'],
54
61
  ['ESX_DATAADMISSAO', data_de_inicio],
55
62
  ['ESX_DATADESLIGAMENTO', data_do_termino],
56
- ['ESX_INFOWEB_RESCISAO_IDEDMDEV'],
57
63
  ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
58
- ['ESX_INFOWEB_RESCISAO_MOTIVO'],
59
- ['ESX_INFOWEB_RESCISAO_MOTIVO_TEXT'],
60
64
  ['IdEventoXml'],
61
65
  ['NrReciboEventoOriginal'],
62
- ['EventoAdmissao_TipoEventoEnviado'],
63
- ['TipoInscricaoEmpregador'],
64
66
  ['EventoAdmissao_NrRecibo'],
65
67
  ['EventoAdmissao_DataAlteracaoCadastral'],
66
68
  ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
67
69
  ['EventoAdmissao_InformacoesInicio_DataInicio'],
68
70
  ['EventoAdmissao_DataAlteracaoContratual'],
69
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CategoriaOrigem'],
70
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CnpjOrigem'],
71
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_DataAdmissaoOrigem'],
72
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_MatriculaOrigem'],
73
- ['ehEmpregadorGrande'],
74
- ['filtro'],
75
- ['idContratoSelecionado'],
76
- ['idTrabalhador'],
77
- ['tsv'],
78
- ['EhListagemContratosSemVinculo'],
79
- ['RequestVerificationToken'],
80
71
  ['SomenteLeitura'],
81
- ['VisualizarDadosCadastrais'],
82
72
  ['UrlRetorno'],
83
- ['visualizar'],
84
- ['EhVisualizacao'],
85
- ['idContrato'],
86
73
  ['IdEvento'],
87
74
  ['FiltroCargo'],
88
75
  ['FiltroFuncao'],
@@ -90,27 +77,9 @@ module Teodoro
90
77
  ['EhAlteracaoCadastral'],
91
78
  ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
92
79
  ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
93
- ['autocomplete_EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialEX_PaisResidencia'],
94
80
  ['EhAlteracaoContratual'],
95
- ['autocomplete_EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoDirigenteSindical_CategoriaOrigem'],
96
- ['autocomplete_EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CategoriaOrigem'],
97
- ['autocomplete_EventoAdmissao_InformacoesInicio_InfoAfastamento_CodigoMotivoAfastamento'],
98
- ['CnpjPodeEnviarEvento'],
99
- ['InformacoesTrabalhador_Cpf'],
100
- ['InformacoesTrabalhador_Nome'],
101
- ['FiltroHorario'],
102
- ['HorarioTela_CodigoHorarioContratual'],
103
- ['valorFoiSelecionado'],
104
- ['idEdicaoHorario'],
105
81
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
106
82
  ['VerProc'],
107
- ['IdEdicaoDependente'],
108
- ['commandArgument'],
109
- ['cpfTrabalhador'],
110
- ['nomeTrabalhador'],
111
- ['TipoRegistroAdmissao'],
112
- ['HorarioTela_Dia'],
113
- ['NomeEstabelecimentoLocalTrabalho'],
114
83
  ['EventoAdmissao_InfoTrabalhador_Cpf'],
115
84
  ['EventoAdmissao_InfoTrabalhador_Nome'],
116
85
  ['EventoAdmissao_InfoTrabalhador_Nis'],
@@ -122,9 +91,7 @@ module Teodoro
122
91
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
123
92
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
124
93
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
125
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
126
94
  ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
127
- ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado'],
128
95
  ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
129
96
  ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
130
97
  ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
@@ -136,27 +103,8 @@ module Teodoro
136
103
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
137
104
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
138
105
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
139
- ['EventoAdmissao_EnderecoResidencialBR_Bairro'],
140
- ['EventoAdmissao_EnderecoResidencialBR_Cep'],
141
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio'],
142
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
143
- ['EventoAdmissao_EnderecoResidencialBR_Complemento'],
144
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro'],
145
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro'],
146
106
  ['SemNumeroLogradouroEnderecoBR'],
147
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro'],
148
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
149
- ['EventoAdmissao_EnderecoResidencialBR_Uf'],
150
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
151
- ['EventoAdmissao_EnderecoResidencialEX_Bairro'],
152
- ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal'],
153
- ['EventoAdmissao_EnderecoResidencialEX_Complemento'],
154
- ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro'],
155
- ['EventoAdmissao_EnderecoResidencialEX_NomeCidade'],
156
- ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro'],
157
107
  ['ResideExterior'],
158
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia'],
159
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
160
108
  ['SemNumeroLogradouroEnderecoEX'],
161
109
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
162
110
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
@@ -176,101 +124,18 @@ module Teodoro
176
124
  ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
177
125
  ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
178
126
  ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
179
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade'],
180
127
  ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
181
128
  ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
182
129
  ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
183
130
  ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
184
131
  ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
185
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao'],
186
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic'],
187
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor'],
188
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao'],
189
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne'],
190
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor'],
191
132
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
192
133
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
193
134
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
194
135
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
195
136
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
196
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota'],
197
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao'],
198
137
  ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
199
- ['EventoAdmissao_Contato_TelefonePrincipal'],
200
- ['EventoAdmissao_Contato_EmailPrincipal'],
201
- ['EventoAdmissao_Contato_TelefoneAlternativo'],
202
- ['EventoAdmissao_Contato_EmailAlternativo'],
203
- ['EventoAdmissao_Dependente_#_CPFDependente'],
204
- ['EventoAdmissao_Dependente_#_DataNascimento'],
205
- ['EventoAdmissao_Dependente_#_DataNascimentoFormatada'],
206
- ['EventoAdmissao_Dependente_#_DependenteIRRF'],
207
- ['EventoAdmissao_Dependente_#_DependenteSF'],
208
- ['EventoAdmissao_Dependente_#_IncapacidadeDependente'],
209
- ['EventoAdmissao_Dependente_#_NomeDependente'],
210
- ['EventoAdmissao_Dependente_#_TipoDependente'],
211
138
  ['CodigoCBO'],
212
- ['CodigoCNAE'],
213
- ['InfoVinculo_InfoContrato_AlvaraJudicial_NumeroProcessoJudicial'],
214
- ['InfoVinculo_Matricula'],
215
- ['InfoVinculo_TipoRegimeTrabalhista'],
216
- ['InfoVinculo_TipoRegimePrevidenciario'],
217
- ['InfoVinculo_InfoContrato_CodigoCategoria'],
218
- ['InfoVinculo_InfoContrato_CodigoCargo'],
219
- ['InfoVinculo_InfoContrato_CodigoFuncao'],
220
- ['InfoVinculo_InfoContrato_CodigoCarreira'],
221
- ['InfoVinculo_InfoContrato_DataIngressoCarreira'],
222
- ['InfoVinculo_InfoContrato_Duracao_TipoContrato'],
223
- ['InfoVinculo_InfoContrato_Duracao_DataTermino'],
224
- ['InfoVinculo_DataInicioAfastamento'],
225
- ['InfoVinculo_CodigoMotivoAfastamento'],
226
- ['InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo'],
227
- ['InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo'],
228
- ['InfoVinculo_InfoContrato_Remuneracao_DescricaoSalarioVariavel'],
229
- ['InfoVinculo_InfoContrato_HorarioContratual_DescricaoTipoJornada'],
230
- ['InfoVinculo_InfoContrato_HorarioContratual_JornadaTempoParcial'],
231
- ['InfoVinculo_InfoContrato_HorarioContratual_QuantidadedHorasSemanal'],
232
- ['InfoVinculo_InfoContrato_HorarioContratual_TipoJornada'],
233
- ['InfoVinculo_SucessaoVinculo_DataInicioVinculo'],
234
- ['InfoVinculo_SucessaoVinculo_CnpjEmpregadorAnterior'],
235
- ['InfoVinculo_SucessaoVinculo_MatriculaAnterior'],
236
- ['InfoVinculo_SucessaoVinculo_Observacao'],
237
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional'],
238
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao'],
239
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataBase'],
240
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
241
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_NumeroInscricao'],
242
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoAprend_TipoInscricao'],
243
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS'],
244
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS'],
245
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade'],
246
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao'],
247
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada'],
248
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_DescricaoComplementar'],
249
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_NumeroInscricao'],
250
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao'],
251
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Uf'],
252
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro'],
253
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_TipoLogradouro_TEXT'],
254
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_NumeroLogradouro'],
255
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_DescricaoLogradouro'],
256
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Complemento'],
257
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_CodigoMunicipio'],
258
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Cep'],
259
- ['InfoVinculo_InfoContrato_LocalTrabalho_LocalTrabalhoDomestico_Bairro'],
260
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_NumeroInscricao'],
261
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_TipoInscricao'],
262
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_NumeroInscricao'],
263
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_EmpresaContratante_EstabelecimentoVinculadoTemporario_TipoInscricao'],
264
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_HipoteseLegal'],
265
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_JustificaHipoteseLegal'],
266
- ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TrabalhoTemporario_TipoInclusaoContrato'],
267
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CategoriaOrigem'],
268
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_CnpjEmpresaCedente'],
269
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_DataAdmissaoEmpresaCedente'],
270
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_InfoOnus'],
271
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_MatriculaEmpresaCedente'],
272
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimePrevidenciario'],
273
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoTrabalhadorCedido_TipoRegimeTrabalhista'],
274
139
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
275
140
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
276
141
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro'],
@@ -294,10 +159,7 @@ module Teodoro
294
159
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NaturezaEstagio'],
295
160
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio'],
296
161
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro'],
297
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa'],
298
- ['Horarios_#_CodigoHorarioContratual'],
299
- ['Horarios_#_Dia'],
300
- ['InfoVinculo_InfoContrato_FiliacaoSindical_#_CnpjSindicatoTrabalhador']
162
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa']
301
163
  # rubocop:enable Layout/LineLength
302
164
  ]
303
165
  end
@@ -5,6 +5,8 @@ module Teodoro
5
5
 
6
6
  def processar
7
7
  excluir_arquivos_data if tipo_de_evento_processavel?
8
+ excluir_admissao if exclusao_de_admissao?
9
+ excluir_inicio_de_tsv if exclusao_de_inicio_de_tsv?
8
10
  end
9
11
 
10
12
  private
@@ -14,7 +16,7 @@ module Teodoro
14
16
  end
15
17
 
16
18
  def tipo_de_evento
17
- evento['evtExclusao/infoExclusao/tpEvento'].delete('-')
19
+ @tipo_de_evento ||= evento['evtExclusao/infoExclusao/tpEvento'].delete('-')
18
20
  end
19
21
 
20
22
  def excluir_arquivos_data
@@ -26,7 +28,31 @@ module Teodoro
26
28
  end
27
29
 
28
30
  def numero_de_recibo_do_evento_a_excluir
29
- evento['evtExclusao/infoExclusao/nrRecEvt']
31
+ @numero_de_recibo_do_evento_a_excluir ||= evento['evtExclusao/infoExclusao/nrRecEvt']
32
+ end
33
+
34
+ def exclusao_de_admissao?
35
+ tipo_de_evento == 'S2200'
36
+ end
37
+
38
+ def excluir_admissao
39
+ contratos_de_emprego.remover(numero_de_recibo_do_evento_a_excluir)
40
+ end
41
+
42
+ def contratos_de_emprego
43
+ empresa.contratos_de_emprego
44
+ end
45
+
46
+ def exclusao_de_inicio_de_tsv?
47
+ tipo_de_evento == 'S2300'
48
+ end
49
+
50
+ def excluir_inicio_de_tsv
51
+ contratos_de_trabalho_sem_vinculo.remover(numero_de_recibo_do_evento_a_excluir)
52
+ end
53
+
54
+ def contratos_de_trabalho_sem_vinculo
55
+ empresa.contratos_de_trabalho_sem_vinculo
30
56
  end
31
57
  end
32
58
  end
data/lib/teodoro/xml.rb CHANGED
@@ -10,6 +10,8 @@ module Teodoro
10
10
 
11
11
  public
12
12
 
13
+ extend Forwardable
14
+
13
15
  def [](*path)
14
16
  node_set = xml.css("*/#{path.join('/')}")
15
17
 
@@ -27,5 +29,9 @@ module Teodoro
27
29
  def *(path) # rubocop:disable Naming/BinaryOperatorParameterName
28
30
  xml.css("*/#{path}").map { |node| self.class.new(Nokogiri::XML(node.to_s)) }
29
31
  end
32
+
33
+ def css(path)
34
+ xml.css(path)
35
+ end
30
36
  end
31
37
  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.2.0
4
+ version: 0.6.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-04-15 00:00:00.000000000 Z
11
+ date: 2021-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rainbow
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rubyzip
43
57
  requirement: !ruby/object:Gem::Requirement