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
@@ -5,25 +5,82 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
8
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
9
|
+
[
|
10
|
+
Obj.new(
|
11
|
+
nome: [
|
12
|
+
'TRA',
|
13
|
+
"[#{cpf_do_trabalhador}]",
|
14
|
+
"[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
15
|
+
"-ACO[#{data_da_alteracao.delete('-')}]"
|
16
|
+
].join,
|
17
|
+
itens_do_conteudo: [
|
18
|
+
# rubocop:disable Layout/LineLength
|
19
|
+
['ESX_CPF', cpf_do_trabalhador],
|
20
|
+
['ESX_MATRICULA', matricula_do_trabalhador],
|
21
|
+
%w[ESX_SEMVINCULO 0],
|
22
|
+
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
23
|
+
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
24
|
+
['cpfTrabalhador', cpf_do_trabalhador],
|
25
|
+
%w[nomeTrabalhador nomeTrabalhador],
|
26
|
+
['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
|
27
|
+
['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
|
28
|
+
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
29
|
+
['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
|
30
|
+
['AlteracaoContratual_DataEfeito', evento['altContratual/dtEf'], :data],
|
31
|
+
['AlteracaoContratual_DescricaoAlteracao', evento['altContratual/dscAlt']],
|
32
|
+
['IdentificacaoVinculo_Nis', evento['ideVinculo/nisTrab']],
|
33
|
+
['IndicadorRetificacao'],
|
34
|
+
['IdEventoXml', id_do_evento],
|
35
|
+
['NrReciboEventoOriginal', numero_do_recibo],
|
36
|
+
['UrlRetorno'],
|
37
|
+
['idContrato'],
|
38
|
+
['SomenteLeitura'],
|
39
|
+
['IdEvento'],
|
40
|
+
['RequestVerificationToken'],
|
41
|
+
['IdContratoAlterado'],
|
42
|
+
['regTrab'],
|
43
|
+
['InformacoesContrato_CodigoCategoria', categoria_do_trabalhador],
|
44
|
+
['VinculoAlteracao_TipoRegimePrevidenciario', evento['altContratual/vinculo/tpRegPrev']],
|
45
|
+
['dataAdmissao', data_de_admissao, :data],
|
46
|
+
['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
|
47
|
+
['InformacoesCeletista_NaturezaAtividade', evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
|
48
|
+
['FiltroCargo'],
|
49
|
+
['FiltroFuncao'],
|
50
|
+
['HorarioTela_Dia'],
|
51
|
+
['dataNomeacao'],
|
52
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
53
|
+
['VerProc', recibo['processamento/versaoAppProcessamento']],
|
54
|
+
['FiltroEstabelecimentoLocalTrabalho'],
|
55
|
+
['NomeEstabelecimentoLocalTrabalho'],
|
56
|
+
['CodigoCBO'],
|
57
|
+
['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/infoContrato/remuneracao/undSalFixo']],
|
58
|
+
['InformacoesContrato_TipoContrato', evento['altContratual/infoContrato/duracao/tpContr']],
|
59
|
+
['CodigoCNAE'],
|
60
|
+
*evento.*('altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
|
61
|
+
[
|
62
|
+
["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
|
63
|
+
["Horarios_#{seq}_Dia", horario['dia']]
|
64
|
+
]
|
65
|
+
end.sum([]),
|
66
|
+
*evento.*('altContratual/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
|
67
|
+
[
|
68
|
+
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
69
|
+
]
|
70
|
+
end.sum([]),
|
71
|
+
['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['altContratual/infoContrato/remuneracao/vrSalFx'], :decimal]
|
72
|
+
# rubocop:enable Layout/LineLength
|
73
|
+
]
|
74
|
+
)
|
75
|
+
]
|
19
76
|
end
|
20
77
|
|
21
78
|
def cpf_do_trabalhador
|
22
|
-
@cpf_do_trabalhador ||= evento['
|
79
|
+
@cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
|
23
80
|
end
|
24
81
|
|
25
82
|
def matricula_do_trabalhador
|
26
|
-
@matricula_do_trabalhador ||= evento['
|
83
|
+
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
27
84
|
end
|
28
85
|
|
29
86
|
def data_de_admissao
|
@@ -39,71 +96,11 @@ module Teodoro
|
|
39
96
|
end
|
40
97
|
|
41
98
|
def data_da_alteracao
|
42
|
-
evento['
|
43
|
-
end
|
44
|
-
|
45
|
-
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
46
|
-
[
|
47
|
-
# rubocop:disable Layout/LineLength
|
48
|
-
['ESX_CPF', cpf_do_trabalhador],
|
49
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
50
|
-
%w[ESX_SEMVINCULO 0],
|
51
|
-
['ESX_DATAADMISSAO', [data_de_admissao, :data]],
|
52
|
-
['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
|
53
|
-
['cpfTrabalhador', cpf_do_trabalhador],
|
54
|
-
%w[nomeTrabalhador nomeTrabalhador],
|
55
|
-
['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
|
56
|
-
['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
|
57
|
-
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
58
|
-
['AlteracaoContratual_DataAlteracao', [data_da_alteracao, :data]],
|
59
|
-
['AlteracaoContratual_DataEfeito', [evento['evtAltContratual/altContratual/dtEf'], :data]],
|
60
|
-
['AlteracaoContratual_DescricaoAlteracao', evento['evtAltContratual/altContratual/dscAlt']],
|
61
|
-
['IdentificacaoVinculo_Nis', evento['evtAltContratual/ideVinculo/nisTrab']],
|
62
|
-
['IndicadorRetificacao'],
|
63
|
-
['IdEventoXml', id_do_evento],
|
64
|
-
['NrReciboEventoOriginal', numero_do_recibo],
|
65
|
-
['UrlRetorno'],
|
66
|
-
['idContrato'],
|
67
|
-
['SomenteLeitura'],
|
68
|
-
['IdEvento'],
|
69
|
-
['RequestVerificationToken'],
|
70
|
-
['IdContratoAlterado'],
|
71
|
-
['regTrab'],
|
72
|
-
['InformacoesContrato_CodigoCategoria', categoria_do_trabalhador],
|
73
|
-
['VinculoAlteracao_TipoRegimePrevidenciario', evento['evtAltContratual/altContratual/vinculo/tpRegPrev']],
|
74
|
-
['dataAdmissao', [data_de_admissao, :data]],
|
75
|
-
['InformacoesCeletista_TipoRegimeJornada', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
|
76
|
-
['InformacoesCeletista_NaturezaAtividade', evento['evtAltContratual/altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
|
77
|
-
['FiltroCargo'],
|
78
|
-
['FiltroFuncao'],
|
79
|
-
['HorarioTela_Dia'],
|
80
|
-
['dataNomeacao'],
|
81
|
-
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
82
|
-
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
|
83
|
-
['FiltroEstabelecimentoLocalTrabalho'],
|
84
|
-
['NomeEstabelecimentoLocalTrabalho'],
|
85
|
-
['CodigoCBO'],
|
86
|
-
['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['evtAltContratual/altContratual/infoContrato/remuneracao/undSalFixo']],
|
87
|
-
['InformacoesContrato_TipoContrato', evento['evtAltContratual/altContratual/infoContrato/duracao/tpContr']],
|
88
|
-
['CodigoCNAE'],
|
89
|
-
*evento.*('evtAltContratual/altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
|
90
|
-
[
|
91
|
-
["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
|
92
|
-
["Horarios_#{seq}_Dia", horario['dia']]
|
93
|
-
]
|
94
|
-
end.sum([]),
|
95
|
-
*evento.*('evtAltContratual/altContratual/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
|
96
|
-
[
|
97
|
-
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
98
|
-
]
|
99
|
-
end.sum([]),
|
100
|
-
['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['evtAltContratual/altContratual/infoContrato/remuneracao/vrSalFx']]
|
101
|
-
# rubocop:enable Layout/LineLength
|
102
|
-
]
|
99
|
+
evento['altContratual/dtAlteracao']
|
103
100
|
end
|
104
101
|
|
105
102
|
def categoria_do_trabalhador
|
106
|
-
@categoria_do_trabalhador ||= evento['
|
103
|
+
@categoria_do_trabalhador ||= evento['altContratual/infoContrato/codCateg']
|
107
104
|
end
|
108
105
|
end
|
109
106
|
end
|
@@ -3,14 +3,14 @@ module Teodoro
|
|
3
3
|
class ArquivoS2230 # rubocop:disable Metrics/ClassLength
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
6
|
-
|
6
|
+
private
|
7
|
+
|
8
|
+
def criar_arquivos_data
|
7
9
|
super
|
8
10
|
|
9
11
|
registrar_inicio_do_afastamento if somente_inicio_do_afastamento?
|
10
12
|
end
|
11
13
|
|
12
|
-
private
|
13
|
-
|
14
14
|
def somente_inicio_do_afastamento?
|
15
15
|
inicio_do_afastamento? && !termino_do_afastamento?
|
16
16
|
end
|
@@ -20,7 +20,7 @@ module Teodoro
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def inicio_do_afastamento
|
23
|
-
@inicio_do_afastamento ||= evento['
|
23
|
+
@inicio_do_afastamento ||= evento['infoAfastamento/iniAfastamento']
|
24
24
|
end
|
25
25
|
|
26
26
|
def termino_do_afastamento?
|
@@ -28,7 +28,7 @@ module Teodoro
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def termino_do_afastamento
|
31
|
-
@termino_do_afastamento ||= evento['
|
31
|
+
@termino_do_afastamento ||= evento['infoAfastamento/fimAfastamento']
|
32
32
|
end
|
33
33
|
|
34
34
|
def registrar_inicio_do_afastamento
|
@@ -50,7 +50,7 @@ module Teodoro
|
|
50
50
|
def codigo_do_motivo_de_afastamento
|
51
51
|
@codigo_do_motivo_de_afastamento ||=
|
52
52
|
if inicio_do_afastamento?
|
53
|
-
evento['
|
53
|
+
evento['infoAfastamento/iniAfastamento/codMotAfast']
|
54
54
|
else
|
55
55
|
contrato_de_trabalho.afastamento.codigo_do_motivo
|
56
56
|
end
|
@@ -65,7 +65,7 @@ module Teodoro
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def matricula_do_trabalhador
|
68
|
-
@matricula_do_trabalhador ||= evento['
|
68
|
+
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
69
69
|
end
|
70
70
|
|
71
71
|
def contrato_de_emprego
|
@@ -88,25 +88,90 @@ module Teodoro
|
|
88
88
|
empresa.contratos_de_trabalho_sem_vinculo
|
89
89
|
end
|
90
90
|
|
91
|
-
def
|
92
|
-
'
|
91
|
+
def cpf_do_trabalhador
|
92
|
+
@cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
|
93
93
|
end
|
94
94
|
|
95
|
-
def
|
96
|
-
@
|
97
|
-
"TRA[#{cpf_do_trabalhador}]",
|
98
|
-
"[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
|
99
|
-
termino_do_afastamento? ? 'TAF' : 'IAF',
|
100
|
-
'[',
|
101
|
-
inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
|
102
|
-
'_',
|
103
|
-
termino_do_afastamento? ? data_de_termino_do_afastamento.delete('-') : 'SemFim',
|
104
|
-
']'
|
105
|
-
].join
|
95
|
+
def categoria_do_trabalhador
|
96
|
+
@categoria_do_trabalhador ||= evento['ideVinculo/codCateg']
|
106
97
|
end
|
107
98
|
|
108
|
-
def
|
109
|
-
@
|
99
|
+
def data_de_termino_do_afastamento
|
100
|
+
@data_de_termino_do_afastamento ||= termino_do_afastamento['dtTermAfast']
|
101
|
+
end
|
102
|
+
|
103
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
104
|
+
[
|
105
|
+
Obj.new(
|
106
|
+
nome: [
|
107
|
+
"TRA[#{cpf_do_trabalhador}]",
|
108
|
+
"[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
|
109
|
+
termino_do_afastamento? ? 'TAF' : 'IAF',
|
110
|
+
'[',
|
111
|
+
inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
|
112
|
+
'_',
|
113
|
+
termino_do_afastamento? ? data_de_termino_do_afastamento.delete('-') : 'SemFim',
|
114
|
+
']'
|
115
|
+
].join,
|
116
|
+
itens_do_conteudo: [
|
117
|
+
# rubocop:disable Layout/LineLength
|
118
|
+
['ESX_CPF', cpf_do_trabalhador],
|
119
|
+
['ESX_MATRICULA', matricula_do_trabalhador],
|
120
|
+
['ESX_DATAADMISSAO'],
|
121
|
+
%w[ESX_SEMVINCULO 0],
|
122
|
+
['ESX_INICIO', data_de_inicio_do_afastamento, :data_aaaammdd],
|
123
|
+
(['ESX_TERMINO', data_de_termino_do_afastamento, :data_aaaammdd] if termino_do_afastamento?),
|
124
|
+
['IniAfastamento_DataInicioAfastamento', (data_de_inicio_do_afastamento if inicio_do_afastamento?), :data],
|
125
|
+
(['FimAfastamento_DataTerminoAfastamento', data_de_termino_do_afastamento, :data] if termino_do_afastamento?),
|
126
|
+
['IniAfastamento_CodMotivoAfastamento', codigo_do_motivo_de_afastamento],
|
127
|
+
['IniAfastamento_CodMotivoAfastamento_TEXT'],
|
128
|
+
['IniAfastamento_InfoMesmoMotivo', evento['infoAfastamento/iniAfastamento/infoMesmoMtv']],
|
129
|
+
['IniAfastamento_TipoAcidenteTransito', evento['infoAfastamento/iniAfastamento/tpAcidTransito']],
|
130
|
+
['IniAfastamento_TipoAcidenteTransito_TEXT'],
|
131
|
+
['IniAfastamento_Observacao', evento['infoAfastamento/iniAfastamento/observacao']],
|
132
|
+
['IdEventoXml', id_do_evento],
|
133
|
+
['NrReciboEventoOriginal', numero_do_recibo],
|
134
|
+
['IndicadorRetificacao', evento['ideEvento/indRetif']],
|
135
|
+
['DataTerminoAfastamentoInformada', termino_do_afastamento?, :bool],
|
136
|
+
['ContratoSemVinculo'],
|
137
|
+
['CodMotivoAfastamentoRetif'],
|
138
|
+
['TipoEventoCadastro'],
|
139
|
+
['IdEventoAfastamento'],
|
140
|
+
(['DataFim'] if termino_do_afastamento?),
|
141
|
+
['DataInicio'],
|
142
|
+
['CodigoMotivo', codigo_do_motivo_de_afastamento],
|
143
|
+
['Motivo'],
|
144
|
+
['ExibirBotoes'],
|
145
|
+
['CheckPreencherAcidenteTransito'],
|
146
|
+
['DesejaIncluirInfoAtestado'],
|
147
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
148
|
+
['VerProc', recibo['processamento/versaoAppProcessamento']],
|
149
|
+
['IdContrato'],
|
150
|
+
['PreencherCID'],
|
151
|
+
['PreencherAcidenteTransito'],
|
152
|
+
['PreencherEmpregadoCedido'],
|
153
|
+
['PreencherMandatoSindical'],
|
154
|
+
['SomenteLeitura'],
|
155
|
+
['UrlRetorno'],
|
156
|
+
['RequestVerificationToken'],
|
157
|
+
(['PreencherDataFimAfastamento'] if termino_do_afastamento?),
|
158
|
+
['checkbox_preencher_grupo0'],
|
159
|
+
*evento.*('infoAfastamento/iniAfastamento/infoAtestado').map.with_index(1) do |atestado, seq|
|
160
|
+
[
|
161
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_CodigoCID", atestado['codCID']],
|
162
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_DescricaoCID"],
|
163
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_QuantidadeDiasAfastados", atestado['qtdDiasAfast']],
|
164
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_NomeEmitente", atestado['emitente/nmEmit']],
|
165
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_IdOrgaoClasse", atestado['emitente/ideOC']],
|
166
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_NumeroOrgaoClasse", atestado['emitente/nrOc']],
|
167
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_UFOrgaoClasse", atestado['emitente/ufOC']],
|
168
|
+
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_DescricaoOrgaoClasse"]
|
169
|
+
]
|
170
|
+
end.sum([])
|
171
|
+
# rubocop:enable Layout/LineLength
|
172
|
+
].compact
|
173
|
+
)
|
174
|
+
]
|
110
175
|
end
|
111
176
|
|
112
177
|
def nome_do_arquivo_data_identif_do_empregado
|
@@ -121,77 +186,9 @@ module Teodoro
|
|
121
186
|
"TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
|
122
187
|
end
|
123
188
|
|
124
|
-
def categoria_do_trabalhador
|
125
|
-
@categoria_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/codCateg']
|
126
|
-
end
|
127
|
-
|
128
189
|
def data_de_inicio_do_contrato_de_trabalho
|
129
190
|
contrato_de_trabalho_sem_vinculo.data_de_inicio
|
130
191
|
end
|
131
|
-
|
132
|
-
def data_de_termino_do_afastamento
|
133
|
-
@data_de_termino_do_afastamento ||= termino_do_afastamento['dtTermAfast']
|
134
|
-
end
|
135
|
-
|
136
|
-
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
137
|
-
[
|
138
|
-
# rubocop:disable Layout/LineLength
|
139
|
-
['ESX_CPF', cpf_do_trabalhador],
|
140
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
141
|
-
['ESX_DATAADMISSAO'],
|
142
|
-
%w[ESX_SEMVINCULO 0],
|
143
|
-
['ESX_INICIO', [data_de_inicio_do_afastamento, :data_aaaammdd]],
|
144
|
-
(['ESX_TERMINO', [data_de_termino_do_afastamento, :data_aaaammdd]] if termino_do_afastamento?),
|
145
|
-
['IniAfastamento_DataInicioAfastamento', ([data_de_inicio_do_afastamento, :data] if inicio_do_afastamento?)],
|
146
|
-
(['FimAfastamento_DataTerminoAfastamento', [data_de_termino_do_afastamento, :data]] if termino_do_afastamento?),
|
147
|
-
['IniAfastamento_CodMotivoAfastamento', codigo_do_motivo_de_afastamento],
|
148
|
-
['IniAfastamento_CodMotivoAfastamento_TEXT'],
|
149
|
-
['IniAfastamento_InfoMesmoMotivo', evento['evtAfastTemp/infoAfastamento/iniAfastamento/infoMesmoMtv']],
|
150
|
-
['IniAfastamento_TipoAcidenteTransito', evento['evtAfastTemp/infoAfastamento/iniAfastamento/tpAcidTransito']],
|
151
|
-
['IniAfastamento_TipoAcidenteTransito_TEXT'],
|
152
|
-
['IniAfastamento_Observacao', evento['evtAfastTemp/infoAfastamento/iniAfastamento/observacao']],
|
153
|
-
['IdEventoXml', id_do_evento],
|
154
|
-
['NrReciboEventoOriginal', numero_do_recibo],
|
155
|
-
['IndicadorRetificacao', evento['evtAfastTemp/ideEvento/indRetif']],
|
156
|
-
['DataTerminoAfastamentoInformada', [termino_do_afastamento?, :bool]],
|
157
|
-
['ContratoSemVinculo'],
|
158
|
-
['CodMotivoAfastamentoRetif'],
|
159
|
-
['TipoEventoCadastro'],
|
160
|
-
['IdEventoAfastamento'],
|
161
|
-
(['DataFim'] if termino_do_afastamento?),
|
162
|
-
['DataInicio'],
|
163
|
-
['CodigoMotivo', codigo_do_motivo_de_afastamento],
|
164
|
-
['Motivo'],
|
165
|
-
['ExibirBotoes'],
|
166
|
-
['CheckPreencherAcidenteTransito'],
|
167
|
-
['DesejaIncluirInfoAtestado'],
|
168
|
-
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
169
|
-
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
|
170
|
-
['IdContrato'],
|
171
|
-
['PreencherCID'],
|
172
|
-
['PreencherAcidenteTransito'],
|
173
|
-
['PreencherEmpregadoCedido'],
|
174
|
-
['PreencherMandatoSindical'],
|
175
|
-
['SomenteLeitura'],
|
176
|
-
['UrlRetorno'],
|
177
|
-
['RequestVerificationToken'],
|
178
|
-
(['PreencherDataFimAfastamento'] if termino_do_afastamento?),
|
179
|
-
['checkbox_preencher_grupo0'],
|
180
|
-
*evento.*('evtAfastTemp/infoAfastamento/iniAfastamento/infoAtestado').map.with_index(1) do |atestado, seq|
|
181
|
-
[
|
182
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_CodigoCID", atestado['codCID']],
|
183
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_DescricaoCID"],
|
184
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_QuantidadeDiasAfastados", atestado['qtdDiasAfast']],
|
185
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_NomeEmitente", atestado['emitente/nmEmit']],
|
186
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_IdOrgaoClasse", atestado['emitente/ideOC']],
|
187
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_NumeroOrgaoClasse", atestado['emitente/nrOc']],
|
188
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_UFOrgaoClasse", atestado['emitente/ufOC']],
|
189
|
-
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_DescricaoOrgaoClasse"]
|
190
|
-
]
|
191
|
-
end.sum([])
|
192
|
-
# rubocop:enable Layout/LineLength
|
193
|
-
].compact
|
194
|
-
end
|
195
192
|
end
|
196
193
|
end
|
197
194
|
end
|
@@ -5,21 +5,48 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
9
|
+
[
|
10
|
+
Obj.new(
|
11
|
+
nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-AVI",
|
12
|
+
itens_do_conteudo: [
|
13
|
+
# rubocop:disable Layout/LineLength
|
14
|
+
['ESX_CPF', cpf_do_trabalhador],
|
15
|
+
['ESX_MATRICULA', matricula_do_trabalhador],
|
16
|
+
%w[ESX_SEMVINCULO 0],
|
17
|
+
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
18
|
+
['OperacaoAvisoPrevio'],
|
19
|
+
['MostrarCancelamento'],
|
20
|
+
['MostrarAvisoPrevio'],
|
21
|
+
['IdContrato'],
|
22
|
+
['IdCancelamentoAvisoPrevio'],
|
23
|
+
['BloquearCodigo'],
|
24
|
+
['BloquearAntigoPeriodoValidade'],
|
25
|
+
['IdeVinculo_Cpf'],
|
26
|
+
['NomeTrabalhador'],
|
27
|
+
['IdeVinculo_Matricula', matricula_do_trabalhador],
|
28
|
+
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_TipoAvisoPrevio', evento['infoAvPrevio/detAvPrevio/tpAvPrevio']],
|
29
|
+
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_TipoAvisoPrevio_TEXT'],
|
30
|
+
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_DataAvisoPrevio', evento['infoAvPrevio/detAvPrevio/dtAvPrv'], :data],
|
31
|
+
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_DataPrevistaDesligamento', evento['infoAvPrevio/detAvPrevio/dtPrevDeslig'], :data],
|
32
|
+
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_Observacao', evento['infoAvPrevio/detAvPrevio/observacao']],
|
33
|
+
['IdEventoXml', id_do_evento],
|
34
|
+
['NrReciboEventoOriginal', numero_do_recibo],
|
35
|
+
['RequestVerificationToken'],
|
36
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
37
|
+
['VerProc', recibo['processamento/versaoAppProcessamento']]
|
38
|
+
# rubocop:enable Layout/LineLength
|
39
|
+
]
|
40
|
+
)
|
41
|
+
]
|
15
42
|
end
|
16
43
|
|
17
44
|
def cpf_do_trabalhador
|
18
|
-
@cpf_do_trabalhador ||= evento['
|
45
|
+
@cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
|
19
46
|
end
|
20
47
|
|
21
48
|
def matricula_do_trabalhador
|
22
|
-
@matricula_do_trabalhador ||= evento['
|
49
|
+
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
23
50
|
end
|
24
51
|
|
25
52
|
def data_de_admissao
|
@@ -33,37 +60,6 @@ module Teodoro
|
|
33
60
|
def contratos_de_emprego
|
34
61
|
empresa.contratos_de_emprego
|
35
62
|
end
|
36
|
-
|
37
|
-
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
|
38
|
-
[
|
39
|
-
# rubocop:disable Layout/LineLength
|
40
|
-
['ESX_CPF', cpf_do_trabalhador],
|
41
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
42
|
-
%w[ESX_SEMVINCULO 0],
|
43
|
-
['ESX_DATAADMISSAO', [data_de_admissao, :data]],
|
44
|
-
['OperacaoAvisoPrevio'],
|
45
|
-
['MostrarCancelamento'],
|
46
|
-
['MostrarAvisoPrevio'],
|
47
|
-
['IdContrato'],
|
48
|
-
['IdCancelamentoAvisoPrevio'],
|
49
|
-
['BloquearCodigo'],
|
50
|
-
['BloquearAntigoPeriodoValidade'],
|
51
|
-
['IdeVinculo_Cpf'],
|
52
|
-
['NomeTrabalhador'],
|
53
|
-
['IdeVinculo_Matricula', matricula_do_trabalhador],
|
54
|
-
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_TipoAvisoPrevio', evento['evtAvPrevio/infoAvPrevio/detAvPrevio/tpAvPrevio']],
|
55
|
-
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_TipoAvisoPrevio_TEXT'],
|
56
|
-
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_DataAvisoPrevio', [evento['evtAvPrevio/infoAvPrevio/detAvPrevio/dtAvPrv'], :data]],
|
57
|
-
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_DataPrevistaDesligamento', [evento['evtAvPrevio/infoAvPrevio/detAvPrevio/dtPrevDeslig'], :data]],
|
58
|
-
['InfoAvisoPrevio_DetalhamentoAvisoPrevio_Observacao', evento['evtAvPrevio/infoAvPrevio/detAvPrevio/observacao']],
|
59
|
-
['IdEventoXml', id_do_evento],
|
60
|
-
['NrReciboEventoOriginal', numero_do_recibo],
|
61
|
-
['RequestVerificationToken'],
|
62
|
-
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
63
|
-
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']]
|
64
|
-
# rubocop:enable Layout/LineLength
|
65
|
-
]
|
66
|
-
end
|
67
63
|
end
|
68
64
|
end
|
69
65
|
end
|