teodoro 0.8.0 → 0.12.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.
- checksums.yaml +4 -4
- data/lib/teodoro.rb +8 -2
- data/lib/teodoro/arquivo_data.rb +81 -0
- data/lib/teodoro/arquivo_de_evento.rb +12 -0
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +27 -9
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +36 -13
- data/lib/teodoro/arquivo_xml.rb +10 -7
- data/lib/teodoro/empresa.rb +4 -2
- data/lib/teodoro/leiaute/arquivo_s1000.rb +5 -7
- data/lib/teodoro/leiaute/arquivo_s1005.rb +4 -4
- data/lib/teodoro/leiaute/arquivo_s1010.rb +2 -2
- data/lib/teodoro/leiaute/arquivo_s1020.rb +2 -2
- data/lib/teodoro/leiaute/arquivo_s1030.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1040.rb +2 -2
- data/lib/teodoro/leiaute/arquivo_s1050.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s1070.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2190.rb +14 -13
- data/lib/teodoro/leiaute/arquivo_s2200.rb +163 -146
- data/lib/teodoro/leiaute/arquivo_s2205.rb +130 -160
- data/lib/teodoro/leiaute/arquivo_s2206.rb +76 -67
- data/lib/teodoro/leiaute/arquivo_s2230.rb +85 -84
- data/lib/teodoro/leiaute/arquivo_s2250.rb +34 -34
- data/lib/teodoro/leiaute/arquivo_s2299.rb +170 -164
- data/lib/teodoro/leiaute/arquivo_s2300.rb +137 -123
- data/lib/teodoro/leiaute/arquivo_s2306.rb +145 -144
- data/lib/teodoro/leiaute/arquivo_s2399.rb +120 -120
- data/lib/teodoro/leiaute/arquivo_s3000.rb +2 -6
- metadata +3 -5
- data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +0 -52
- data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +0 -30
- data/lib/teodoro/arquivo_de_evento_retificavel.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b415fec3398853b0283d7dcc3b822c7b90c81b75e0b34d6c491daf56259d4bde
|
4
|
+
data.tar.gz: 6e3f908145c5099bc5b8012deb338edb4c6ae22023fad881215e704d6847e12b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a2bd3938c5ce7740cbb50d6db629401007f86f074278d819883516a88959ec72960794bc276403b73e2f4517849c64d4667120339a9de2deb10705a623d5580
|
7
|
+
data.tar.gz: 70b459092be50c90f46b9931804a4125bfe6b11f1facd30c39cc9acc0799d52ff8dddeea88088f7fdb6c9e0501b4dbfb221acdf8d2490b178463cef251454e76
|
data/lib/teodoro.rb
CHANGED
@@ -13,6 +13,11 @@ module Teodoro
|
|
13
13
|
Execution.new(args).call
|
14
14
|
end
|
15
15
|
|
16
|
+
@production = true
|
17
|
+
def self.production?
|
18
|
+
@production
|
19
|
+
end
|
20
|
+
|
16
21
|
class Execution
|
17
22
|
NOME_DO_PROGRAMA = 'teodoro'.freeze
|
18
23
|
|
@@ -72,11 +77,12 @@ module Teodoro
|
|
72
77
|
end
|
73
78
|
|
74
79
|
def processar_empresas
|
75
|
-
|
80
|
+
# otimizacao do gerenciamento de memoria
|
81
|
+
empresas.shift.processar while empresas.any?
|
76
82
|
end
|
77
83
|
|
78
84
|
def empresas
|
79
|
-
Dir[File.join(origem, '*')].map { |caminho| Empresa.new(caminho: caminho, destino: destino) }
|
85
|
+
@empresas ||= Dir[File.join(origem, '*')].map { |caminho| Empresa.new(caminho: caminho, destino: destino) }
|
80
86
|
end
|
81
87
|
end
|
82
88
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
module Teodoro
|
2
|
+
class ArquivoData
|
3
|
+
private
|
4
|
+
|
5
|
+
def initialize(destino_dos_arquivos_data:, nome:, itens_do_conteudo:)
|
6
|
+
@destino_dos_arquivos_data = destino_dos_arquivos_data
|
7
|
+
@nome = nome
|
8
|
+
@itens_do_conteudo = itens_do_conteudo
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_reader :destino_dos_arquivos_data, :itens_do_conteudo
|
12
|
+
|
13
|
+
public
|
14
|
+
|
15
|
+
attr_reader :nome
|
16
|
+
|
17
|
+
def criar
|
18
|
+
raise caminho if File.exist?(caminho)
|
19
|
+
|
20
|
+
File.write(caminho, (itens_do_conteudo.map { "#{_1}=#{Valor.new(_2, formato: _3)}" } + ['']).join("\r\n"))
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def caminho
|
26
|
+
@caminho ||= Caminho.new(destino_dos_arquivos_data: destino_dos_arquivos_data, nome_do_arquivo: nome)
|
27
|
+
end
|
28
|
+
|
29
|
+
class Caminho
|
30
|
+
private
|
31
|
+
|
32
|
+
def initialize(destino_dos_arquivos_data:, nome_do_arquivo:)
|
33
|
+
@destino_dos_arquivos_data = destino_dos_arquivos_data
|
34
|
+
@nome_do_arquivo = nome_do_arquivo
|
35
|
+
end
|
36
|
+
|
37
|
+
attr_reader :destino_dos_arquivos_data, :nome_do_arquivo
|
38
|
+
|
39
|
+
public
|
40
|
+
|
41
|
+
def to_str
|
42
|
+
@to_str ||=
|
43
|
+
File.join(
|
44
|
+
destino_dos_arquivos_data,
|
45
|
+
"#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def windows?
|
52
|
+
OS.windows?
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
class Valor
|
57
|
+
FORMATADORES = {
|
58
|
+
bool: proc { _1 ? 'True' : 'False' },
|
59
|
+
data: proc { "#{_1[-2..]}/#{_1[5..6]}/#{_1[0..3]}" if _1 },
|
60
|
+
data_aaaammdd: proc { _1.delete('-') if _1 },
|
61
|
+
decimal: proc { _1.tr('.', ',') if _1 },
|
62
|
+
mes_ano: proc { "#{_1[-2..]}/#{_1[0..3]}" if _1 }
|
63
|
+
}.freeze
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def initialize(valor, formato:)
|
68
|
+
@valor = valor
|
69
|
+
@formato = formato
|
70
|
+
end
|
71
|
+
|
72
|
+
attr_reader :valor, :formato
|
73
|
+
|
74
|
+
public
|
75
|
+
|
76
|
+
def to_s
|
77
|
+
@to_s ||= (formato ? FORMATADORES[formato].call(valor) : valor).to_s
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -17,6 +17,18 @@ module Teodoro
|
|
17
17
|
arquivo_xml.recibo
|
18
18
|
end
|
19
19
|
|
20
|
+
def id_do_evento
|
21
|
+
@id_do_evento ||= evento.css('/*').first.attributes['Id'].value
|
22
|
+
end
|
23
|
+
|
24
|
+
def processo_de_emissao_do_evento
|
25
|
+
@processo_de_emissao_do_evento ||= evento['ideEvento/procEmi']
|
26
|
+
end
|
27
|
+
|
28
|
+
def tipo_de_inscricao_do_empregador
|
29
|
+
@tipo_de_inscricao_do_empregador ||= evento['ideEmpregador/tpInsc']
|
30
|
+
end
|
31
|
+
|
20
32
|
def versao_do_aplicativo_de_processamento_do_evento
|
21
33
|
@versao_do_aplicativo_de_processamento_do_evento ||= recibo['processamento/versaoAppProcessamento']
|
22
34
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module ArquivoDeEventoDeTabela
|
3
|
-
include
|
3
|
+
include ArquivoDeEvento
|
4
4
|
|
5
5
|
def processar
|
6
6
|
deletar_arquivo_data_original if alteracao? || exclusao?
|
@@ -20,15 +20,18 @@ module Teodoro
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def deletar_arquivo_data_original
|
23
|
-
File.delete(
|
23
|
+
File.delete(caminho_do_arquivo_data_original)
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
|
26
|
+
def caminho_do_arquivo_data_original
|
27
|
+
ArquivoData::Caminho.new(
|
28
|
+
destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
|
29
|
+
nome_do_arquivo: nome_do_arquivo_data_original
|
30
|
+
)
|
28
31
|
end
|
29
32
|
|
30
|
-
def
|
31
|
-
|
33
|
+
def nome_do_arquivo_data_original
|
34
|
+
"#{nome_base_do_arquivo_data}[#{inicio_da_validade_original.delete('-')}]"
|
32
35
|
end
|
33
36
|
|
34
37
|
def nome_base_do_arquivo_data
|
@@ -36,9 +39,24 @@ module Teodoro
|
|
36
39
|
identificacao_do_arquivo_data[0] + identificacao_do_arquivo_data[1..].map { "[#{_1}]" }.join
|
37
40
|
end
|
38
41
|
|
39
|
-
def
|
40
|
-
|
41
|
-
|
42
|
+
def inicio_da_validade_original
|
43
|
+
evento[noh_de_informacoes_do_evento, '*', noh_de_identificacao_do_periodo, 'iniValid']
|
44
|
+
end
|
45
|
+
|
46
|
+
def criar_arquivo_data
|
47
|
+
arquivo_data.criar
|
48
|
+
end
|
49
|
+
|
50
|
+
def arquivo_data
|
51
|
+
ArquivoData.new(
|
52
|
+
destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
|
53
|
+
nome: nome_do_arquivo_data,
|
54
|
+
itens_do_conteudo: itens_do_conteudo_do_arquivo_data
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
def nome_do_arquivo_data
|
59
|
+
"#{nome_base_do_arquivo_data}[#{inicio_da_validade.delete('-')}]"
|
42
60
|
end
|
43
61
|
|
44
62
|
def inicio_da_validade
|
@@ -1,32 +1,55 @@
|
|
1
1
|
module Teodoro
|
2
2
|
module ArquivoDeEventoNaoPeriodico
|
3
|
-
include
|
4
|
-
include ArquivoDeEventoRetificavel
|
3
|
+
include ArquivoDeEvento
|
5
4
|
|
6
5
|
def processar
|
7
6
|
if retificado?
|
8
7
|
processar_retificacao
|
9
8
|
else
|
10
|
-
|
11
|
-
|
9
|
+
registrar_arquivos_data
|
10
|
+
criar_arquivos_data
|
12
11
|
end
|
13
12
|
end
|
14
13
|
|
15
14
|
private
|
16
15
|
|
17
|
-
def
|
18
|
-
|
19
|
-
nome: nome_do_arquivo_data,
|
20
|
-
recibo: numero_do_recibo
|
21
|
-
)
|
16
|
+
def retificado?
|
17
|
+
arquivo_xml_de_retificacao
|
22
18
|
end
|
23
19
|
|
24
|
-
def
|
25
|
-
|
20
|
+
def arquivo_xml_de_retificacao
|
21
|
+
@arquivo_xml_de_retificacao ||= arquivos_xml_por_recibo_a_retificar.delete(numero_do_recibo)
|
22
|
+
end
|
23
|
+
|
24
|
+
def arquivos_xml_por_recibo_a_retificar
|
25
|
+
empresa.arquivos_xml_por_recibo_a_retificar
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
|
28
|
+
def processar_retificacao
|
29
|
+
arquivo_xml_de_retificacao.processar
|
30
|
+
end
|
31
|
+
|
32
|
+
def registrar_arquivos_data
|
33
|
+
arquivos_data.each do
|
34
|
+
empresa.arquivos_data.registrar(
|
35
|
+
nome: _1.nome,
|
36
|
+
recibo: numero_do_recibo
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def criar_arquivos_data
|
42
|
+
arquivos_data.shift.criar while arquivos_data.any?
|
43
|
+
end
|
44
|
+
|
45
|
+
def arquivos_data
|
46
|
+
@arquivos_data ||= dados_dos_arquivos_data.map {
|
47
|
+
ArquivoData.new(
|
48
|
+
destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
|
49
|
+
nome: _1.nome,
|
50
|
+
itens_do_conteudo: _1.itens_do_conteudo
|
51
|
+
)
|
52
|
+
}
|
30
53
|
end
|
31
54
|
end
|
32
55
|
end
|
data/lib/teodoro/arquivo_xml.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
|
+
require_relative 'arquivo_data'
|
1
2
|
require_relative 'arquivo_de_evento'
|
2
|
-
require_relative 'arquivo_de_evento_processador_de_arquivo_data'
|
3
|
-
require_relative 'arquivo_de_evento_criador_de_arquivo_data'
|
4
|
-
require_relative 'arquivo_de_evento_retificavel'
|
5
3
|
require_relative 'arquivo_de_evento_de_tabela'
|
6
4
|
require_relative 'arquivo_de_evento_nao_periodico'
|
7
5
|
require_relative 'cnpj'
|
@@ -110,7 +108,12 @@ module Teodoro
|
|
110
108
|
end
|
111
109
|
|
112
110
|
def validar_versao_do_leiaute
|
113
|
-
raise unless
|
111
|
+
raise unless [
|
112
|
+
'02_04_01',
|
113
|
+
'02_04_02',
|
114
|
+
'02_05_00',
|
115
|
+
*('_S_01_00_00' unless Teodoro.production?)
|
116
|
+
].include?(versao_do_leiaute)
|
114
117
|
end
|
115
118
|
|
116
119
|
def versao_do_leiaute
|
@@ -122,7 +125,7 @@ module Teodoro
|
|
122
125
|
end
|
123
126
|
|
124
127
|
def xml_do_evento
|
125
|
-
@xml_do_evento ||= Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/evento/*').to_s)
|
128
|
+
@xml_do_evento ||= Nokogiri::XML(xml.css('/eSocial/retornoProcessamentoDownload/evento/*').to_s)
|
126
129
|
end
|
127
130
|
|
128
131
|
def xml
|
@@ -145,7 +148,7 @@ module Teodoro
|
|
145
148
|
end
|
146
149
|
|
147
150
|
def evento
|
148
|
-
XML.new(Nokogiri::XML(xml_do_evento.css('
|
151
|
+
XML.new(Nokogiri::XML(xml_do_evento.css('/*/*').to_s))
|
149
152
|
end
|
150
153
|
|
151
154
|
def recibo
|
@@ -153,7 +156,7 @@ module Teodoro
|
|
153
156
|
end
|
154
157
|
|
155
158
|
def xml_do_recibo
|
156
|
-
Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*/*').to_s)
|
159
|
+
Nokogiri::XML(xml.css('/eSocial/retornoProcessamentoDownload/recibo/*/*').to_s)
|
157
160
|
end
|
158
161
|
end
|
159
162
|
end
|
data/lib/teodoro/empresa.rb
CHANGED
@@ -82,11 +82,13 @@ module Teodoro
|
|
82
82
|
end
|
83
83
|
|
84
84
|
def descompactar_arquivos_de_origem
|
85
|
-
|
85
|
+
# otimizacao do gerenciamento de memoria
|
86
|
+
arquivos_de_origem.shift.descompactar while arquivos_de_origem.any?
|
86
87
|
end
|
87
88
|
|
88
89
|
def arquivos_de_origem
|
89
|
-
|
90
|
+
@arquivos_de_origem ||=
|
91
|
+
Dir[File.join(caminho, '*.zip')]
|
90
92
|
.map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
|
91
93
|
end
|
92
94
|
|
@@ -61,7 +61,6 @@ module Teodoro
|
|
61
61
|
|
62
62
|
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
63
63
|
[
|
64
|
-
# rubocop:disable Layout/LineLength
|
65
64
|
['TipoInscricaoEmpregador', tipo_de_inscricao],
|
66
65
|
['FapBdContrib'],
|
67
66
|
['AlteracaoEmPeriodoExistente'],
|
@@ -73,12 +72,12 @@ module Teodoro
|
|
73
72
|
['EhRetificacao'],
|
74
73
|
['EhInclusaoNovoPeriodo'],
|
75
74
|
['RetornoAction'],
|
76
|
-
['ehOrgaoPublico',
|
77
|
-
['ehOrgaoPublicoUniao',
|
78
|
-
['ehOrgaoPublicoEstadualMunicipalDistrital',
|
75
|
+
['ehOrgaoPublico', orgao_publico?, :bool],
|
76
|
+
['ehOrgaoPublicoUniao', orgao_publico?, :bool],
|
77
|
+
['ehOrgaoPublicoEstadualMunicipalDistrital', evento['infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool],
|
79
78
|
['ExibeModoCompleto'],
|
80
|
-
['InicioValidade',
|
81
|
-
['FimValidade',
|
79
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
80
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
82
81
|
['NomeRazaoSocial', nome_ou_razao_social],
|
83
82
|
['ClassificacaoTributaria', evento['infoEmpregador/*/infoCadastro/classTrib']],
|
84
83
|
['NaturezaJuridica', evento['infoEmpregador/*/infoCadastro/natJurid']],
|
@@ -117,7 +116,6 @@ module Teodoro
|
|
117
116
|
["ListaSoftHouses_#{seq}_Email", software_house['email']]
|
118
117
|
]
|
119
118
|
end.sum([])
|
120
|
-
# rubocop:enable Layout/LineLength
|
121
119
|
]
|
122
120
|
end
|
123
121
|
|
@@ -33,15 +33,15 @@ module Teodoro
|
|
33
33
|
['TipoInscricaoEstabelecimento', evento['infoEstab/*/ideEstab/tpInsc']],
|
34
34
|
['NumeroInscricaoEstabelecimento', numero_de_inscricao],
|
35
35
|
['NomeEstabelecimento'],
|
36
|
-
['InicioValidade',
|
37
|
-
['FimValidade',
|
36
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
37
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
38
38
|
['TipoCaepf', evento['infoEstab/*/dadosEstab/infoCaepf/tpCaepf']],
|
39
39
|
['CnaePreponderanteCodigoDescricaoAutoComplete'],
|
40
40
|
['CnaePreponderante', evento['infoEstab/*/dadosEstab/cnaePrep']],
|
41
41
|
['CnaePreponderantePreenchido'],
|
42
42
|
['AliquotaRat', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRat']],
|
43
|
-
['Fap', evento['infoEstab/*/dadosEstab/aliqGilrat/fap']],
|
44
|
-
['AliquotaRatAjustada', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust']],
|
43
|
+
['Fap', evento['infoEstab/*/dadosEstab/aliqGilrat/fap'], :decimal],
|
44
|
+
['AliquotaRatAjustada', evento['infoEstab/*/dadosEstab/aliqGilrat/aliqRatAjust'], :decimal],
|
45
45
|
['FapRecuperado'],
|
46
46
|
['AliquotaRatRecuperada'],
|
47
47
|
['DesejaIncluirProcessoAdminJudRat'],
|
@@ -32,8 +32,8 @@ module Teodoro
|
|
32
32
|
['BloquearCodigo'],
|
33
33
|
['BloquearAntigoPeriodoValidade'],
|
34
34
|
['Codigo', codigo],
|
35
|
-
['InicioValidade',
|
36
|
-
['FimValidade',
|
35
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
36
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
37
37
|
['chkIdTabelaRubrica'],
|
38
38
|
['IdTabelaRubrica', identificador_da_tabela_de_rubricas],
|
39
39
|
['IdTabelaRubricaText'],
|
@@ -30,8 +30,8 @@ module Teodoro
|
|
30
30
|
['CodigoConvenioTerceirosHidden'],
|
31
31
|
['IdEvento'],
|
32
32
|
['CodigoLotacao', codigo_da_lotacao_tributaria],
|
33
|
-
['InicioValidade',
|
34
|
-
['FimValidade',
|
33
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
34
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
35
35
|
['TipoLotacao', evento['infoLotacao/*/dadosLotacao/tpLotacao']],
|
36
36
|
['Tipo'],
|
37
37
|
['TipoInscricaoEstab', evento['infoLotacao/*/dadosLotacao/tpInsc']],
|
@@ -28,13 +28,13 @@ module Teodoro
|
|
28
28
|
['BloquearCodigo'],
|
29
29
|
['BloquearAntigoPeriodoValidade'],
|
30
30
|
['CodigoCargo', codigo_do_cargo],
|
31
|
-
['InicioValidade',
|
32
|
-
['FimValidade',
|
31
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
32
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
33
33
|
['DadosCargo_DescricaoCargo', evento['infoCargo/*/dadosCargo/nmCargo']],
|
34
34
|
['DadosCargo_CodigoCBO', evento['infoCargo/*/dadosCargo/codCBO']],
|
35
35
|
['DadosCargo_CodigoCBO_TEXT'],
|
36
36
|
['autocomplete_DadosCargo_CodigoCBO'],
|
37
|
-
['PreencherCargoPublico',
|
37
|
+
['PreencherCargoPublico', evento['infoCargo/*/dadosCargo/cargoPublico'], :bool],
|
38
38
|
['IdEventoXml', id_do_evento],
|
39
39
|
['NrReciboEventoOriginal', numero_do_recibo],
|
40
40
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
@@ -26,8 +26,8 @@ module Teodoro
|
|
26
26
|
['BloquearCodigo'],
|
27
27
|
['BloquearAntigoPeriodoValidade'],
|
28
28
|
['CodigoFuncao', codigo_da_funcao],
|
29
|
-
['InicioValidade',
|
30
|
-
['FimValidade',
|
29
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
30
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
31
31
|
['DadosFuncao_DescricaoFuncao', evento['infoFuncao/*/dadosFuncao/dscFuncao']],
|
32
32
|
['DadosFuncao_CodigoCBO', evento['infoFuncao/*/dadosFuncao/codCBO']],
|
33
33
|
['DadosFuncao_CodigoCBO_TEXT'],
|