teodoro 0.7.0 → 0.11.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/teodoro.rb +8 -2
  3. data/lib/teodoro/arquivo_data.rb +81 -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 +36 -13
  7. data/lib/teodoro/arquivo_de_origem.rb +7 -7
  8. data/lib/teodoro/arquivo_xml.rb +29 -22
  9. data/lib/teodoro/console.rb +3 -1
  10. data/lib/teodoro/empresa.rb +15 -17
  11. data/lib/teodoro/leiaute/arquivo_s1000.rb +24 -30
  12. data/lib/teodoro/leiaute/arquivo_s1005.rb +14 -20
  13. data/lib/teodoro/leiaute/arquivo_s1010.rb +11 -15
  14. data/lib/teodoro/leiaute/arquivo_s1020.rb +8 -12
  15. data/lib/teodoro/leiaute/arquivo_s1030.rb +6 -10
  16. data/lib/teodoro/leiaute/arquivo_s1040.rb +5 -9
  17. data/lib/teodoro/leiaute/arquivo_s1050.rb +8 -14
  18. data/lib/teodoro/leiaute/arquivo_s1070.rb +12 -16
  19. data/lib/teodoro/leiaute/arquivo_s2190.rb +15 -14
  20. data/lib/teodoro/leiaute/arquivo_s2200.rb +152 -156
  21. data/lib/teodoro/leiaute/arquivo_s2205.rb +132 -166
  22. data/lib/teodoro/leiaute/arquivo_s2206.rb +72 -75
  23. data/lib/teodoro/leiaute/arquivo_s2230.rb +87 -90
  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 +127 -131
  27. data/lib/teodoro/leiaute/arquivo_s2306.rb +148 -147
  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
@@ -41,7 +41,6 @@ module Teodoro
41
41
  classificar_arquivos_xml
42
42
  ordenar_arquivos_xml
43
43
  processar_arquivos_xml
44
- limpar_linha_de_feedback
45
44
  end
46
45
 
47
46
  def destino_dos_arquivos_data
@@ -83,11 +82,13 @@ module Teodoro
83
82
  end
84
83
 
85
84
  def descompactar_arquivos_de_origem
86
- arquivos_de_origem.each(&:descompactar)
85
+ # otimizacao do gerenciamento de memoria
86
+ arquivos_de_origem.shift.descompactar while arquivos_de_origem.any?
87
87
  end
88
88
 
89
89
  def arquivos_de_origem
90
- Dir[File.join(caminho, '*.zip')]
90
+ @arquivos_de_origem ||=
91
+ Dir[File.join(caminho, '*.zip')]
91
92
  .map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
92
93
  end
93
94
 
@@ -106,20 +107,21 @@ module Teodoro
106
107
  end
107
108
 
108
109
  def classificar_arquivos_xml
109
- Console.print 'classificando os arquivos XML...'
110
-
111
- arquivos_xml
112
- .select(&:processavel?)
113
- .partition(&:retificacao?)
114
- .then do |de_retificacao, exceto_de_retificacao|
115
- @arquivos_xml_por_recibo_a_retificar = de_retificacao.map { [_1.numero_do_recibo_a_retificar, _1] }.to_h
116
- @arquivos_xml = exceto_de_retificacao
110
+ Console.print 'classificando os arquivos XML...' do
111
+ arquivos_xml
112
+ .select(&:processavel?)
113
+ .partition(&:retificacao?)
114
+ .then do |de_retificacao, exceto_de_retificacao|
115
+ @arquivos_xml_por_recibo_a_retificar = de_retificacao.map { [_1.numero_do_recibo_a_retificar, _1] }.to_h
116
+ @arquivos_xml = exceto_de_retificacao
117
+ end
117
118
  end
118
119
  end
119
120
 
120
121
  def ordenar_arquivos_xml
121
- Console.print 'ordenando os arquivos XML...'
122
- arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
122
+ Console.print 'ordenando os arquivos XML...' do
123
+ arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
124
+ end
123
125
  end
124
126
 
125
127
  def processar_arquivos_xml
@@ -127,10 +129,6 @@ module Teodoro
127
129
  arquivos_xml.shift.processar while arquivos_xml.any?
