teodoro 0.6.1 → 0.10.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +3 -2
  3. data/lib/teodoro/arquivo_data.rb +87 -0
  4. data/lib/teodoro/arquivo_de_evento.rb +14 -2
  5. data/lib/teodoro/arquivo_de_evento_de_tabela.rb +32 -14
  6. data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +42 -12
  7. data/lib/teodoro/arquivo_de_origem.rb +7 -7
  8. data/lib/teodoro/arquivo_xml.rb +48 -24
  9. data/lib/teodoro/console.rb +3 -1
  10. data/lib/teodoro/empresa.rb +181 -161
  11. data/lib/teodoro/leiaute/arquivo_s1000.rb +20 -24
  12. data/lib/teodoro/leiaute/arquivo_s1005.rb +12 -18
  13. data/lib/teodoro/leiaute/arquivo_s1010.rb +9 -13
  14. data/lib/teodoro/leiaute/arquivo_s1020.rb +6 -10
  15. data/lib/teodoro/leiaute/arquivo_s1030.rb +4 -8
  16. data/lib/teodoro/leiaute/arquivo_s1040.rb +3 -7
  17. data/lib/teodoro/leiaute/arquivo_s1050.rb +6 -12
  18. data/lib/teodoro/leiaute/arquivo_s1070.rb +9 -13
  19. data/lib/teodoro/leiaute/arquivo_s2190.rb +16 -17
  20. data/lib/teodoro/leiaute/arquivo_s2200.rb +161 -185
  21. data/lib/teodoro/leiaute/arquivo_s2205.rb +132 -167
  22. data/lib/teodoro/leiaute/arquivo_s2206.rb +72 -75
  23. data/lib/teodoro/leiaute/arquivo_s2230.rb +87 -91
  24. data/lib/teodoro/leiaute/arquivo_s2250.rb +36 -40
  25. data/lib/teodoro/leiaute/arquivo_s2299.rb +171 -169
  26. data/lib/teodoro/leiaute/arquivo_s2300.rb +135 -159
  27. data/lib/teodoro/leiaute/arquivo_s2306.rb +148 -151
  28. data/lib/teodoro/leiaute/arquivo_s2399.rb +123 -127
  29. data/lib/teodoro/leiaute/arquivo_s3000.rb +4 -8
  30. data/lib/teodoro/xml.rb +2 -2
  31. metadata +3 -5
  32. data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +0 -52
  33. data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +0 -30
  34. data/lib/teodoro/arquivo_de_evento_retificavel.rb +0 -23
@@ -3,14 +3,14 @@ module Teodoro
3
3
  class ArquivoS2399 # rubocop:disable Metrics/ClassLength
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
- def processar
6
+ private
7
+
8
+ def criar_arquivos_data
7
9
  super
8
10
 
9
11
  registrar_termino_do_contrato
10
12
  end
11
13
 
12
- private
13
-
14
14
  def registrar_termino_do_contrato
15
15
  contrato_de_trabalho.data_do_termino = data_do_termino
16
16
  end
@@ -28,141 +28,137 @@ module Teodoro
28
28
  end
29
29
 
30
30
  def data_do_termino
31
- @data_do_termino ||= evento['evtTSVTermino/infoTSVTermino/dtTerm']
32
- end
33
-
34
- def noh_principal_do_evento
35
- 'evtTSVTermino'
36
- end
37
-
38
- def nome_do_arquivo_data
39
- @nome_do_arquivo_data ||=
40
- "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER"
31
+ @data_do_termino ||= evento['infoTSVTermino/dtTerm']
41
32
  end
42
33
 
43
34
  def cpf_do_trabalhador
44
- @cpf_do_trabalhador ||= evento['evtTSVTermino/ideTrabSemVinculo/cpfTrab']
35
+ @cpf_do_trabalhador ||= evento['ideTrabSemVinculo/cpfTrab']
45
36
  end
46
37
 
47
38
  def categoria_do_trabalhador
48
- @categoria_do_trabalhador ||= evento['evtTSVTermino/ideTrabSemVinculo/codCateg']
39
+ @categoria_do_trabalhador ||= evento['ideTrabSemVinculo/codCateg']
49
40
  end
50
41
 
