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.
- 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 +14 -2
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +32 -14
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +36 -13
- data/lib/teodoro/arquivo_de_origem.rb +7 -7
- data/lib/teodoro/arquivo_xml.rb +29 -22
- data/lib/teodoro/console.rb +3 -1
- data/lib/teodoro/empresa.rb +15 -17
- data/lib/teodoro/leiaute/arquivo_s1000.rb +24 -30
- data/lib/teodoro/leiaute/arquivo_s1005.rb +14 -20
- data/lib/teodoro/leiaute/arquivo_s1010.rb +11 -15
- data/lib/teodoro/leiaute/arquivo_s1020.rb +8 -12
- data/lib/teodoro/leiaute/arquivo_s1030.rb +6 -10
- data/lib/teodoro/leiaute/arquivo_s1040.rb +5 -9
- data/lib/teodoro/leiaute/arquivo_s1050.rb +8 -14
- data/lib/teodoro/leiaute/arquivo_s1070.rb +12 -16
- data/lib/teodoro/leiaute/arquivo_s2190.rb +15 -14
- data/lib/teodoro/leiaute/arquivo_s2200.rb +152 -156
- data/lib/teodoro/leiaute/arquivo_s2205.rb +132 -166
- data/lib/teodoro/leiaute/arquivo_s2206.rb +72 -75
- data/lib/teodoro/leiaute/arquivo_s2230.rb +87 -90
- data/lib/teodoro/leiaute/arquivo_s2250.rb +36 -40
- data/lib/teodoro/leiaute/arquivo_s2299.rb +171 -169
- data/lib/teodoro/leiaute/arquivo_s2300.rb +127 -131
- data/lib/teodoro/leiaute/arquivo_s2306.rb +148 -147
- data/lib/teodoro/leiaute/arquivo_s2399.rb +123 -127
- data/lib/teodoro/leiaute/arquivo_s3000.rb +4 -8
- data/lib/teodoro/xml.rb +2 -2
- 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
data/lib/teodoro/empresa.rb
CHANGED
@@ -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
|
-
|
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
|
-
|
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
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
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
|
-
|
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['
|
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',
|
81
|
-
['ehOrgaoPublicoUniao',
|
82
|
-
['ehOrgaoPublicoEstadualMunicipalDistrital',
|
75
|
+
['ehOrgaoPublico', orgao_publico?, :bool],
|
76
|
+
['ehOrgaoPublicoUniao', orgao_publico?, :bool],
|
77
|
+
['ehOrgaoPublicoEstadualMunicipalDistrital', evento['infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool],
|
83
78
|
['ExibeModoCompleto'],
|
84
|
-
['InicioValidade',
|
85
|
-
['FimValidade',
|
79
|
+
['InicioValidade', inicio_da_validade, :mes_ano],
|
80
|
+
['FimValidade', fim_da_validade, :mes_ano],
|
86
81
|
['NomeRazaoSocial', nome_ou_razao_social],
|
87
|
-
['ClassificacaoTributaria', evento['
|
88
|
-
['NaturezaJuridica', evento['
|
89
|
-
['IndicativoRegEletronico', evento['
|
90
|
-
['IndicativoCooperativa', evento['
|
91
|
-
['IndicativoConstrutora', evento['
|
92
|
-
['IndicativoDesoneracaoFolha', evento['
|
93
|
-
['IndicativoEntidadeEducativa', evento['
|
94
|
-
['IndicativoEmpresaTrabalhoTemporario', evento['
|
95
|
-
['CpfContato', evento['
|
96
|
-
['NomeContato', evento['
|
97
|
-
['TelefoneFixo', evento['
|
98
|
-
['TelefoneCelular', evento['
|
99
|
-
['Email', evento['
|
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['
|
106
|
-
['IndicativoSituacaoPJ', evento['
|
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['
|
123
|
+
@nome_ou_razao_social ||= evento['infoEmpregador/*/infoCadastro/nmRazao']
|
130
124
|
end
|
131
125
|
|
132
126
|
def orgao_publico?
|
133
|
-
@orgao_publico ||= evento['
|
127
|
+
@orgao_publico ||= evento['infoEmpregador/*/infoCadastro/infoOP']
|
134
128
|
end
|
135
129
|
|
136
130
|
def softwares_house
|
137
|
-
evento.*('
|
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['
|
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['
|
33
|
+
['TipoInscricaoEstabelecimento', evento['infoEstab/*/ideEstab/tpInsc']],
|
39
34
|
['NumeroInscricaoEstabelecimento', numero_de_inscricao],
|
40
35
|
['NomeEstabelecimento'],
|
41
|
-
['InicioValidade',
|
42
|
-
['FimValidade',
|
43
|
-
['TipoCaepf', evento['
|
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['
|
40
|
+
['CnaePreponderante', evento['infoEstab/*/dadosEstab/cnaePrep']],
|
46
41
|
['CnaePreponderantePreenchido'],
|
47
|
-
['AliquotaRat', evento['
|
48
|
-
['Fap', evento['
|
49
|
-
['AliquotaRatAjustada', evento['
|
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['
|
55
|
-
['IndicativoContratacaoAprendiz', evento['
|
56
|
-
['ContratoAprendizEntidade', evento['
|
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['
|
59
|
-
['IndicativoSubstituicaoPatronalObra', evento['
|
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['
|
21
|
+
@identificador_da_tabela_de_rubricas ||= evento['infoRubrica/*/ideRubrica/ideTabRubr']
|
26
22
|
end
|
27
23
|
|
28
24
|
def codigo
|
29
|
-
@codigo ||= evento['
|
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',
|
40
|
-
['FimValidade',
|
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['
|
45
|
-
['DadosRubrica_Natureza', evento['
|
46
|
-
['DadosRubrica_TipoRubrica', evento['
|
47
|
-
['DadosRubrica_CodigoIncidenciaPrevidencia', evento['
|
48
|
-
['DadosRubrica_CodigoIncidenciaIR', evento['
|
49
|
-
['DadosRubrica_CodigoIncidenciaFGTS', evento['
|
50
|
-
['DadosRubrica_CodigoIncidenciaSindical', evento['
|
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['
|
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',
|
38
|
-
['FimValidade',
|
39
|
-
['TipoLotacao', evento['
|
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['
|
42
|
-
['NumeroInscricaoEstab', evento['
|
43
|
-
['Fpas', evento['
|
44
|
-
['CodigoConvenioTerceiros', evento['
|
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['
|
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',
|
36
|
-
['FimValidade',
|
37
|
-
['DadosCargo_DescricaoCargo', evento['
|
38
|
-
['DadosCargo_CodigoCBO', evento['
|
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',
|
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['
|
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',
|
34
|
-
['FimValidade',
|
35
|
-
['DadosFuncao_DescricaoFuncao', evento['
|
36
|
-
['DadosFuncao_CodigoCBO', evento['
|
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['
|
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',
|
37
|
-
['FimValidade',
|
38
|
-
['DadosHorario_HoraEntrada', evento['
|
39
|
-
['DadosHorario_HoraSaida', evento['
|
40
|
-
['DadosHorario_DuracaoJornada', evento['
|
41
|
-
['DadosHorario_PeriodoHorarioFlexivel', evento['
|
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.*('
|
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
|