teodoro 0.50.0 → 0.51.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.
@@ -5,7 +5,7 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def criar_arquivos_data
8
+ def salvar_arquivos_data
9
9
  super
10
10
 
11
11
  registrar_inicio_de_contrato
@@ -22,13 +22,16 @@ module Teodoro
22
22
  empresa.contratos_de_trabalho_sem_vinculo
23
23
  end
24
24
 
25
- def inicio_de_contrato
25
+ def inicio_de_contrato # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
26
26
  @inicio_de_contrato ||= Obj.new(
27
27
  trabalhador: trabalhador,
28
28
  matricula_do_trabalhador: evento['infoTSVInicio/matricula'],
29
29
  categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
30
30
  data_de_inicio: evento['infoTSVInicio/dtInicio'],
31
+ natureza_da_atividade: evento['infoTSVInicio/natAtividade'],
31
32
  matricula: evento['infoTSVInicio/matricula'],
33
+ opcao_pelo_fgts: leiaute.opcao_pelo_fgts,
34
+ data_de_opcao_pelo_fgts: leiaute.data_de_opcao_pelo_fgts,
32
35
  recibo: numero_do_recibo
33
36
  )
34
37
  end
@@ -123,8 +126,7 @@ module Teodoro
123
126
  evento['infoTSVInicio/afastamento']&.then do |afastamento|
124
127
  Obj.new(
125
128
  data_de_inicio: afastamento['dtIniAfast'],
126
- codigo_do_motivo: afastamento['codMotAfast'],
127
- numero_do_recibo: numero_do_recibo
129
+ codigo_do_motivo: afastamento['codMotAfast']
128
130
  )
129
131
  end
130
132
  end
@@ -132,6 +134,7 @@ module Teodoro
132
134
  def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
