teodoro 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de3ebb9e45e3e9b980c944f4cc6b74cc0946612f106f709ed6733fdfe25f6a76
4
- data.tar.gz: 9b5e67fd6437621dbc95dfe09be177dd5ac147e8b3b9c05012b1a66903412002
3
+ metadata.gz: ed476a09d21ea31620816ef10a315c152da9fe7938810d81d2a3fd29f2085e28
4
+ data.tar.gz: 15caa64dd8e82804283ea2b8248888b778c07672534405cfcf2cf466b9bead9d
5
5
  SHA512:
6
- metadata.gz: 6b0021d42bf9f1ab1bdf39b80098faeb6c0adc8aec9dc7c80da299f724baf3adba6f19ebf40941b907b2a0a78285274c02d0c0df85c8fc90120cc3875461e6f8
7
- data.tar.gz: d8bc4bb61f6df69d8ad241e97efaff55abb71816311973d9c604b2bf4085243c88a5bee4840a34cbc72d793bcfbea88f52b598a983e884837c2bdba586bb8424
6
+ metadata.gz: ef9d1142cf3f02126a46d093a49010a92144d3eb373fb6692bd1b95b398c0a08ae6e2753a0ce3d5fd9d7b438642c7b4ea2e5dfbb6f0392d16602173171369e79
7
+ data.tar.gz: ce85156d0fe4b50c44c24ee31e0700f0a263db2a2e1b7f0b9cdcb48c72823ad7a97bf737a6d7529d9a2ca42a7a89f07f8a5a8685ab6973763b4f43695d7d9881
@@ -0,0 +1,87 @@
1
+ module Teodoro
2
+ class ArquivoData
3
+ private
4
+
5
+ def initialize(empresa:, nome:, itens_do_conteudo:)
6
+ @empresa = empresa
7
+ @nome = nome
8
+ @itens_do_conteudo = itens_do_conteudo
9
+ end
10
+
11
+ attr_reader :empresa, :itens_do_conteudo
12
+
13
+ public
14
+
15
+ attr_reader :nome
16
+
17
+ def criar
18
+ raise caminho if File.exist?(caminho)
19
+
20
+ File.write(caminho, (itens_do_conteudo.map { "#{_1}=#{Valor.new(_2)}" } + ['']).join("\r\n"))
21
+ end
22
+
23
+ private
24
+
25
+ def caminho
26
+ @caminho ||= Caminho.new(empresa: empresa, nome_do_arquivo: nome)
27
+ end
28
+
29
+ class Caminho
30
+ private
31
+
32
+ def initialize(empresa:, nome_do_arquivo:)
33
+ @empresa = empresa
34
+ @nome_do_arquivo = nome_do_arquivo
35
+ end
36
+
37
+ attr_reader :empresa, :nome_do_arquivo
38
+
39
+ public
40
+
41
+ def to_str
42
+ @to_str ||=
43
+ File.join(
44
+ empresa.destino_dos_arquivos_data,
45
+ "#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
46
+ )
47
+ end
48
+
49
+ private
50
+
51
+ def windows?
52
+ OS.windows?
53
+ end
54
+ end
55
+
56
+ class Valor
57
+ FORMATADORES = {
58
+ bool: proc { _1 ? 'True' : 'False' },
59
+ data: proc { "#{_1[-2..]}/#{_1[5..6]}/#{_1[0..3]}" if _1 },
60
+ data_aaaammdd: proc { _1.delete('-') if _1 },
61
+ mes_ano: proc { "#{_1[-2..]}/#{_1[0..3]}" if _1 }
62
+ }.freeze
63
+
64
+ private
65
+
66
+ def initialize(arg)
67
+ @arg = arg
68
+ end
69
+
70
+ attr_reader :arg
71
+
72
+ public
73
+
74
+ def to_s
75
+ @to_s ||= (tipo ? FORMATADORES[tipo].call(valor) : valor).to_s
76
+ end
77
+
78
+ def tipo
79
+ @tipo ||= arg[1] if arg.is_a?(Array)
80
+ end
81
+
82
+ def valor
83
+ @valor ||= arg.is_a?(Array) ? arg[0] : arg
84
+ end
85
+ end
86
+ end
87
+ end
@@ -17,6 +17,18 @@ module Teodoro
17
17
  arquivo_xml.recibo