51
- def data_de_inicio
52
- contrato_de_trabalho.data_de_inicio
53
- end
54
-
55
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
42
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
56
43
  [
57
- # rubocop:disable Layout/LineLength
58
- ['ESX_CPF', cpf_do_trabalhador],
59
- ['ESX_CATEGORIA', categoria_do_trabalhador],
60
- ['ESX_SEMVINCULO'],
61
- ['ESX_DATAADMISSAO', data_de_inicio],
62
- ['ESX_DATADESLIGAMENTO', data_do_termino],
63
- ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
64
- ['IdEventoXml'],
65
- ['NrReciboEventoOriginal'],
66
- ['EventoAdmissao_NrRecibo'],
67
- ['EventoAdmissao_DataAlteracaoCadastral'],
68
- ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
69
- ['EventoAdmissao_InformacoesInicio_DataInicio'],
70
- ['EventoAdmissao_DataAlteracaoContratual'],
71
- ['SomenteLeitura'],
72
- ['UrlRetorno'],
73
- ['IdEvento'],
74
- ['FiltroCargo'],
75
- ['FiltroFuncao'],
76
- ['IdContratoReferenciado'],
77
- ['EhAlteracaoCadastral'],
78
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
79
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
80
- ['EhAlteracaoContratual'],
81
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
82
- ['VerProc'],
83
- ['EventoAdmissao_InfoTrabalhador_Cpf'],
84
- ['EventoAdmissao_InfoTrabalhador_Nome'],
85
- ['EventoAdmissao_InfoTrabalhador_Nis'],
86
- ['EventoAdmissao_InfoTrabalhador_Sexo'],
87
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
88
- ['EventoAdmissao_InfoTrabalhador_RacaCor'],
89
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
90
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
91
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
92
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
93
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
94
- ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
95
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
96
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
97
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
98
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
99
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
100
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
101
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
103
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
104
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
105
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
106
- ['SemNumeroLogradouroEnderecoBR'],
107
- ['ResideExterior'],
108
- ['SemNumeroLogradouroEnderecoEX'],
109
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
110
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
111
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
112
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
113
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
114
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
115
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
116
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
117
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
118
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
119
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
120
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
121
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
122
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
123
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
124
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
125
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
126
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
128
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
129
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
130
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
131
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
132
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
133
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
134
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
135
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
136
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
137
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
138
- ['CodigoCBO'],
139
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
140
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
141
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro'],
142
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cep'],
143
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cnpj'],
144
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_CodigoMunicipio'],
145
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_DescricaoLogradouro'],
146
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_NumeroLogradouro'],
147
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_RazaoSocial'],
148
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Uf'],
149
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Bairro'],
150
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cep'],
151
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cnpj'],
152
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_CodigoMunicipio'],
153
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_DescricaoLogradouro'],
154
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_NumeroLogradouro'],
155
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_RazaoSocial'],
156
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Uf'],
157
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Cpf'],
158
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Nome'],
159
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NaturezaEstagio'],
160
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio'],
161
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro'],
162
- ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa']
163
- # rubocop:enable Layout/LineLength
44
+ Obj.new(
45
+ nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
46
+ itens_do_conteudo: [
47
+ # rubocop:disable Layout/LineLength
48
+ ['ESX_CPF', cpf_do_trabalhador],
49
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
50
+ ['ESX_SEMVINCULO'],
51
+ ['ESX_DATAADMISSAO', data_de_inicio],
52
+ ['ESX_DATADESLIGAMENTO', data_do_termino],
53
+ ['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
54
+ ['IdEventoXml'],
55
+ ['NrReciboEventoOriginal'],
56
+ ['EventoAdmissao_NrRecibo'],
57
+ ['EventoAdmissao_DataAlteracaoCadastral'],
58
+ ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
59
+ ['EventoAdmissao_InformacoesInicio_DataInicio'],
60
+ ['EventoAdmissao_DataAlteracaoContratual'],
61
+ ['SomenteLeitura'],
62
+ ['UrlRetorno'],
63
+ ['IdEvento'],
64
+ ['FiltroCargo'],
65
+ ['FiltroFuncao'],
66
+ ['IdContratoReferenciado'],
67
+ ['EhAlteracaoCadastral'],
68
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
69
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
70
+ ['EhAlteracaoContratual'],
71
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
72
+ ['VerProc'],
73
+ ['EventoAdmissao_InfoTrabalhador_Cpf'],
74
+ ['EventoAdmissao_InfoTrabalhador_Nome'],
75
+ ['EventoAdmissao_InfoTrabalhador_Nis'],
76
+ ['EventoAdmissao_InfoTrabalhador_Sexo'],
77
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
78
+ ['EventoAdmissao_InfoTrabalhador_RacaCor'],
79
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
80
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
81
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
82
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
83
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
84
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
85
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
86
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
87
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
88
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
89
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
90
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
91
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
92
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
93
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
94
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
95
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
96
+ ['SemNumeroLogradouroEnderecoBR'],
97
+ ['ResideExterior'],
98
+ ['SemNumeroLogradouroEnderecoEX'],
99
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
100
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
101
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
102
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
103
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
104
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
105
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
106
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
107
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
108
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
109
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
110
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
111
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
112
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
113
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
114
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
115
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
116
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
117
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
118
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
119
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
120
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
121
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
122
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
123
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
124
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
125
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
126
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
127
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
128
+ ['CodigoCBO'],
129
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
130
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
131
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Bairro'],
132
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cep'],
133
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Cnpj'],
134
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_CodigoMunicipio'],
135
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_DescricaoLogradouro'],
136
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_NumeroLogradouro'],
137
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_RazaoSocial'],
138
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoAgenteIntegracao_Uf'],
139
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Bairro'],
140
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cep'],
141
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Cnpj'],
142
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_CodigoMunicipio'],
143
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_DescricaoLogradouro'],
144
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_NumeroLogradouro'],
145
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_RazaoSocial'],
146
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoInstEnsino_Uf'],
147
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Cpf'],
148
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_InfoSupervisorEstagio_Nome'],
149
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NaturezaEstagio'],
150
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio'],
151
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro'],
152
+ ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa']
153
+ # rubocop:enable Layout/LineLength
154
+ ]
155
+ )
164
156
  ]
165
157
  end
158
+
159
+ def data_de_inicio
160
+ contrato_de_trabalho.data_de_inicio
161
+ end
166
162
  end
167
163
  end
168
164
  end
@@ -1,7 +1,7 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
3
  class ArquivoS3000
4
- include ArquivoDeEventoProcessadorDeArquivoData
4
+ include ArquivoDeEvento
5
5
 
6
6
  def processar
7
7
  excluir_arquivos_data if tipo_de_evento_processavel?
@@ -16,19 +16,15 @@ module Teodoro
16
16
  end
17
17
 
18
18
  def tipo_de_evento
19
- @tipo_de_evento ||= evento['evtExclusao/infoExclusao/tpEvento'].delete('-')
19
+ @tipo_de_evento ||= evento['infoExclusao/tpEvento'].delete('-')
20
20
  end
21
21
 
22
22
  def excluir_arquivos_data
23
- arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
24
- end
25
-
26
- def arquivos_data
27
- empresa.arquivos_data
23
+ empresa.arquivos_data.excluir(numero_de_recibo_do_evento_a_excluir)
28
24
  end
29
25
 
30
26
  def numero_de_recibo_do_evento_a_excluir
31
- @numero_de_recibo_do_evento_a_excluir ||= evento['evtExclusao/infoExclusao/nrRecEvt']
27
+ @numero_de_recibo_do_evento_a_excluir ||= evento['infoExclusao/nrRecEvt']
32
28
  end
33
29
 
34
30
  def exclusao_de_admissao?
data/lib/teodoro/xml.rb CHANGED
@@ -13,7 +13,7 @@ module Teodoro
13
13
  extend Forwardable
14
14
 
15
15
  def [](*path)
16
- node_set = xml.css("*/#{path.join('/')}")
16
+ node_set = xml.css("/*/#{path.join('/')}")
17
17
 
18
18
  raise if node_set.size > 1
19
19
  return if node_set.size.zero?
@@ -27,7 +27,7 @@ module Teodoro
27
27
  end
28
28
 
29
29
  def *(path) # rubocop:disable Naming/BinaryOperatorParameterName
30
- xml.css("*/#{path}").map { |node| self.class.new(Nokogiri::XML(node.to_s)) }
30
+ xml.css("/*/#{path}").map { |node| self.class.new(Nokogiri::XML(node.to_s)) }
31
31
  end
32
32
 
33
33
  def css(path)
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.6.1
4
+ version: 0.10.1
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-20 00:00:00.000000000 Z
11
+ date: 2021-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -187,12 +187,10 @@ extra_rdoc_files: []
187
187
  files:
188
188
  - bin/teodoro
189
189
  - lib/teodoro.rb
190
+ - lib/teodoro/arquivo_data.rb
190
191
  - lib/teodoro/arquivo_de_evento.rb
191
- - lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb
192
192
  - lib/teodoro/arquivo_de_evento_de_tabela.rb
193
193
  - lib/teodoro/arquivo_de_evento_nao_periodico.rb
194
- - lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb
195
- - lib/teodoro/arquivo_de_evento_retificavel.rb
196
194
  - lib/teodoro/arquivo_de_origem.rb
197
195
  - lib/teodoro/arquivo_xml.rb
198
196
  - lib/teodoro/cnpj.rb
@@ -1,52 +0,0 @@
1
- module Teodoro
2
- module ArquivoDeEventoCriadorDeArquivoData
3
- include ArquivoDeEventoProcessadorDeArquivoData
4
-
5
- private
6
-
7
- def criar_arquivo_data
8
- raise caminho_do_arquivo_data if File.exist?(caminho_do_arquivo_data)
9
-
10
- File.write(caminho_do_arquivo_data, conteudo_do_arquivo_data)
11
- end
12
-
13
- def conteudo_do_arquivo_data
14
- (itens_do_conteudo_do_arquivo_data.map { "#{_1}=#{Valor.new(_2)}" } + ['']).join("\r\n")
15
- end
16
-
17
- def tipo_de_inscricao_do_empregador
18
- @tipo_de_inscricao_do_empregador ||= evento["#{noh_principal_do_evento}/ideEmpregador/tpInsc"]
19
- end
20
-
21
- class Valor
22
- FORMATADORES = {
23
- bool: proc { _1 ? 'True' : 'False' },
24
- data: proc { "#{_1[-2..]}/#{_1[5..6]}/#{_1[0..3]}" if _1 },
25
- data_aaaammdd: proc { _1.delete('-') if _1 },
26
- mes_ano: proc { "#{_1[-2..]}/#{_1[0..3]}" if _1 }
27
- }.freeze
28
-
29
- private
30
-
31
- def initialize(arg)
32
- @arg = arg
33
- end
34
-
35
- attr_reader :arg
36
-
37
- public
38
-
39
- def to_s
40
- @to_s ||= (tipo ? FORMATADORES[tipo].call(valor) : valor).to_s
41
- end
42
-
43
- def tipo
44
- @tipo ||= arg[1] if arg.is_a?(Array)
45
- end
46
-
47
- def valor
48
- @valor ||= arg.is_a?(Array) ? arg[0] : arg
49
- end
50
- end
51
- end
52
- end
@@ -1,30 +0,0 @@
1
- module Teodoro
2
- module ArquivoDeEventoProcessadorDeArquivoData
3
- include ArquivoDeEvento
4
-
5
- private
6
-
7
- def id_do_evento
8
- evento.css(noh_principal_do_evento).first.attributes['Id'].value
9
- end
10
-
11
- def processo_de_emissao_do_evento
12
- evento["#{noh_principal_do_evento}/ideEvento/procEmi"]
13
- end
14
-
15
- def criar_caminho_do_arquivo_data(nome_do_arquivo)
16
- File.join(
17
- destino_dos_arquivos_data,
18
- "#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
19
- )
20
- end
21
-
22
- def destino_dos_arquivos_data
23
- empresa.destino_dos_arquivos_data
24
- end
25
-
26
- def windows?
27
- OS.windows?
28
- end
29
- end
30
- end
@@ -1,23 +0,0 @@
1
- module Teodoro
2
- module ArquivoDeEventoRetificavel
3
- include ArquivoDeEvento
4
-
5
- private
6
-
7
- def retificacao?
8
- @retificacao ||= evento["#{noh_principal_do_evento}/ideEvento/indRetif"] == '2'
9
- end
10
-
11
- def deletar_arquivos_data_originais
12
- arquivos_data.excluir(numero_do_recibo_a_retificar)
13
- end
14
-
15
- def arquivos_data
16
- empresa.arquivos_data
17
- end
18
-
19
- def numero_do_recibo_a_retificar
20
- @numero_do_recibo_a_retificar ||= evento["#{noh_principal_do_evento}/ideEvento/nrRecibo"]
21
- end
22
- end
23
- end