133
135
  [
134
136
  Obj.new(
137
+ operacao: :inclusao,
135
138
  nome: [
136
139
  "TRA[#{trabalhador.cpf}][",
137
140
  [
@@ -252,6 +255,103 @@ module Teodoro
252
255
  ['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVInicio/natAtividade']]
253
256
  # rubocop:enable Layout/LineLength
254
257
  ]
258
+ ),
259
+ Obj.new(
260
+ operacao: :inclusao,
261
+ nome: [
262
+ 'TRA[',
263
+ trabalhador.cpf,
264
+ '][TSV_',
265
+ inicio_de_contrato.categoria_do_trabalhador,
266
+ '_',
267
+ inicio_de_contrato.data_de_inicio.delete('-'),
268
+ ']-GER'
269
+ ].join,
270
+ itens_do_conteudo: [
271
+ # rubocop:disable Layout/LineLength
272
+ ['ESX_CPF', trabalhador.cpf],
273
+ ['ESX_MATRICULA', inicio_de_contrato.matricula_do_trabalhador],
274
+ ['ESX_CATEGORIA', inicio_de_contrato.categoria_do_trabalhador],
275
+ %w[ESX_SEMVINCULO 1],
276
+ ['ESX_DATAADMISSAO', inicio_de_contrato.data_de_inicio, :data],
277
+ ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
278
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
279
+ ['VerProc', versao_do_processo_de_emissao_do_evento],
280
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
281
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
282
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
283
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
284
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
285
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
286
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
287
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
288
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
289
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
290
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
291
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
292
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
293
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
294
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
295
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
296
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
297
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
298
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
299
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
300
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
301
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
302
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
303
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
304
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
305
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
306
+ ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
307
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
308
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
309
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
310
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
311
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
312
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
313
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
314
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
315
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
316
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
317
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
318
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
319
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
320
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
321
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
322
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
323
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
324
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
325
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
326
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
327
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
328
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
329
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
330
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
331
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
332
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
333
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
334
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
335
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
336
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
337
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
338
+ ['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
339
+ ['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
340
+ ['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
341
+ ['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
342
+ ['InfoVinculo_Matricula', inicio_de_contrato.matricula_do_trabalhador],
343
+ ['InfoVinculo_TipoRegimeTrabalhista'],
344
+ ['InfoVinculo_TipoRegimePrevidenciario'],
345
+ ['InfoVinculo_InfoContrato_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
346
+ ['InfoVinculo_InfoContrato_Duracao_TipoContrato'],
347
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', inicio_de_contrato.data_de_inicio, :data],
348
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao'],
349
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', leiaute.data_de_opcao_pelo_fgts, :data],
350
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', leiaute.opcao_pelo_fgts],
351
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', inicio_de_contrato.natureza_da_atividade],
352
+ ['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao']
353
+ # rubocop:enable Layout/LineLength
354
+ ]
255
355
  )
256
356
  ]
257
357
  end
@@ -298,6 +398,14 @@ module Teodoro
298
398
  @condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
299
399
  end
300
400
 
401
+ def opcao_pelo_fgts
402
+ @opcao_pelo_fgts ||= evento['infoTSVInicio/infoComplementares/fgts/opcFGTS']
403
+ end
404
+
405
+ def data_de_opcao_pelo_fgts
406
+ @data_de_opcao_pelo_fgts ||= evento['infoTSVInicio/infoComplementares/fgts/dtOpcFGTS']
407
+ end
408
+
301
409
  private
302
410
 
303
411
  def chaves_valores # rubocop:disable Metrics/MethodLength
@@ -350,6 +458,14 @@ module Teodoro
350
458
  end
351
459
  end
352
460
 
461
+ def opcao_pelo_fgts
462
+ @opcao_pelo_fgts ||= 1 if evento['infoTSVInicio/infoComplementares/FGTS']
463
+ end
464
+
465
+ def data_de_opcao_pelo_fgts
466
+ @data_de_opcao_pelo_fgts ||= evento['infoTSVInicio/infoComplementares/FGTS/dtOpcFGTS']
467
+ end
468
+
353
469
  private
354
470
 
355
471
  def chaves_valores # rubocop:disable Metrics/MethodLength
@@ -8,6 +8,7 @@ module Teodoro
8
8
  def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
9
9
  [
10
10
  Obj.new(
11
+ operacao: :inclusao,
11
12
  nome: [
12
13
  'TRA',
13
14
  "[#{cpf_do_trabalhador}]",
@@ -31,7 +32,7 @@ module Teodoro
31
32
  ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
32
33
  ['EventoAdmissao_InfoTrabalhador_Nis', evento['ideTrabSemVinculo/nisTrab']],
33
34
  ['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
34
- ['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVAlteracao/natAtividade']],
35
+ ['EventoAdmissao_InformacoesInicio_NaturezaAtividade', natureza_da_atividade],
35
36
  leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
36
37
  leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoFuncao'],
37
38
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVAlteracao/infoComplementares/remuneracao/undSalFixo']],
@@ -62,6 +63,21 @@ module Teodoro
62
63
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVAlteracao/infoComplementares/infoEstagiario/vlrBolsa'], :decimal]
63
64
  # rubocop:enable Layout/LineLength
64
65
  ]
66
+ ),
67
+ Obj.new(
68
+ operacao: :atualizacao,
69
+ nome: [
70
+ 'TRA[',
71
+ cpf_do_trabalhador,
72
+ '][TSV_',
73
+ categoria_do_trabalhador,
74
+ '_',
75
+ data_de_inicio.delete('-'),
76
+ ']-GER'
77
+ ].join,
78
+ itens_do_conteudo: [
79
+ ['EventoAdmissao_InformacoesInicio_NaturezaAtividade', natureza_da_atividade]
80
+ ]
65
81
  )
66
82
  ]
67
83
  end
@@ -83,6 +99,10 @@ module Teodoro
83
99
  end
84
100
  end
85
101
 
102
+ def natureza_da_atividade
103
+ @natureza_da_atividade ||= evento['infoTSVAlteracao/natAtividade']
104
+ end
105
+
86
106
  def data_de_inicio
87
107
  contrato_de_trabalho.data_de_inicio
88
108
  end
@@ -1,11 +1,11 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2399 # rubocop:disable Metrics/ClassLength
3
+ class ArquivoS2399
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
6
  private
7
7
 
8
- def criar_arquivos_data
8
+ def salvar_arquivos_data
9
9
  super
10
10
 
11
11
  registrar_termino_do_contrato
@@ -49,65 +49,15 @@ module Teodoro
49
49
  end
50
50
  end
51
51
 
52
- def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
52
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
53
53
  [
54
54
  Obj.new(
55
+ operacao: :atualizacao,
55
56
  nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
56
57
  itens_do_conteudo: [
57
- # rubocop:disable Layout/LineLength
58
- ['ESX_CPF', cpf_do_trabalhador],
59
58
  ['EventoAdmissao_InformacoesInicio_Matricula', matricula_do_trabalhador],
60
- ['ESX_CATEGORIA', categoria_do_trabalhador],
61
- %w[ESX_SEMVINCULO 1],
62
- ['ESX_DATAADMISSAO', data_de_inicio],
63
59
  ['ESX_DATADESLIGAMENTO', data_do_termino],
64
- ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
65
- ['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
66
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
67
- ['VerProc', versao_do_processo_de_emissao_do_evento],
68
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
69
- ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
70
- ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
71
- ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
72
- ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
73
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
74
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
75
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
76
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
77
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
78
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
79
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
80
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
81
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
82
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
83
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
84
- ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
85
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
86
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', (trabalhador.condicao_de_ingresso_no_brasil if trabalhador.estrangeiro?)],
87
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
88
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
89
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
90
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
91
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
92
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
93
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
94
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
95
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
96
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
97
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
98
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
99
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
100
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
101
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
102
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
103
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
104
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
105
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
106
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
107
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
108
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
109
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado]
110
- # rubocop:enable Layout/LineLength
60
+ ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo]
111
61
  ]
112
62
  )
113
63
  ]
@@ -116,10 +66,6 @@ module Teodoro
116
66
  def data_de_inicio
117
67
  contrato_de_trabalho.data_de_inicio
118
68
  end
119
-
120
- def trabalhador
121
- @trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
122
- end
123
69
  end
124
70
  end
125
71
  end
@@ -8,6 +8,7 @@ module Teodoro
8
8
  def dados_dos_arquivos_data
9
9
  [
10
10
  Obj.new(
11
+ operacao: :inclusao,
11
12
  nome: "PTR[#{numero_do_processo}][#{cpf_do_trabalhador}]",
12
13
  itens_do_conteudo: itens_do_conteudo
13
14
  )
@@ -8,6 +8,7 @@ module Teodoro
8
8
  def dados_dos_arquivos_data
9
9
  [
10
10
  Obj.new(
11
+ operacao: :inclusao,
11
12
  nome: "TDP[#{numero_do_processo}][#{mes_ano_da_obrigacao}]",
12
13
  itens_do_conteudo: itens_do_conteudo
13
14
  )
@@ -1,3 +1,3 @@
1
1
  module Teodoro
2
- VERSION = '0.50.0'.freeze
2
+ VERSION = '0.51.1'.freeze
3
3
  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.50.0
4
+ version: 0.51.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fortes Tecnologia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-16 00:00:00.000000000 Z
11
+ date: 2023-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -236,7 +236,6 @@ files:
236
236
  - lib/teodoro/leiaute/arquivo_s2399.rb
237
237
  - lib/teodoro/leiaute/arquivo_s2500.rb
238
238
  - lib/teodoro/leiaute/arquivo_s2501.rb
239
- - lib/teodoro/leiaute/arquivo_s3000.rb
240
239
  - lib/teodoro/leiaute/arquivo_s3500.rb
241
240
  - lib/teodoro/leiaute_simplificado.rb
242
241
  - lib/teodoro/obj.rb
@@ -1,80 +0,0 @@
1
- module Teodoro
2
- module Leiaute
3
- class ArquivoS3000
4
- include ArquivoDeEvento
5
-
6
- def processar
7
- excluir_arquivo_data if tipo_de_evento_processavel?
8
- excluir_admissao if exclusao_de_admissao?
9
- excluir_inicio_de_tsv if exclusao_de_inicio_de_tsv?
10
- excluir_inicio_de_afastamento if exclusao_de_inicio_de_afastamento?
11
- end
12
-
13
- private
14
-
15
- def tipo_de_evento_processavel?
16
- ArquivoXML::TIPOS_DE_EVENTO_PROCESSAVEIS.include?(tipo_de_evento)
17
- end
18
-
19
- def tipo_de_evento
20
- @tipo_de_evento ||= evento['infoExclusao/tpEvento'].delete('-')
21
- end
22
-
23
- def excluir_arquivo_data
24
- empresa.arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
25
- end
26
-
27
- def numero_de_recibo_do_evento_a_excluir
28
- @numero_de_recibo_do_evento_a_excluir ||= evento['infoExclusao/nrRecEvt']
29
- end
30
-
31
- def exclusao_de_admissao?
32
- tipo_de_evento == 'S2200'
33
- end
34
-
35
- def excluir_admissao
36
- contratos_de_emprego.remover(numero_de_recibo_do_evento_a_excluir)
37
- end
38
-
39
- def contratos_de_emprego
40
- empresa.contratos_de_emprego
41
- end
42
-
43
- def exclusao_de_inicio_de_tsv?
44
- tipo_de_evento == 'S2300'
45
- end
46
-
47
- def excluir_inicio_de_tsv
48
- contratos_de_trabalho_sem_vinculo.remover(numero_de_recibo_do_evento_a_excluir)
49
- end
50
-
51
- def contratos_de_trabalho_sem_vinculo
52
- empresa.contratos_de_trabalho_sem_vinculo
53
- end
54
-
55
- def exclusao_de_inicio_de_afastamento?
56
- exclusao_de_afastamento? && inicio_de_afastamento?
57
- end
58
-
59
- def exclusao_de_afastamento?
60
- tipo_de_evento == 'S2230'
61
- end
62
-
63
- def inicio_de_afastamento?
64
- inicio_de_afastamento
65
- end
66
-
67
- def inicio_de_afastamento
68
- @inicio_de_afastamento ||= inicios_de_afastamento_por_numero_do_recibo[numero_de_recibo_do_evento_a_excluir]
69
- end
70
-
71
- def inicios_de_afastamento_por_numero_do_recibo
72
- empresa.inicios_de_afastamento_por_numero_do_recibo
73
- end
74
-
75
- def excluir_inicio_de_afastamento
76
- inicio_de_afastamento.excluir
77
- end
78
- end
79
- end
80
- end