18
18
  end
19
19
 
20
+ def id_do_evento
21
+ evento.css('/*').first.attributes['Id'].value
22
+ end
23
+
24
+ def processo_de_emissao_do_evento
25
+ evento['ideEvento/procEmi']
26
+ end
27
+
28
+ def tipo_de_inscricao_do_empregador
29
+ @tipo_de_inscricao_do_empregador ||= evento['ideEmpregador/tpInsc']
30
+ end
31
+
20
32
  def versao_do_aplicativo_de_processamento_do_evento
21
33
  @versao_do_aplicativo_de_processamento_do_evento ||= recibo['processamento/versaoAppProcessamento']
22
34
  end
@@ -1,6 +1,6 @@
1
1
  module Teodoro
2
2
  module ArquivoDeEventoDeTabela
3
- include ArquivoDeEventoCriadorDeArquivoData
3
+ include ArquivoDeEvento
4
4
 
5
5
  def processar
6
6
  deletar_arquivo_data_original if alteracao? || exclusao?
@@ -20,15 +20,15 @@ module Teodoro
20
20
  end
21
21
 
22
22
  def deletar_arquivo_data_original
23
- File.delete(obter_caminho_do_arquivo_data(inicio_da_validade_original))
23
+ File.delete(caminho_do_arquivo_data_original)
24
24
  end
25
25
 
26
- def inicio_da_validade_original
27
- evento[noh_de_informacoes_do_evento, '*', noh_de_identificacao_do_periodo, 'iniValid']
26
+ def caminho_do_arquivo_data_original
27
+ ArquivoData::Caminho.new(empresa: empresa, nome_do_arquivo: nome_do_arquivo_data_original)
28
28
  end
29
29
 
30
- def obter_caminho_do_arquivo_data(inicio_da_validade)
31
- criar_caminho_do_arquivo_data("#{nome_base_do_arquivo_data}[#{inicio_da_validade.delete('-')}]")
30
+ def nome_do_arquivo_data_original
31
+ "#{nome_base_do_arquivo_data}[#{inicio_da_validade_original.delete('-')}]"
32
32
  end
33
33
 
34
34
  def nome_base_do_arquivo_data
@@ -36,9 +36,24 @@ module Teodoro
36
36
  identificacao_do_arquivo_data[0] + identificacao_do_arquivo_data[1..].map { "[#{_1}]" }.join
37
37
  end
38
38
 
39
- def caminho_do_arquivo_data
40
- # FIXME: Tales inicio de validade ou inicio da nova validade?
41
- obter_caminho_do_arquivo_data(inicio_da_validade)
39
+ def inicio_da_validade_original
40
+ evento[noh_de_informacoes_do_evento, '*', noh_de_identificacao_do_periodo, 'iniValid']
41
+ end
42
+
43
+ def criar_arquivo_data
44
+ arquivo_data.criar
45
+ end
46
+
47
+ def arquivo_data
48
+ ArquivoData.new(
49
+ empresa: empresa,
50
+ nome: nome_do_arquivo_data,
51
+ itens_do_conteudo: itens_do_conteudo_do_arquivo_data
52
+ )
53
+ end
54
+
55
+ def nome_do_arquivo_data
56
+ "#{nome_base_do_arquivo_data}[#{inicio_da_validade.delete('-')}]"
42
57
  end
43
58
 
44
59
  def inicio_da_validade
@@ -1,32 +1,51 @@
1
1
  module Teodoro
2
2
  module ArquivoDeEventoNaoPeriodico
3
- include ArquivoDeEventoCriadorDeArquivoData
4
- include ArquivoDeEventoRetificavel
3
+ include ArquivoDeEvento
5
4
 
6
5
  def processar
7
6
  if retificado?
8
7
  processar_retificacao
9
8
  else
10
- registrar_arquivo_data
11
- criar_arquivo_data
9
+ registrar_arquivos_data
10
+ criar_arquivos_data
12
11
  end
13
12
  end
14
13
 
15
14
  private
16
15
 
