teodoro 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,26 +1,13 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2205
4
- include ArquivoDeEventoProcessadorDeArquivoData
5
- include ArquivoDeEventoRetificavel
6
-
7
- def processar
8
- if retificado?
9
- processar_retificacao
10
- else
11
- processar_contratos_de_trabalho
12
- end
13
- end
3
+ class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
+ include ArquivoDeEventoNaoPeriodico
14
5
 
15
6
  private
16
7
 
17
- def processar_contratos_de_trabalho
18
- contratos_de_trabalho.each(&:processar)
19
- end
20
-
21
8
  def contratos_de_trabalho
22
9
  (contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
23
- .map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
10
+ .map { |classe, contrato| classe.new(contrato) }
24
11
  end
25
12
 
26
13
  def contratos_de_emprego
@@ -43,145 +30,132 @@ module Teodoro
43
30
  @data_da_alteracao ||= evento['alteracao/dtAlteracao']
44
31
  end
45
32
 
46
- module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
47
- include ArquivoDeEventoNaoPeriodico
33
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
34
+ contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
35
+ Obj.new(
36
+ nome: [
37
+ "TRA[#{cpf_do_trabalhador}]",
38
+ contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
39
+ "-ACA[#{data_da_alteracao.delete('-')}]"
40
+ ].join,
41
+ itens_do_conteudo: [
42
+ # rubocop:disable Layout/LineLength
43
+ ['ESX_CPF', cpf_do_trabalhador],
44
+ ['ESX_MATRICULA', contrato_de_trabalho.matricula_do_contrato],
45
+ ['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
46
+ %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
47
+ ['ESX_DATAADMISSAO', [contrato_de_trabalho.data_de_inicio, :data]],
48
+ ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
49
+ ['DataAlteracao', [data_da_alteracao, :data]],
50
+ ['IdEventoXml', id_do_evento],
51
+ ['NrReciboEventoOriginal', numero_do_recibo],
52
+ ['RequestVerificationToken'],
53
+ ['SomenteLeitura'],
54
+ ['VisualizarDadosCadastrais'],
55
+ ['UrlRetorno'],
56
+ ['visualizar'],
57
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
58
+ ['VerProc', recibo['processamento/versaoAppProcessamento']],
59
+ ['EventoAdmissao_TipoEventoEnviado'],
60
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
61
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['alteracao/dadosTrabalhador/nmTrab']],
62
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['alteracao/dadosTrabalhador/nisTrab']],
63
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['alteracao/dadosTrabalhador/sexo']],
64
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
65
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['alteracao/dadosTrabalhador/racaCor']],
66
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
67
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['alteracao/dadosTrabalhador/estCiv']],
68
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
69
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
70
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
71
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
72
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
73
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
74
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data]],
75
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
76
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
77
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
78
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
79
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['alteracao/dadosTrabalhador/nascimento/paisNac']],
80
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
81
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
82
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
83
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
84
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
85
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
86
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
87
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
88
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
89
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
90
+ ['SemNumeroLogradouroEnderecoBR'],
91
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
92
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
93
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
94
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
95
+ ['ResideExterior'],
96
+ ['SemNumeroLogradouroEnderecoEX'],
97
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
98
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data]],
99
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
100
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
101
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
102
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data]],
103
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data]],
104
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data]],
105
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
106
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
107
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
108
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
109
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
110
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
111
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
112
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data]],
113
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
114
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
115
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data]],
116
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
117
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
118
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
119
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
120
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
121
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
122
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
123
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
124
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
125
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['alteracao/dadosTrabalhador/contato/fonePrinc']],
126
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['alteracao/dadosTrabalhador/contato/emailPrinc']],
127
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['alteracao/dadosTrabalhador/contato/foneAlternat']],
128
+ *evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
129
+ [
130
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
131
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
132
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
133
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
134
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
135
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
136
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
137
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
138
+ ]
139
+ end.sum([])
140
+ # rubocop:enable Layout/LineLength
141
+ ]
142
+ )
143
+ end
144
+ end
48
145
 
146
+ module ContratoDeTrabalho
49
147
  private
50
148
 
51
- def initialize(contrato:, **args)
52
- super(**args)
53
-
149
+ def initialize(contrato)
54
150
  @contrato = contrato
55
151
  end
56
152
 
57
153
  attr_reader :contrato
