teodoro 0.9.0 → 0.10.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.
@@ -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