17
- def registrar_arquivo_data
18
- arquivos_data.registrar(
19
- nome: nome_do_arquivo_data,
20
- recibo: numero_do_recibo
21
- )
16
+ def retificado?
17
+ arquivo_xml_de_retificacao
22
18
  end
23
19
 
24
- def arquivos_data
25
- empresa.arquivos_data
20
+ def arquivo_xml_de_retificacao
21
+ @arquivo_xml_de_retificacao ||= arquivos_xml_por_recibo_a_retificar.delete(numero_do_recibo)
22
+ end
23
+
24
+ def arquivos_xml_por_recibo_a_retificar
25
+ empresa.arquivos_xml_por_recibo_a_retificar
26
26
  end
27
27
 
28
- def caminho_do_arquivo_data
29
- criar_caminho_do_arquivo_data(nome_do_arquivo_data)
28
+ def processar_retificacao
29
+ arquivo_xml_de_retificacao.processar
30
+ end
31
+
32
+ def registrar_arquivos_data
33
+ arquivos_data.each do
34
+ empresa.arquivos_data.registrar(
35
+ nome: _1.nome,
36
+ recibo: numero_do_recibo
37
+ )
38
+ end
39
+ end
40
+
41
+ def criar_arquivos_data
42
+ arquivos_data.each(&:criar)
43
+ end
44
+
45
+ def arquivos_data
46
+ @arquivos_data ||= dados_dos_arquivos_data.map {
47
+ ArquivoData.new(empresa: empresa, nome: _1.nome, itens_do_conteudo: _1.itens_do_conteudo)
48
+ }
30
49
  end
31
50
  end
32
51
  end
@@ -1,7 +1,5 @@
1
+ require_relative 'arquivo_data'
1
2
  require_relative 'arquivo_de_evento'
2
- require_relative 'arquivo_de_evento_processador_de_arquivo_data'
3
- require_relative 'arquivo_de_evento_criador_de_arquivo_data'
4
- require_relative 'arquivo_de_evento_retificavel'
5
3
  require_relative 'arquivo_de_evento_de_tabela'
6
4
  require_relative 'arquivo_de_evento_nao_periodico'
7
5
  require_relative 'cnpj'
@@ -5,24 +5,25 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def nome_do_arquivo_data
9
- @nome_do_arquivo_data ||= "PRE[#{cpf_do_trabalhador}]"
8
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
9
+ [
10
+ Obj.new(
11
+ nome: "PRE[#{cpf_do_trabalhador}]",
12
+ itens_do_conteudo: [
13
+ ['NrRecibo', recibo['recibo/nrRecibo']],
14
+ ['CPF', evento['infoRegPrelim/cpfTrab']],
15
+ ['Nome'],
16
+ ['DataNascimento', [evento['infoRegPrelim/dtNascto'], :data]],
17
+ ['DataAdmissao', [evento['infoRegPrelim/dtAdm'], :data]],
18
+ ['IdEvento']
19
+ ]
20
+ )
21
+ ]
10
22
  end
11
23
 
12
24
  def cpf_do_trabalhador
13
25
  evento['infoRegPrelim/cpfTrab']
14
26
  end
15
-
16
- def itens_do_conteudo_do_arquivo_data
17
- [
18
- ['NrRecibo', recibo['recibo/nrRecibo']],
19
- ['CPF', evento['infoRegPrelim/cpfTrab']],
20
- ['Nome'],
21
- ['DataNascimento', [evento['infoRegPrelim/dtNascto'], :data]],
22
- ['DataAdmissao', [evento['infoRegPrelim/dtAdm'], :data]],
23
- ['IdEvento']
24
- ]
25
- end
26
27
  end
27
28
  end
28
29
  end
@@ -5,7 +5,7 @@ module Teodoro
5
5
 
6
6
  private
7
7
 
8
- def criar_arquivo_data
8
+ def criar_arquivos_data
9
9
  super
10
10
 
11
11
  registrar_admissao
@@ -51,153 +51,153 @@ module Teodoro
51
51
  ) }
52
52
  end
53
53
 