58
-
59
- def nome_do_arquivo_data
60
- @nome_do_arquivo_data ||= [
61
- "TRA[#{cpf_do_trabalhador}]",
62
- nome_do_arquivo_data_identificacao_do_contrato,
63
- "-ACA[#{data_da_alteracao.delete('-')}]"
64
- ].join
65
- end
66
-
67
- def cpf_do_trabalhador
68
- @cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
69
- end
70
-
71
- def data_da_alteracao
72
- @data_da_alteracao ||= evento['alteracao/dtAlteracao']
73
- end
74
-
75
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
76
- [
77
- # rubocop:disable Layout/LineLength
78
- ['ESX_CPF', cpf_do_trabalhador],
79
- ['ESX_MATRICULA', matricula_do_contrato],
80
- ['ESX_CATEGORIA', categoria_do_trabalhador],
81
- %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
82
- ['ESX_DATAADMISSAO', [data_de_inicio_do_contrato_de_trabalho, :data]],
83
- ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
84
- ['DataAlteracao', [data_da_alteracao, :data]],
85
- ['IdEventoXml', id_do_evento],
86
- ['NrReciboEventoOriginal', numero_do_recibo],
87
- ['RequestVerificationToken'],
88
- ['SomenteLeitura'],
89
- ['VisualizarDadosCadastrais'],
90
- ['UrlRetorno'],
91
- ['visualizar'],
92
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
93
- ['VerProc', recibo['processamento/versaoAppProcessamento']],
94
- ['EventoAdmissao_TipoEventoEnviado'],
95
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
96
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['alteracao/dadosTrabalhador/nmTrab']],
97
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['alteracao/dadosTrabalhador/nisTrab']],
98
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['alteracao/dadosTrabalhador/sexo']],
99
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
100
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['alteracao/dadosTrabalhador/racaCor']],
101
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['alteracao/dadosTrabalhador/estCiv']],
103
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
104
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['alteracao/dadosTrabalhador/grauInstr']],
105
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
106
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['alteracao/dadosTrabalhador/nmSoc']],
107
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
108
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
109
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['alteracao/dadosTrabalhador/nascimento/dtNascto'], :data]],
110
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
111
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
112
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['alteracao/dadosTrabalhador/nascimento/paisNascto']],
113
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
114
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['alteracao/dadosTrabalhador/nascimento/paisNac']],
115
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
116
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
117
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
118
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['alteracao/dadosTrabalhador/endereco/brasil/bairro']],
119
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['alteracao/dadosTrabalhador/endereco/brasil/cep']],
120
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
121
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
122
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['alteracao/dadosTrabalhador/endereco/brasil/complemento']],
123
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
124
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
125
- ['SemNumeroLogradouroEnderecoBR'],
126
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
127
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
128
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['alteracao/dadosTrabalhador/endereco/brasil/uf']],
129
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
130
- ['ResideExterior'],
131
- ['SemNumeroLogradouroEnderecoEX'],
132
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
133
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'], :data]],
134
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
135
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
136
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
137
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'], :data]],
138
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'], :data]],
139
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'], :data]],
140
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
141
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
142
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
143
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
144
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
145
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
146
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
147
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RG/dtExped'], :data]],
148
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['alteracao/dadosTrabalhador/documentos/RG/nrRg']],
149
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
150
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped'], :data]],
151
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
152
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
153
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
154
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
155
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
156
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
157
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
158
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
159
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
160
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['alteracao/dadosTrabalhador/contato/fonePrinc']],
161
- ['EventoAdmissao_Contato_EmailPrincipal', evento['alteracao/dadosTrabalhador/contato/emailPrinc']],
162
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['alteracao/dadosTrabalhador/contato/foneAlternat']],
163
- *evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
164
- [
165
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
166
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
167
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
168
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
169
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
170
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
171
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
172
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
173
- ]
174
- end.sum([])
175
- # rubocop:enable Layout/LineLength
176
- ]
177
- end
178
154
  end
179
155
 
180
156
  class ContratoDeEmprego
181
157
  include ContratoDeTrabalho
182
158
 
183
- private
184
-
185
159
  def nome_do_arquivo_data_identificacao_do_contrato
186
160
  "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
187
161
  end
@@ -190,43 +164,39 @@ module Teodoro
190
164
  contrato.matricula
191
165
  end
192
166
 
193
- def data_de_admissao
194
- contrato.data_de_admissao
195
- end
196
-
197
167
  def categoria_do_trabalhador
198
168
  contrato.categoria_do_trabalhador
199
169
  end
200
170
 
201
- def data_de_inicio_do_contrato_de_trabalho
171
+ def data_de_inicio
202
172
  data_de_admissao
203
173
  end
174
+
175
+ private
176
+
177
+ def data_de_admissao
178
+ contrato.data_de_admissao
179
+ end
204
180
  end
205
181
 
