teodoro 0.0.13 → 0.3.1

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.
@@ -25,9 +25,9 @@ module Teodoro
25
25
  'ideEstab'
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -75,9 +75,9 @@ module Teodoro
75
75
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
76
76
  ['idEdicaoSH'],
77
77
  ['ExibirContribuicaoPatronal']
78
+ # rubocop:enable Layout/LineLength
78
79
  ]
79
80
  end
80
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
81
81
  end
82
82
  end
83
83
  end
@@ -29,8 +29,7 @@ module Teodoro
29
29
  @codigo ||= evento['evtTabRubrica/infoRubrica/*/ideRubrica/codRubr']
30
30
  end
31
31
 
32
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
33
- def itens_do_conteudo_do_arquivo_data
32
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
34
33
  [
35
34
  ['RequestVerificationToken'],
36
35
  ['SomenteVisualizacao'],
@@ -59,7 +58,6 @@ module Teodoro
59
58
  ['hd_ProcessoSindicato']
60
59
  ]
61
60
  end
62
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
63
61
  end
64
62
  end
65
63
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_da_lotacao_tributaria ||= evento['evtTabLotacao/infoLotacao/*/ideLotacao/codLotacao']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -60,9 +60,9 @@ module Teodoro
60
60
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
61
61
  ['idEdicaoProcesso'],
62
62
  ['ExibirContribuicaoPatronal']
63
+ # rubocop:enable Layout/LineLength
63
64
  ]
64
65
  end
65
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
66
66
  end
67
67
  end
68
68
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_do_cargo ||= evento['evtTabCargo/infoCargo/*/ideCargo/codCargo']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -51,9 +51,9 @@ module Teodoro
51
51
  ['NrReciboEventoOriginal'],
52
52
  ['DescricaoProcEmi'],
53
53
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
54
+ # rubocop:enable Layout/LineLength
54
55
  ]
55
56
  end
56
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
57
57
  end
58
58
  end
59
59
  end
@@ -23,8 +23,7 @@ module Teodoro
23
23
  @codigo_da_funcao ||= evento['evtTabFuncao/infoFuncao/*/ideFuncao/codFuncao']
24
24
  end
25
25
 
26
- # rubocop:disable Metrics/MethodLength
27
- def itens_do_conteudo_do_arquivo_data
26
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength
28
27
  [
29
28
  ['RequestVerificationToken'],
30
29
  ['SomenteVisualizacao'],
@@ -43,7 +42,6 @@ module Teodoro
43
42
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
44
43
  ]
45
44
  end
46
- # rubocop:enable Metrics/MethodLength
47
45
  end
48
46
  end
49
47
  end
@@ -25,9 +25,9 @@ module Teodoro
25
25
  @codigo_do_horario ||= evento['evtTabHorTur/infoHorContratual/*/ideHorContratual/codHorContrat']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
30
+ # rubocop:disable Layout/LineLength
31
31
  ['RequestVerificationToken'],
32
32
  ['SomenteVisualizacao'],
33
33
  ['BloquearCodigo'],
@@ -60,9 +60,9 @@ module Teodoro
60
60
  ["DadosHorario_ListaHorarioIntervalo_#{seq}_DuracaoIntervalo", intervalo['durInterv']]
61
61
  ]
62
62
  end.sum([])
63
+ # rubocop:enable Layout/LineLength
63
64
  ]
64
65
  end
65
- # rubocop:enable Metrics/MethodLength, Layout/LineLength, Metrics/AbcSize
66
66
  end
67
67
  end
68
68
  end
@@ -25,8 +25,7 @@ module Teodoro
25
25
  @numero_do_processo ||= evento['evtTabProcesso/infoProcesso/*/ideProcesso/nrProc']
26
26
  end
27
27
 
28
- # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
29
- def itens_do_conteudo_do_arquivo_data
28
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
30
29
  [
31
30
  ['RequestVerificationToken'],
32
31
  ['SomenteVisualizacao'],
@@ -69,7 +68,6 @@ module Teodoro
69
68
  end.sum([])
70
69
  ]
71
70
  end
72
- # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
73
71
  end
74
72
  end
75
73
  end
@@ -4,6 +4,8 @@ module Teodoro
4
4
  include ArquivoDeEventoNaoPeriodico
5
5
 
6
6
  def processar
7
+ remover_registro_do_contrato_de_emprego if retificacao?
8
+
7
9
  super
8
10
 
9
11
  registrar_admissao
@@ -11,15 +13,22 @@ module Teodoro
11
13
 
12
14
  private
13
15
 
14
- def registrar_admissao
15
- admissoes_por_matricula[matricula_do_trabalhador] = Obj.new(
16
- data: data_de_admissao,
17
- categoria_do_trabalhador: categoria_do_trabalhador
18
- )
16
+ def remover_registro_do_contrato_de_emprego
17
+ contratos_de_emprego.remover(numero_do_recibo_a_retificar)
19
18
  end
20
19
 