128
130
  end
129
131
 
130
- def limpar_linha_de_feedback
131
- Console.print
132
- end
133
-
134
132
  class ArquivosData
135
133
  private
136
134
 
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtInfoEmpregador'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoEmpregador'
14
10
  end
@@ -52,7 +48,7 @@ module Teodoro
52
48
  end
53
49
 
54
50
  def numero_de_inscricao
55
- @numero_de_inscricao ||= evento['evtInfoEmpregador/ideEmpregador/nrInsc']
51
+ @numero_de_inscricao ||= evento['ideEmpregador/nrInsc']
56
52
  end
57
53
 
58
54
  def cnpj_raiz
@@ -65,7 +61,6 @@ module Teodoro
65
61
 
66
62
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
67
63
  [
68
- # rubocop:disable Layout/LineLength
69
64
  ['TipoInscricaoEmpregador', tipo_de_inscricao],
70
65
  ['FapBdContrib'],
71
66
  ['AlteracaoEmPeriodoExistente'],
@@ -77,33 +72,33 @@ module Teodoro
77
72
  ['EhRetificacao'],
78
73
  ['EhInclusaoNovoPeriodo'],
79
74
  ['RetornoAction'],
80
- ['ehOrgaoPublico', [orgao_publico?, :bool]],
81
- ['ehOrgaoPublicoUniao', [orgao_publico?, :bool]],
82
- ['ehOrgaoPublicoEstadualMunicipalDistrital', [evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool]],
75
+ ['ehOrgaoPublico', orgao_publico?, :bool],
76
+ ['ehOrgaoPublicoUniao', orgao_publico?, :bool],
77
+ ['ehOrgaoPublicoEstadualMunicipalDistrital', evento['infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool],
83
78
  ['ExibeModoCompleto'],
84
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
85
- ['FimValidade', [fim_da_validade, :mes_ano]],
79
+ ['InicioValidade', inicio_da_validade, :mes_ano],
80
+ ['FimValidade', fim_da_validade, :mes_ano],
86
81
  ['NomeRazaoSocial', nome_ou_razao_social],
87
- ['ClassificacaoTributaria', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/classTrib']],
88
- ['NaturezaJuridica', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/natJurid']],
89
- ['IndicativoRegEletronico', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indOptRegEletron']],
90
- ['IndicativoCooperativa', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indCoop']],
91
- ['IndicativoConstrutora', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indConstr']],
92
- ['IndicativoDesoneracaoFolha', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indDesFolha']],
93
- ['IndicativoEntidadeEducativa', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indEntEd']],
94
- ['IndicativoEmpresaTrabalhoTemporario', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/indEtt']],
95
- ['CpfContato', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/cpfCtt']],
96
- ['NomeContato', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/nmCtt']],
97
- ['TelefoneFixo', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/foneFixo']],
98
- ['TelefoneCelular', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/foneCel']],
99
- ['Email', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/contato/email']],
82
+ ['ClassificacaoTributaria', evento['infoEmpregador/*/infoCadastro/classTrib']],
83
+ ['NaturezaJuridica', evento['infoEmpregador/*/infoCadastro/natJurid']],
84
+ ['IndicativoRegEletronico', evento['infoEmpregador/*/infoCadastro/indOptRegEletron']],
85
+ ['IndicativoCooperativa', evento['infoEmpregador/*/infoCadastro/indCoop']],
86
+ ['IndicativoConstrutora', evento['infoEmpregador/*/infoCadastro/indConstr']],
87
+ ['IndicativoDesoneracaoFolha', evento['infoEmpregador/*/infoCadastro/indDesFolha']],
88
+ ['IndicativoEntidadeEducativa', evento['infoEmpregador/*/infoCadastro/indEntEd']],
89
+ ['IndicativoEmpresaTrabalhoTemporario', evento['infoEmpregador/*/infoCadastro/indEtt']],
90
+ ['CpfContato', evento['infoEmpregador/*/infoCadastro/contato/cpfCtt']],
91
+ ['NomeContato', evento['infoEmpregador/*/infoCadastro/contato/nmCtt']],
92
+ ['TelefoneFixo', evento['infoEmpregador/*/infoCadastro/contato/foneFixo']],
93
+ ['TelefoneCelular', evento['infoEmpregador/*/infoCadastro/contato/foneCel']],
94
+ ['Email', evento['infoEmpregador/*/infoCadastro/contato/email']],
100
95
  ['SoftwareHouseTela_CnpjSoftwareHouse'],
101
96
  ['SoftwareHouseTela_NomeRazaoSocial'],
102
97
  ['SoftwareHouseTela_NomeContato'],
103
98
  ['SoftwareHouseTela_Telefone'],
104
99
  ['SoftwareHouseTela_Email'],
105
- ['IndicativoSituacaoPF', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoComplementares/situacaoPF/indSitPF']],
106
- ['IndicativoSituacaoPJ', evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoComplementares/situacaoPJ/indSitPJ']],
100
+ ['IndicativoSituacaoPF', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPF/indSitPF']],
101
+ ['IndicativoSituacaoPJ', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPJ/indSitPJ']],
107
102
  ['IdEventoXml', id_do_evento],
108
103
  ['NrReciboEventoOriginal', numero_do_recibo],
109
104
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
@@ -121,20 +116,19 @@ module Teodoro
121
116
  ["ListaSoftHouses_#{seq}_Email", software_house['email']]
122
117
  ]
123
118
  end.sum([])
124
- # rubocop:enable Layout/LineLength
125
119
  ]
126
120
  end
127
121
 
128
122
  def nome_ou_razao_social
129
- @nome_ou_razao_social ||= evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/nmRazao']
123
+ @nome_ou_razao_social ||= evento['infoEmpregador/*/infoCadastro/nmRazao']
130
124
  end
131
125
 
132
126
  def orgao_publico?
133
- @orgao_publico ||= evento['evtInfoEmpregador/infoEmpregador/*/infoCadastro/infoOP']
127
+ @orgao_publico ||= evento['infoEmpregador/*/infoCadastro/infoOP']
134
128
  end
135
129
 
136
130
  def softwares_house
137
- evento.*('evtInfoEmpregador/infoEmpregador/*/infoCadastro/softwareHouse')
131
+ evento.*('infoEmpregador/*/infoCadastro/softwareHouse')
138
132
  end
139
133
  end
140
134
  end
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtTabEstab'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoEstab'
14
10
  end
@@ -18,7 +14,7 @@ module Teodoro
18
14
  end
19
15
 
20
16
  def numero_de_inscricao
21
- @numero_de_inscricao ||= evento['evtTabEstab/infoEstab/*/ideEstab/nrInsc']
17
+ @numero_de_inscricao ||= evento['infoEstab/*/ideEstab/nrInsc']
22
18
  end
23
19
 
24
20
  def noh_de_identificacao_do_periodo
@@ -27,7 +23,6 @@ module Teodoro
27
23
 
28
24
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
29
25
  [
30
- # rubocop:disable Layout/LineLength
31
26
  ['RequestVerificationToken'],
32
27
  ['SomenteVisualizacao'],
33
28
  ['BloquearCodigo'],
@@ -35,33 +30,32 @@ module Teodoro
35
30
  ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
36
31
  ['TipoEmpregador'],
37
32
  ['ContinuandoEdicao'],
38
- ['TipoInscricaoEstabelecimento', evento['evtTabEstab/infoEstab/*/ideEstab/tpInsc']],
33
+ ['TipoInscricaoEstabelecimento', evento['infoEstab/*/ideEstab/tpInsc']],
39
34
  ['NumeroInscricaoEstabelecimento', numero_de_inscricao],
40
35
  ['NomeEstabelecimento'],
41
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
42
- ['FimValidade', [fim_da_validade, :mes_ano]],
43
- ['TipoCaepf', evento['evtTabEstab/infoEstab/*/dadosEstab/infoCaepf/tpCaepf']],
36
+ ['InicioValidade', inicio_da_validade, :mes_ano],
37
+ ['FimValidade', fim_da_validade, :mes_ano],
38
+ ['TipoCaepf', evento['infoEstab/*/dadosEstab/infoCaepf/tpCaepf']],
44
39
  ['CnaePreponderanteCodigoDescricaoAutoComplete'],
45
- ['CnaePreponderante', evento['evtTabEstab/infoEstab/*/dadosEstab/cnaePrep']],
40
+ ['CnaePreponderante', evento['infoEstab/*/dadosEstab/cnaePrep']],
46
41
  ['CnaePreponderantePreenchido'],
47
- ['AliquotaRat', evento['evtTabEstab/infoEstab/*/dadosEstab/aliqGilrat/aliqRat']],
48
- ['Fap', evento['evtTabEstab/infoEstab/*/dadosEstab/aliqGilrat/fap']],
49
- ['AliquotaRatAjustada', evento['evtTabEstab/infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust']],
42
+ ['AliquotaRat', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRat']],
43
+ ['Fap', evento['infoEstab/*/dadosEstab/aliqGilrat/fap'], :decimal],
44
+ ['AliquotaRatAjustada', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust'], :decimal],
50
45
  ['FapRecuperado'],
51
46
  ['AliquotaRatRecuperada'],
52
47
  ['DesejaIncluirProcessoAdminJudRat'],
53
48
  ['DesejaIncluirProcessoAdminJudFap'],
54
- ['TipoRegistroPonto', evento['evtTabEstab/infoEstab/*/dadosEstab/infoTrab/regPt']],
55
- ['IndicativoContratacaoAprendiz', evento['evtTabEstab/infoEstab/*/dadosEstab/infoTrab/infoApr/contApr']],
56
- ['ContratoAprendizEntidade', evento['evtTabEstab/infoEstab/*/dadosEstab/infoTrab/infoApr/contEntEd']],
49
+ ['TipoRegistroPonto', evento['infoEstab/*/dadosEstab/infoTrab/regPt']],
50
+ ['IndicativoContratacaoAprendiz', evento['infoEstab/*/dadosEstab/infoTrab/infoApr/contApr']],
51
+ ['ContratoAprendizEntidade', evento['infoEstab/*/dadosEstab/infoTrab/infoApr/contEntEd']],
57
52
  ['EntidadeEducativaTela_CnpjEntidadeEducativa'],
58
- ['IndicativoContratacaoDeficiencia', evento['evtTabEstab/infoEstab/*/dadosEstab/infoTrab/infoPCD/contPCD']],
59
- ['IndicativoSubstituicaoPatronalObra', evento['evtTabEstab/infoEstab/*/dadosEstab/infoObra/indSubstPatrObra']],
53
+ ['IndicativoContratacaoDeficiencia', evento['infoEstab/*/dadosEstab/infoTrab/infoPCD/contPCD']],
54
+ ['IndicativoSubstituicaoPatronalObra', evento['infoEstab/*/dadosEstab/infoObra/indSubstPatrObra']],
60
55
  ['IdEventoXml', id_do_evento],
61
56
  ['NrReciboEventoOriginal', numero_do_recibo],
62
57
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
63
58
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
64
- # rubocop:enable Layout/LineLength
65
59
  ]
66
60
  end
67
61
  end
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtTabRubrica'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoRubrica'
14
10
  end
@@ -22,11 +18,11 @@ module Teodoro
22
18
  end
23
19
 
24
20
  def identificador_da_tabela_de_rubricas
25
- @identificador_da_tabela_de_rubricas ||= evento['evtTabRubrica/infoRubrica/*/ideRubrica/ideTabRubr']
21
+ @identificador_da_tabela_de_rubricas ||= evento['infoRubrica/*/ideRubrica/ideTabRubr']
26
22
  end
27
23
 
28
24
  def codigo
29
- @codigo ||= evento['evtTabRubrica/infoRubrica/*/ideRubrica/codRubr']
25
+ @codigo ||= evento['infoRubrica/*/ideRubrica/codRubr']
30
26
  end
31
27
 
32
28
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
@@ -36,18 +32,18 @@ module Teodoro
36
32
  ['BloquearCodigo'],
37
33
  ['BloquearAntigoPeriodoValidade'],
38
34
  ['Codigo', codigo],
39
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
40
- ['FimValidade', [fim_da_validade, :mes_ano]],
35
+ ['InicioValidade', inicio_da_validade, :mes_ano],
36
+ ['FimValidade', fim_da_validade, :mes_ano],
41
37
  ['chkIdTabelaRubrica'],
42
38
  ['IdTabelaRubrica', identificador_da_tabela_de_rubricas],
43
39
  ['IdTabelaRubricaText'],
44
- ['DadosRubrica_Descricao', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/dscRubr']],
45
- ['DadosRubrica_Natureza', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/natRubr']],
46
- ['DadosRubrica_TipoRubrica', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/tpRubr']],
47
- ['DadosRubrica_CodigoIncidenciaPrevidencia', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/codIncCP']],
48
- ['DadosRubrica_CodigoIncidenciaIR', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/codIncIRRF']],
49
- ['DadosRubrica_CodigoIncidenciaFGTS', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/codIncFGTS']],
50
- ['DadosRubrica_CodigoIncidenciaSindical', evento['evtTabRubrica/infoRubrica/*/dadosRubrica/codIncSIND']],
40
+ ['DadosRubrica_Descricao', evento['infoRubrica/*/dadosRubrica/dscRubr']],
41
+ ['DadosRubrica_Natureza', evento['infoRubrica/*/dadosRubrica/natRubr']],
42
+ ['DadosRubrica_TipoRubrica', evento['infoRubrica/*/dadosRubrica/tpRubr']],
43
+ ['DadosRubrica_CodigoIncidenciaPrevidencia', evento['infoRubrica/*/dadosRubrica/codIncCP']],
44
+ ['DadosRubrica_CodigoIncidenciaIR', evento['infoRubrica/*/dadosRubrica/codIncIRRF']],
45
+ ['DadosRubrica_CodigoIncidenciaFGTS', evento['infoRubrica/*/dadosRubrica/codIncFGTS']],
46
+ ['DadosRubrica_CodigoIncidenciaSindical', evento['infoRubrica/*/dadosRubrica/codIncSIND']],
51
47
  ['IdEventoXml'],
52
48
  ['NrReciboEventoOriginal'],
53
49
  ['DescricaoProcEmi'],
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtTabLotacao'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoLotacao'
14
10
  end
@@ -22,7 +18,7 @@ module Teodoro
22
18
  end
23
19
 
24
20
  def codigo_da_lotacao_tributaria
25
- @codigo_da_lotacao_tributaria ||= evento['evtTabLotacao/infoLotacao/*/ideLotacao/codLotacao']
21
+ @codigo_da_lotacao_tributaria ||= evento['infoLotacao/*/ideLotacao/codLotacao']
26
22
  end
27
23
 
28
24
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
@@ -34,14 +30,14 @@ module Teodoro
34
30
  ['CodigoConvenioTerceirosHidden'],
35
31
  ['IdEvento'],
36
32
  ['CodigoLotacao', codigo_da_lotacao_tributaria],
37
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
38
- ['FimValidade', [fim_da_validade, :mes_ano]],
39
- ['TipoLotacao', evento['evtTabLotacao/infoLotacao/*/dadosLotacao/tpLotacao']],
33
+ ['InicioValidade', inicio_da_validade, :mes_ano],
34
+ ['FimValidade', fim_da_validade, :mes_ano],
35
+ ['TipoLotacao', evento['infoLotacao/*/dadosLotacao/tpLotacao']],
40
36
  ['Tipo'],
41
- ['TipoInscricaoEstab', evento['evtTabLotacao/infoLotacao/*/dadosLotacao/tpInsc']],
42
- ['NumeroInscricaoEstab', evento['evtTabLotacao/infoLotacao/*/dadosLotacao/nrInsc']],
43
- ['Fpas', evento['evtTabLotacao/infoLotacao/*/dadosLotacao/fpasLotacao/fpas']],
44
- ['CodigoConvenioTerceiros', evento['evtTabLotacao/infoLotacao/*/dadosLotacao/fpasLotacao/codTercs']],
37
+ ['TipoInscricaoEstab', evento['infoLotacao/*/dadosLotacao/tpInsc']],
38
+ ['NumeroInscricaoEstab', evento['infoLotacao/*/dadosLotacao/nrInsc']],
39
+ ['Fpas', evento['infoLotacao/*/dadosLotacao/fpasLotacao/fpas']],
40
+ ['CodigoConvenioTerceiros', evento['infoLotacao/*/dadosLotacao/fpasLotacao/codTercs']],
45
41
  ['IdEventoXml', id_do_evento],
46
42
  ['NrReciboEventoOriginal', numero_do_recibo],
47
43
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtTabCargo'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoCargo'
14
10
  end
@@ -22,7 +18,7 @@ module Teodoro
22
18
  end
23
19
 
24
20
  def codigo_do_cargo
25
- @codigo_do_cargo ||= evento['evtTabCargo/infoCargo/*/ideCargo/codCargo']
21
+ @codigo_do_cargo ||= evento['infoCargo/*/ideCargo/codCargo']
26
22
  end
27
23
 
28
24
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
@@ -32,13 +28,13 @@ module Teodoro
32
28
  ['BloquearCodigo'],
33
29
  ['BloquearAntigoPeriodoValidade'],
34
30
  ['CodigoCargo', codigo_do_cargo],
35
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
36
- ['FimValidade', [fim_da_validade, :mes_ano]],
37
- ['DadosCargo_DescricaoCargo', evento['evtTabCargo/infoCargo/*/dadosCargo/nmCargo']],
38
- ['DadosCargo_CodigoCBO', evento['evtTabCargo/infoCargo/*/dadosCargo/codCBO']],
31
+ ['InicioValidade', inicio_da_validade, :mes_ano],
32
+ ['FimValidade', fim_da_validade, :mes_ano],
33
+ ['DadosCargo_DescricaoCargo', evento['infoCargo/*/dadosCargo/nmCargo']],
34
+ ['DadosCargo_CodigoCBO', evento['infoCargo/*/dadosCargo/codCBO']],
39
35
  ['DadosCargo_CodigoCBO_TEXT'],
40
36
  ['autocomplete_DadosCargo_CodigoCBO'],
41
- ['PreencherCargoPublico', [evento['evtTabCargo/infoCargo/*/dadosCargo/cargoPublico'], :bool]],
37
+ ['PreencherCargoPublico', evento['infoCargo/*/dadosCargo/cargoPublico'], :bool],
42
38
  ['IdEventoXml', id_do_evento],
43
39
  ['NrReciboEventoOriginal', numero_do_recibo],
44
40
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
@@ -3,10 +3,6 @@ module Teodoro
3
3
  class ArquivoS1040
4
4
  include ArquivoDeEventoDeTabela
5
5
 
6
- def noh_principal_do_evento
7
- 'evtTabFuncao'
8
- end
9
-
10
6
  def noh_de_informacoes_do_evento
11
7
  'infoFuncao'
12
8
  end
@@ -20,7 +16,7 @@ module Teodoro
20
16
  end
21
17
 
22
18
  def codigo_da_funcao
23
- @codigo_da_funcao ||= evento['evtTabFuncao/infoFuncao/*/ideFuncao/codFuncao']
19
+ @codigo_da_funcao ||= evento['infoFuncao/*/ideFuncao/codFuncao']
24
20
  end
25
21
 
26
22
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
@@ -30,10 +26,10 @@ module Teodoro
30
26
  ['BloquearCodigo'],
31
27
  ['BloquearAntigoPeriodoValidade'],
32
28
  ['CodigoFuncao', codigo_da_funcao],
33
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
34
- ['FimValidade', [fim_da_validade, :mes_ano]],
35
- ['DadosFuncao_DescricaoFuncao', evento['evtTabFuncao/infoFuncao/*/dadosFuncao/dscFuncao']],
36
- ['DadosFuncao_CodigoCBO', evento['evtTabFuncao/infoFuncao/*/dadosFuncao/codCBO']],
29
+ ['InicioValidade', inicio_da_validade, :mes_ano],
30
+ ['FimValidade', fim_da_validade, :mes_ano],
31
+ ['DadosFuncao_DescricaoFuncao', evento['infoFuncao/*/dadosFuncao/dscFuncao']],
32
+ ['DadosFuncao_CodigoCBO', evento['infoFuncao/*/dadosFuncao/codCBO']],
37
33
  ['DadosFuncao_CodigoCBO_TEXT'],
38
34
  ['DadosFuncao_DescricaoCBO'],
39
35
  ['IdEventoXml'],
@@ -5,10 +5,6 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def noh_principal_do_evento
9
- 'evtTabHorTur'
10
- end
11
-
12
8
  def noh_de_informacoes_do_evento
13
9
  'infoHorContratual'
14
10
  end
@@ -22,23 +18,22 @@ module Teodoro
22
18
  end
23
19
 
24
20
  def codigo_do_horario
25
- @codigo_do_horario ||= evento['evtTabHorTur/infoHorContratual/*/ideHorContratual/codHorContrat']
21
+ @codigo_do_horario ||= evento['infoHorContratual/*/ideHorContratual/codHorContrat']
26
22
  end
27
23
 
28
24
  def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
29
25
  [
30
- # rubocop:disable Layout/LineLength
31
26
  ['RequestVerificationToken'],
32
27
  ['SomenteVisualizacao'],
33
28
  ['BloquearCodigo'],
34
29
  ['BloquearAntigoPeriodoValidade'],
35
30
  ['CodigoHorarioContratual', codigo_do_horario],
36
- ['InicioValidade', [inicio_da_validade, :mes_ano]],
37
- ['FimValidade', [fim_da_validade, :mes_ano]],
38
- ['DadosHorario_HoraEntrada', evento['evtTabHorTur/infoHorContratual/*/dadosHorContratual/hrEntr']],
39
- ['DadosHorario_HoraSaida', evento['evtTabHorTur/infoHorContratual/*/dadosHorContratual/hrSaida']],
40
- ['DadosHorario_DuracaoJornada', evento['evtTabHorTur/infoHorContratual/*/dadosHorContratual/durJornada']],
41
- ['DadosHorario_PeriodoHorarioFlexivel', evento['evtTabHorTur/infoHorContratual/*/dadosHorContratual/perHorFlexivel']],
31
+ ['InicioValidade', inicio_da_validade, :mes_ano],
32
+ ['FimValidade', fim_da_validade, :mes_ano],
33
+ ['DadosHorario_HoraEntrada', evento['infoHorContratual/*/dadosHorContratual/hrEntr']],
34
+ ['DadosHorario_HoraSaida', evento['infoHorContratual/*/dadosHorContratual/hrSaida']],
35
+ ['DadosHorario_DuracaoJornada', evento['infoHorContratual/*/dadosHorContratual/durJornada'].to_i],
36
+ ['DadosHorario_PeriodoHorarioFlexivel', evento['infoHorContratual/*/dadosHorContratual/perHorFlexivel']],
42
37
  ['DesejaIncluirIntervalo'],
43
38
  ['TelaHorarioIntervalo_TipoIntervalo'],
44
39
  ['TelaHorarioIntervalo_InicioIntervalo'],
@@ -48,7 +43,7 @@ module Teodoro
48
43
  ['NrReciboEventoOriginal', numero_do_recibo],
49
44
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
50
45
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
51
- *evento.*('evtTabHorTur/infoHorContratual/*/dadosHorContratual/horarioIntervalo').map.with_index(1) do |intervalo, seq|
46
+ *evento.*('infoHorContratual/*/dadosHorContratual/horarioIntervalo').map.with_index(1) do |intervalo, seq|
52
47
  [
53
48
  ["DadosHorario_ListaHorarioIntervalo_#{seq}_TipoIntervalo", intervalo['tpInterv']],
54
49
  ["DadosHorario_ListaHorarioIntervalo_#{seq}_DescricaoIntervalo"],
@@ -57,7 +52,6 @@ module Teodoro
57
52
  ["DadosHorario_ListaHorarioIntervalo_#{seq}_DuracaoIntervalo", intervalo['durInterv']]
58
53
  ]
59
54
  end.sum([])
60
- # rubocop:enable Layout/LineLength
61
55
  ]
62
56
  end
63
57
  end