206
182
  class ContratoDeTrabalhoSemVinculo
207
183
  include ContratoDeTrabalho
208
184
 
209
- private
210
-
211
185
  def nome_do_arquivo_data_identificacao_do_contrato
212
- "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
186
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]"
187
+ end
188
+
189
+ def matricula_do_contrato
190
+ nil
213
191
  end
214
192
 
215
193
  def categoria_do_trabalhador
216
194
  contrato.categoria_do_trabalhador
217
195
  end
218
196
 
219
- def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
197
+ def data_de_inicio
220
198
  contrato.data_de_inicio
221
199
  end
222
-
223
- def matricula_do_contrato
224
- nil
225
- end
226
-
227
- def data_de_inicio_do_contrato_de_trabalho
228
- data_de_inicio_do_contrato_de_trabalho_sem_vinculo
229
- end
230
200
  end
231
201
  end
232
202
  end
@@ -5,13 +5,74 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def nome_do_arquivo_data
9
- @nome_do_arquivo_data ||= [
10
- 'TRA',
11
- "[#{cpf_do_trabalhador}]",
12
- "[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
13
- "-ACO[#{data_da_alteracao.delete('-')}]"
14
- ].join
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']]
72
+ # rubocop:enable Layout/LineLength
73
+ ]
74
+ )
75
+ ]
15
76
  end
16
77
 
17
78
  def cpf_do_trabalhador
@@ -38,66 +99,6 @@ module Teodoro
38
99
  evento['altContratual/dtAlteracao']
39
100
  end
40
101
 
41
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
42
- [
43
- # rubocop:disable Layout/LineLength
44
- ['ESX_CPF', cpf_do_trabalhador],
45
- ['ESX_MATRICULA', matricula_do_trabalhador],
46
- %w[ESX_SEMVINCULO 0],
47
- ['ESX_DATAADMISSAO', [data_de_admissao, :data]],
48
- ['ESX_DATAALTERACAO', [data_da_alteracao, :data]],
49
- ['cpfTrabalhador', cpf_do_trabalhador],
50
- %w[nomeTrabalhador nomeTrabalhador],
51
- ['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
52
- ['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
53
- ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
54
- ['AlteracaoContratual_DataAlteracao', [data_da_alteracao, :data]],
55
- ['AlteracaoContratual_DataEfeito', [evento['altContratual/dtEf'], :data]],
56
- ['AlteracaoContratual_DescricaoAlteracao', evento['altContratual/dscAlt']],
57
- ['IdentificacaoVinculo_Nis', evento['ideVinculo/nisTrab']],
58
- ['IndicadorRetificacao'],
59
- ['IdEventoXml', id_do_evento],
60
- ['NrReciboEventoOriginal', numero_do_recibo],
61
- ['UrlRetorno'],
62
- ['idContrato'],
63
- ['SomenteLeitura'],
64
- ['IdEvento'],
65
- ['RequestVerificationToken'],
66
- ['IdContratoAlterado'],
67
- ['regTrab'],
68
- ['InformacoesContrato_CodigoCategoria', categoria_do_trabalhador],
69
- ['VinculoAlteracao_TipoRegimePrevidenciario', evento['altContratual/vinculo/tpRegPrev']],
70
- ['dataAdmissao', [data_de_admissao, :data]],
71
- ['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
72
- ['InformacoesCeletista_NaturezaAtividade', evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
73
- ['FiltroCargo'],
74
- ['FiltroFuncao'],
75
- ['HorarioTela_Dia'],
76
- ['dataNomeacao'],
77
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
78
- ['VerProc', recibo['processamento/versaoAppProcessamento']],
79
- ['FiltroEstabelecimentoLocalTrabalho'],
80
- ['NomeEstabelecimentoLocalTrabalho'],
81
- ['CodigoCBO'],
82
- ['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/infoContrato/remuneracao/undSalFixo']],
83
- ['InformacoesContrato_TipoContrato', evento['altContratual/infoContrato/duracao/tpContr']],
84
- ['CodigoCNAE'],
85
- *evento.*('altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
86
- [
87
- ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
88
- ["Horarios_#{seq}_Dia", horario['dia']]
89
- ]
90
- end.sum([]),
91
- *evento.*('altContratual/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
92
- [
93
- ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
94
- ]
95
- end.sum([]),
96
- ['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['altContratual/infoContrato/remuneracao/vrSalFx']]
97
- # rubocop:enable Layout/LineLength
98
- ]
99
- end
100
-
101
102
  def categoria_do_trabalhador
102
103
  @categoria_do_trabalhador ||= evento['altContratual/infoContrato/codCateg']
103
104
  end