21
- def admissoes_por_matricula
22
- empresa.admissoes_por_matricula
20
+ def contratos_de_emprego
21
+ empresa.contratos_de_emprego
22
+ end
23
+
24
+ def registrar_admissao
25
+ contratos_de_emprego.registrar_admissao(
26
+ matricula: matricula_do_trabalhador,
27
+ data_de_admissao: data_de_admissao,
28
+ categoria_do_trabalhador: categoria_do_trabalhador,
29
+ cpf_do_trabalhador: cpf_do_trabalhador,
30
+ recibo: numero_do_recibo
31
+ )
23
32
  end
24
33
 
25
34
  def data_de_admissao
@@ -1,7 +1,13 @@
1
1
  module Teodoro
2
2
  module Leiaute
3
- class ArquivoS2205 # rubocop:disable Metrics/ClassLength
4
- include ArquivoDeEventoNaoPeriodico
3
+ class ArquivoS2205
4
+ include ArquivoDeEventoProcessadorDeArquivoData
5
+ include ArquivoDeEventoRetificavel
6
+
7
+ def processar
8
+ deletar_arquivos_data_originais if retificacao?
9
+ processar_contratos_de_trabalho
10
+ end
5
11
 
6
12
  private
7
13
 
@@ -9,10 +15,25 @@ module Teodoro
9
15
  'evtAltCadastral'
10
16
  end
11
17
 