54
- def nome_do_arquivo_data
55
- @nome_do_arquivo_data ||=
56
- "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM"
57
- end
58
-
59
- def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
54
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
60
55
  [
61
- # rubocop:disable Layout/LineLength
62
- ['ESX_CPF', cpf_do_trabalhador],
63
- ['ESX_MATRICULA', matricula_do_trabalhador],
64
- ['ESX_CATEGORIA', categoria_do_trabalhador],
65
- %w[ESX_SEMVINCULO 0],
66
- ['ESX_DATAADMISSAO', [data_de_admissao, :data]],
67
- ['IdEventoXml', id_do_evento],
68
- ['NrReciboEventoOriginal'],
69
- ['EventoAdmissao_TipoEventoEnviado'],
70
- ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
71
- ['EventoAdmissao_InfoVinculo_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
72
- ['EventoAdmissao_NrRecibo', numero_do_recibo],
73
- ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
74
- ['EventoAdmissao_InformacoesInicio_DataInicio'],
75
- ['SomenteLeitura'],
76
- ['UrlRetorno'],
77
- ['IdEvento'],
78
- ['FiltroCargo'],
79
- ['FiltroFuncao'],
80
- ['IdContratoReferenciado'],
81
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
82
- ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
83
- ['DescricaoProcEmi', processo_de_emissao_do_evento],
84
- ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
85
- ['HorarioTela_Dia'],
86
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
87
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
88
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
89
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
90
- ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
91
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
92
- ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
93
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
94
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
95
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
96
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
97
- ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
98
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
99
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
100
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
101
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['trabalhador/nascimento/dtNascto'], :data]],
102
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
103
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
104
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
105
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
106
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
107
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
108
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
109
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
110
- ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
111
- ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
112
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['trabalhador/endereco/brasil/codMunic']],
113
- ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
114
- ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
115
- ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
116
- ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
117
- ['SemNumeroLogradouroEnderecoBR'],
118
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
119
- ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
120
- ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
121
- ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
122
- ['ResideExterior', [evento['trabalhador/endereco/exterior'], :bool]],
123
- ['SemNumeroLogradouroEnderecoEX'],
124
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
125
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['trabalhador/trabEstrangeiro/dtChegada'], :data]],
126
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
127
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
128
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
129
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['trabalhador/documentos/CNH/dtExped'], :data]],
130
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['trabalhador/documentos/CNH/dtPriHab'], :data]],
131
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['trabalhador/documentos/CNH/dtValid'], :data]],
132
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
133
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
134
- ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
135
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['trabalhador/documentos/CTPS/nrCtps']],
136
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['trabalhador/documentos/CTPS/serieCtps']],
137
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['trabalhador/documentos/CTPS/ufCtps']],
138
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
139
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
140
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
141
- ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
142
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['trabalhador/documentos/RG/dtExped'], :data]],
143
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
144
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
145
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', [evento['trabalhador/documentos/RIC/dtExped'], :data]],
146
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
147
- ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
148
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['trabalhador/documentos/RNE/dtExped'], :data]],
149
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
150
- ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
151
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
152
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['trabalhador/infoDeficiencia/defFisica']],
153
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['trabalhador/infoDeficiencia/defIntelectual']],
154
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['trabalhador/infoDeficiencia/defMental']],
155
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['trabalhador/infoDeficiencia/defVisual']],
156
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['trabalhador/infoDeficiencia/infoCota']],
157
- ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['trabalhador/infoDeficiencia/reabReadap']],
158
- ['EventoAdmissao_Contato_TelefonePrincipal', evento['trabalhador/contato/fonePrinc']],
159
- ['EventoAdmissao_Contato_EmailPrincipal', evento['trabalhador/contato/emailPrinc']],
160
- ['EventoAdmissao_Contato_TelefoneAlternativo', evento['trabalhador/contato/foneAlternat']],
161
- ['EventoAdmissao_Contato_EmailAlternativo', evento['trabalhador/contato/emailAlternat']],
162
- *evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
163
- [
164
- ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
165
- ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
166
- ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
167
- ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
168
- ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
169
- ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
170
- ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
171
- ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
172
- ]
173
- end.sum([]),
174
- ['CodigoCBO'],
175
- ['CodigoCNAE'],
176
- *evento.*('vinculo/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
177
- [
178
- ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
179
- ["Horarios_#{seq}_Dia", horario['dia']]
180
- ]
181
- end.sum([]),
182
- *evento.*('vinculo/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
183
- [
184
- ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
56
+ Obj.new(
57
+ nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-ADM",
58
+ itens_do_conteudo: [
59
+ # rubocop:disable Layout/LineLength
60
+ ['ESX_CPF', cpf_do_trabalhador],
61
+ ['ESX_MATRICULA', matricula_do_trabalhador],
62
+ ['ESX_CATEGORIA', categoria_do_trabalhador],
63
+ %w[ESX_SEMVINCULO 0],
64
+ ['ESX_DATAADMISSAO', [data_de_admissao, :data]],
65
+ ['IdEventoXml', id_do_evento],
66
+ ['NrReciboEventoOriginal'],
67
+ ['EventoAdmissao_TipoEventoEnviado'],
68
+ ['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
69
+ ['EventoAdmissao_InfoVinculo_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
70
+ ['EventoAdmissao_NrRecibo', numero_do_recibo],
71
+ ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', indicativo_de_cadastramento_inicial],
72
+ ['EventoAdmissao_InformacoesInicio_DataInicio'],
73
+ ['SomenteLeitura'],
74
+ ['UrlRetorno'],
75
+ ['IdEvento'],
76
+ ['FiltroCargo'],
77
+ ['FiltroFuncao'],
78
+ ['IdContratoReferenciado'],
79
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
80
+ ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
81
+ ['DescricaoProcEmi', processo_de_emissao_do_evento],
82
+ ['VerProc', versao_do_aplicativo_de_processamento_do_evento],
83
+ ['HorarioTela_Dia'],
84
+ ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
85
+ ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
86
+ ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
87
+ ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
88
+ ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
89
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
90
+ ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
91
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
92
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
93
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
94
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
95
+ ['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', evento['trabalhador/indPriEmpr']],
96
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
97
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', evento['trabalhador/nascimento/codMunic']],
98
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
99
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', [evento['trabalhador/nascimento/dtNascto'], :data]],
100
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
101
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
102
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
103
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
104
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
105
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
106
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
107
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
108
+ ['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['trabalhador/endereco/brasil/bairro']],
109
+ ['EventoAdmissao_EnderecoResidencialBR_Cep', evento['trabalhador/endereco/brasil/cep']],
110
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['trabalhador/endereco/brasil/codMunic']],
111
+ ['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
112
+ ['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['trabalhador/endereco/brasil/complemento']],
113
+ ['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['trabalhador/endereco/brasil/dscLograd']],
114
+ ['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
115
+ ['SemNumeroLogradouroEnderecoBR'],
116
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
117
+ ['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
118
+ ['EventoAdmissao_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
119
+ ['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
120
+ ['ResideExterior', [evento['trabalhador/endereco/exterior'], :bool]],
121
+ ['SemNumeroLogradouroEnderecoEX'],
122
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
123
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', [evento['trabalhador/trabEstrangeiro/dtChegada'], :data]],
124
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
125
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
126
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
127
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', [evento['trabalhador/documentos/CNH/dtExped'], :data]],
128
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', [evento['trabalhador/documentos/CNH/dtPriHab'], :data]],
129
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', [evento['trabalhador/documentos/CNH/dtValid'], :data]],
130
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['trabalhador/documentos/CNH/nrRegCnh']],
131
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['trabalhador/documentos/CNH/ufCnh']],
132
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
133
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['trabalhador/documentos/CTPS/nrCtps']],
134
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['trabalhador/documentos/CTPS/serieCtps']],
135
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['trabalhador/documentos/CTPS/ufCtps']],
136
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
137
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['trabalhador/documentos/OC/dtExped']],
138
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['trabalhador/documentos/OC/nrOc']],
139
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['trabalhador/documentos/OC/orgaoEmissor']],
140
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', [evento['trabalhador/documentos/RG/dtExped'], :data]],
141
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['trabalhador/documentos/RG/nrRg']],
142
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['trabalhador/documentos/RG/orgaoEmissor']],
143
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', [evento['trabalhador/documentos/RIC/dtExped'], :data]],
144
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['trabalhador/documentos/RIC/nrRic']],
145
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['trabalhador/documentos/RIC/orgaoEmissor']],
146
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', [evento['trabalhador/documentos/RNE/dtExped'], :data]],
147
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['trabalhador/documentos/RNE/nrRne']],
148
+ ['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['trabalhador/documentos/RNE/orgaoEmissor']],
149
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['trabalhador/infoDeficiencia/defAuditiva']],
150
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['trabalhador/infoDeficiencia/defFisica']],
151
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['trabalhador/infoDeficiencia/defIntelectual']],
152
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['trabalhador/infoDeficiencia/defMental']],
153
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['trabalhador/infoDeficiencia/defVisual']],
154
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['trabalhador/infoDeficiencia/infoCota']],
155
+ ['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['trabalhador/infoDeficiencia/reabReadap']],
156
+ ['EventoAdmissao_Contato_TelefonePrincipal', evento['trabalhador/contato/fonePrinc']],
157
+ ['EventoAdmissao_Contato_EmailPrincipal', evento['trabalhador/contato/emailPrinc']],
158
+ ['EventoAdmissao_Contato_TelefoneAlternativo', evento['trabalhador/contato/foneAlternat']],
159
+ ['EventoAdmissao_Contato_EmailAlternativo', evento['trabalhador/contato/emailAlternat']],
160
+ *evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
161
+ [
162
+ ["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
163
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimento", [dependente['dtNascto'], :data]],
164
+ ["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", [dependente['dtNascto'], :data]],
165
+ ["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
166
+ ["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
167
+ ["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
168
+ ["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
169
+ ["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
170
+ ]
171
+ end.sum([]),
172
+ ['CodigoCBO'],
173
+ ['CodigoCNAE'],
174
+ *evento.*('vinculo/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
175
+ [
176
+ ["Horarios_#{seq}_CodigoHorarioContratual", horario['codHorContrat']],
177
+ ["Horarios_#{seq}_Dia", horario['dia']]
178
+ ]
179
+ end.sum([]),
180
+ *evento.*('vinculo/infoContrato/filiacaoSindical').map.with_index(1) do |filiacao, seq|
181
+ [
182
+ ["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
183
+ ]
184
+ end.sum([]),
185
+ ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
186
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
187
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
188
+ ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx']],
189
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
190
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', [evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data]],
191
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao']],
192
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
193
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
194
+ ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
195
+ ['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
196
+ ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
197
+ ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']]
198
+ # rubocop:enable Layout/LineLength
185
199
  ]
186
- end.sum([]),
187
- ['EventoAdmissao_InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
188
- ['EventoAdmissao_InfoVinculo_InfoContrato_Duracao_TipoContrato', evento['vinculo/infoContrato/duracao/tpContr']],
189
- ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_UnidadeSalarioFixo', evento['vinculo/infoContrato/remuneracao/undSalFixo']],
190
- ['EventoAdmissao_InfoVinculo_InfoContrato_Remuneracao_ValorSalarioFixo', evento['vinculo/infoContrato/remuneracao/vrSalFx']],
191
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_CnpjSindicatoCategoriaProfissional', evento['vinculo/infoRegimeTrab/infoCeletista/cnpjSindCategProf']],
192
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', [evento['vinculo/infoRegimeTrab/infoCeletista/dtAdm'], :data]],
193
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/indAdmissao']],
194
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', evento['vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
195
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', evento['vinculo/infoRegimeTrab/infoCeletista/tpAdmissao']],
196
- ['EventoAdmissao_InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoRegimeJornada', evento['vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
197
- ['EventoAdmissao_InfoVinculo_Matricula', evento['vinculo/matricula']],
198
- ['EventoAdmissao_InfoVinculo_TipoRegimePrevidenciario', evento['vinculo/tpRegPrev']],
199
- ['EventoAdmissao_InfoVinculo_TipoRegimeTrabalhista', evento['vinculo/tpRegTrab']]
200
- # rubocop:enable Layout/LineLength
200
+ )
201
201
  ]
202
202
  end
203
203