12
- def nome_do_arquivo_data
13
- # FIXME: Tales matricula dataDeAdmissao
14
- @nome_do_arquivo_data ||=
15
- "TRA[#{cpf_do_trabalhador}][EPG_matricula_dataDeAdmissao]-ACA[#{data_da_alteracao.delete('-')}]"
18
+ def processar_contratos_de_trabalho
19
+ contratos_de_trabalho.each(&:processar)
20
+ end
21
+
22
+ def contratos_de_trabalho
23
+ (contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
24
+ .map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
25
+ end
26
+
27
+ def contratos_de_emprego
28
+ empresa.contratos_de_emprego
29
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
30
+ .map { [ContratoDeEmprego, _1] }
31
+ end
32
+
33
+ def contratos_de_trabalho_sem_vinculo
34
+ empresa.contratos_de_trabalho_sem_vinculo
35
+ .*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
36
+ .map { [ContratoDeTrabalhoSemVinculo, _1] }
16
37
  end
17
38
 
18
39
  def cpf_do_trabalhador
@@ -23,135 +44,221 @@ module Teodoro
23
44
  @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
24
45
  end
25
46
 
26
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
27
- def itens_do_conteudo_do_arquivo_data
28
- [
29
- ['ESX_CPF', cpf_do_trabalhador],
30
- ['ESX_MATRICULA'], # FIXME: Tales
31
- ['ESX_CATEGORIA'], # FIXME: Tales
32
- %w[ESX_SEMVINCULO 0],
33
- ['ESX_DATAADMISSAO'], # FIXME: Tales
34
- ['ESX_DATAALTERACAO', data_da_alteracao],
35
- ['DataAlteracao', data_da_alteracao],
36
- ['IdEventoXml'],
37
- ['NrReciboEventoOriginal'],
38
- ['RequestVerificationToken'],
39
- ['SomenteLeitura'],
40
- ['VisualizarDadosCadastrais'],
41
- ['UrlRetorno'],
42
- ['visualizar'],
43
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
44
- ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
45
- ['IdEdicaoDependente'],
46
- ['commandArgument'],
47
- ['EventoAdmissao_TipoEventoEnviado'],
48
- ['HiddenCurrentUrl'],
49
- ['ehCodigoAcesso'],
50
- ['ExibirTrocarPerfil'],
51
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
52
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
53
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
54
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
55
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
56
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
57
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
58
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
59
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
60
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
61
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
62
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
63
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
64
- ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
65
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
66
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
67
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
68
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
69
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
70
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
71
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
72
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
73
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
74
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
75
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
76
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
77
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
78
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
79
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
80
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
81
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
82
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
83
- ['SemNumeroLogradouroEnderecoBR'],
84
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
85
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
86
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
87
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
88
- ['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
89
- ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
90
- ['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
91
- ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
92
- ['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
93
- ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
94
- ['ResideExterior'],
95
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
96
- ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
97
- ['SemNumeroLogradouroEnderecoEX'],
98
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
99
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
100
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
101
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
102
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
103
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
104
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
105
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
106
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
107
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
108
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
109
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
110
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
111
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
112
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
113
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
114
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
115
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
116
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
117
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
118
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
119
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
120
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
121
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
122
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
123
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
124
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
125
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
126
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
128
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
129
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
130
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
131
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
132
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
133
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
134
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
135
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
136
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
137
- ['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
138
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
139
- ['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
140
- *evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
141
- [
142
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
143
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
144
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
145
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
146
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
147
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
148
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
149
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
150
- ]
151
- end.sum([])
152
- ]
47
+ module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
48
+ include ArquivoDeEventoNaoPeriodico
49
+
50
+ private
51
+
52
+ def initialize(contrato:, **args)
53
+ super(**args)
54
+
55
+ @contrato = contrato
56
+ end
57
+
58
+ attr_reader :contrato
59
+
60
+ def noh_principal_do_evento
61
+ 'evtAltCadastral'
62
+ end
63
+
64
+ def nome_do_arquivo_data
65
+ @nome_do_arquivo_data ||= [
66
+ "TRA[#{cpf_do_trabalhador}]",
67
+ nome_do_arquivo_data_identificacao_do_contrato,
68
+ "-ACA[#{data_da_alteracao.delete('-')}]"
69
+ ].join
70
+ end
71
+
72
+ def cpf_do_trabalhador
73
+ @cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
74
+ end
75
+
76
+ def data_da_alteracao
77
+ @data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
78
+ end
79
+
80
+ def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
81
+ [
82
+ # rubocop:disable Layout/LineLength
83
+ ['ESX_CPF', cpf_do_trabalhador],
84
+ ['ESX_MATRICULA', matricula_do_contrato],
85
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
86
+ %w[ESX_SEMVINCULO 0], # FIXME: Tales TC
87
+ ['ESX_DATAADMISSAO', data_de_inicio_do_contrato_de_trabalho],
88
+ ['ESX_DATAALTERACAO', data_da_alteracao],
89
+ ['DataAlteracao', data_da_alteracao],
90
+ ['IdEventoXml'],
91
+ ['NrReciboEventoOriginal'],
92
+ ['RequestVerificationToken'],
93
+ ['SomenteLeitura'],
94
+ ['VisualizarDadosCadastrais'],
95
+ ['UrlRetorno'],
96
+ ['visualizar'],
97
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
98
+ ['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
99
+ ['IdEdicaoDependente'],
100
+ ['commandArgument'],
101
+ ['EventoAdmissao_TipoEventoEnviado'],
102
+ ['HiddenCurrentUrl'],
103
+ ['ehCodigoAcesso'],
104
+ ['ExibirTrocarPerfil'],
105
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
106
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
107
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
108
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
109
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
110
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
111
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
112
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
113
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
114
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
115
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
116
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
117
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
118
+ ['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
119
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
120
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
121
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
122
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
123
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
124
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
125
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
126
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
127
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
128
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
129
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
130
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
131
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
132
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
133
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
134
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
135
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
136
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
137
+ ['SemNumeroLogradouroEnderecoBR'],
138
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
139
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
140
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
141
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
142
+ ['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
143
+ ['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
144
+ ['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
145
+ ['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
146
+ ['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
147
+ ['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
148
+ ['ResideExterior'],
149
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
150
+ ['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
151
+ ['SemNumeroLogradouroEnderecoEX'],
152
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
153
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
154
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
155
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
156
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
157
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
158
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
159
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
160
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
161
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
162
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
163
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
164
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
165
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
166
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
167
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
168
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
169
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
170
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
171
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
172
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
173
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
174
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
175
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
176
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
177
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
178
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
179
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
180
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
181
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
182
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
183
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
184
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
185
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
186
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
187
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
188
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
189
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
190
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
191
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
192
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
193
+ ['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
194
+ *evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
195
+ [
196
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
197
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
198
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
199
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
200
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
201
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
202
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
203
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
204
+ ]
205
+ end.sum([])
206
+ # rubocop:enable Layout/LineLength
207
+ ]
208
+ end
209
+ end
210
+
211
+ class ContratoDeEmprego
212
+ include ContratoDeTrabalho
213
+
214
+ private
215
+
216
+ def nome_do_arquivo_data_identificacao_do_contrato
217
+ "[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
218
+ end
219
+
220
+ def matricula_do_contrato
221
+ contrato.matricula
222
+ end
223
+
224
+ def data_de_admissao
225
+ contrato.data_de_admissao
226
+ end
227
+
228
+ def categoria_do_trabalhador
229
+ contrato.categoria_do_trabalhador
230
+ end
231
+
232
+ def data_de_inicio_do_contrato_de_trabalho
233
+ data_de_admissao
234
+ end
235
+ end
236
+
237
+ class ContratoDeTrabalhoSemVinculo
238
+ include ContratoDeTrabalho
239
+
240
+ private
241
+
242
+ def nome_do_arquivo_data_identificacao_do_contrato
243
+ "[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
244
+ end
245
+
246
+ def categoria_do_trabalhador
247
+ contrato.categoria_do_trabalhador
248
+ end
249
+
250
+ def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
251
+ contrato.data_de_inicio
252
+ end
253
+
254
+ def matricula_do_contrato
255
+ nil
256
+ end
257
+
258
+ def data_de_inicio_do_contrato_de_trabalho
259
+ data_de_inicio_do_contrato_de_trabalho_sem_vinculo
260
+ end
153
261
  end
154
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
155
262
  end
156
263
  end
157
264
  end