teodoro 0.28.0 → 0.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/teodoro.rb +1 -1
- data/lib/teodoro/arquivo_xml.rb +1 -0
- data/lib/teodoro/empresa.rb +1 -1
- data/lib/teodoro/empresa/contratos_de_emprego.rb +26 -3
- data/lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb +18 -3
- data/lib/teodoro/leiaute/arquivo_s1010.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2200.rb +181 -94
- data/lib/teodoro/leiaute/arquivo_s2205.rb +112 -40
- data/lib/teodoro/leiaute/arquivo_s2206.rb +77 -46
- data/lib/teodoro/leiaute/arquivo_s2299.rb +54 -54
- data/lib/teodoro/leiaute/arquivo_s2300.rb +145 -80
- data/lib/teodoro/leiaute/arquivo_s2306.rb +3 -3
- data/lib/teodoro/leiaute/arquivo_s2399.rb +48 -44
- data/lib/teodoro/leiaute_simplificado.rb +27 -0
- metadata +3 -2
@@ -13,12 +13,7 @@ module Teodoro
|
|
13
13
|
|
14
14
|
def registrar_inicio_de_contrato
|
15
15
|
contratos_de_trabalho_sem_vinculo.registrar_inicio_de_contrato(
|
16
|
-
inicio_de_contrato:
|
17
|
-
cpf_do_trabalhador: cpf_do_trabalhador,
|
18
|
-
categoria_do_trabalhador: categoria_do_trabalhador,
|
19
|
-
data_de_inicio: data_de_inicio,
|
20
|
-
recibo: numero_do_recibo
|
21
|
-
),
|
16
|
+
inicio_de_contrato: inicio_de_contrato,
|
22
17
|
afastamento: afastamento
|
23
18
|
)
|
24
19
|
end
|
@@ -27,16 +22,75 @@ module Teodoro
|
|
27
22
|
empresa.contratos_de_trabalho_sem_vinculo
|
28
23
|
end
|
29
24
|
|
30
|
-
def
|
31
|
-
@
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
def inicio_de_contrato
|
26
|
+
@inicio_de_contrato ||= Obj.new(
|
27
|
+
trabalhador: trabalhador,
|
28
|
+
categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
|
29
|
+
data_de_inicio: evento['infoTSVInicio/dtInicio'],
|
30
|
+
recibo: numero_do_recibo
|
31
|
+
)
|
36
32
|
end
|
37
33
|
|
38
|
-
def
|
39
|
-
@
|
34
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
35
|
+
@trabalhador ||= Obj.new(
|
36
|
+
cpf: evento['trabalhador/cpfTrab'],
|
37
|
+
nis: evento['trabalhador/nisTrab'],
|
38
|
+
nome: evento['trabalhador/nmTrab'],
|
39
|
+
sexo: evento['trabalhador/sexo'],
|
40
|
+
raca_cor: evento['trabalhador/racaCor'],
|
41
|
+
estado_civil: evento['trabalhador/estCiv'],
|
42
|
+
grau_de_instrucao: evento['trabalhador/grauInstr'],
|
43
|
+
nome_social: evento['trabalhador/nmSoc'],
|
44
|
+
data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
|
45
|
+
codigo_do_municipio_de_nascimento: evento['trabalhador/nascimento/codMunic'],
|
46
|
+
uf_de_nascimento: evento['trabalhador/nascimento/uf'],
|
47
|
+
pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
|
48
|
+
pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
|
49
|
+
nome_da_mae: evento['trabalhador/nascimento/nmMae'],
|
50
|
+
nome_do_pai: evento['trabalhador/nascimento/nmPai'],
|
51
|
+
reside_no_exterior?: evento['trabalhador/endereco/exterior'],
|
52
|
+
estrangeiro?: evento['trabalhador/trabEstrangeiro'],
|
53
|
+
data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
|
54
|
+
condicao_de_ingresso_no_brasil: leiaute.condicao_de_ingresso_no_brasil_do_trabalhador,
|
55
|
+
casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
|
56
|
+
filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr'],
|
57
|
+
endereco: OpenStruct.new({}),
|
58
|
+
ctps: Obj.new(
|
59
|
+
numero: evento['trabalhador/documentos/CTPS/nrCtps'],
|
60
|
+
serie: evento['trabalhador/documentos/CTPS/serieCtps'],
|
61
|
+
uf: evento['trabalhador/documentos/CTPS/ufCtps']
|
62
|
+
),
|
63
|
+
rg: Obj.new(
|
64
|
+
numero: evento['trabalhador/documentos/RG/nrRg'],
|
65
|
+
orgao_emissor: evento['trabalhador/documentos/RG/orgaoEmissor'],
|
66
|
+
data_da_expedicao: evento['trabalhador/documentos/RG/dtExped']
|
67
|
+
),
|
68
|
+
rne: OpenStruct.new({}),
|
69
|
+
ric: OpenStruct.new({}),
|
70
|
+
oc: Obj.new(
|
71
|
+
numero: evento['trabalhador/documentos/OC/nrOc'],
|
72
|
+
orgao_emissor: evento['trabalhador/documentos/OC/orgaoEmissor'],
|
73
|
+
data_da_expedicao: evento['trabalhador/documentos/OC/dtExped']
|
74
|
+
),
|
75
|
+
cnh: Obj.new(
|
76
|
+
numero_do_registro: evento['trabalhador/documentos/CNH/nrRegCnh'],
|
77
|
+
data_da_primeira_habilitacao: evento['trabalhador/documentos/CNH/dtPriHab'],
|
78
|
+
data_da_expedicao: evento['trabalhador/documentos/CNH/dtExped'],
|
79
|
+
data_de_validade: evento['trabalhador/documentos/CNH/dtValid'],
|
80
|
+
categoria: evento['trabalhador/documentos/CNH/categoriaCnh'],
|
81
|
+
uf_do_emissor: evento['trabalhador/documentos/CNH/ufCnh']
|
82
|
+
),
|
83
|
+
deficiencia: Obj.new(
|
84
|
+
fisica: evento['trabalhador/infoDeficiencia/defFisica'],
|
85
|
+
visual: evento['trabalhador/infoDeficiencia/defVisual'],
|
86
|
+
auditiva: evento['trabalhador/infoDeficiencia/defAuditiva'],
|
87
|
+
mental: evento['trabalhador/infoDeficiencia/defMental'],
|
88
|
+
intelectual: evento['trabalhador/infoDeficiencia/defIntelectual'],
|
89
|
+
reabilitado_ou_readaptado: evento['trabalhador/infoDeficiencia/reabReadap'],
|
90
|
+
preenche_cota_de_pessoas_com_deficiencia: nil
|
91
|
+
),
|
92
|
+
contato: OpenStruct.new({})
|
93
|
+
)
|
40
94
|
end
|
41
95
|
|
42
96
|
def afastamento
|
@@ -49,18 +103,22 @@ module Teodoro
|
|
49
103
|
def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
50
104
|
[
|
51
105
|
Obj.new(
|
52
|
-
nome:
|
106
|
+
nome: [
|
107
|
+
"TRA[#{trabalhador.cpf}]",
|
108
|
+
"[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
|
109
|
+
'-ADM'
|
110
|
+
].join,
|
53
111
|
itens_do_conteudo: [
|
54
112
|
# rubocop:disable Layout/LineLength
|
55
|
-
['ESX_CPF',
|
56
|
-
['ESX_CATEGORIA', categoria_do_trabalhador],
|
113
|
+
['ESX_CPF', trabalhador.cpf],
|
114
|
+
['ESX_CATEGORIA', inicio_de_contrato.categoria_do_trabalhador],
|
57
115
|
%w[ESX_SEMVINCULO 1],
|
58
|
-
['ESX_DATAADMISSAO', data_de_inicio, :data],
|
116
|
+
['ESX_DATAADMISSAO', inicio_de_contrato.data_de_inicio, :data],
|
59
117
|
['IdEventoXml', id_do_evento],
|
60
118
|
['NrReciboEventoOriginal'],
|
61
119
|
['EventoAdmissao_NrRecibo'],
|
62
120
|
['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', evento['infoTSVInicio/cadIni']],
|
63
|
-
['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
|
121
|
+
['EventoAdmissao_InformacoesInicio_DataInicio', inicio_de_contrato.data_de_inicio, :data],
|
64
122
|
['SomenteLeitura'],
|
65
123
|
['UrlRetorno'],
|
66
124
|
['IdEvento'],
|
@@ -71,61 +129,61 @@ module Teodoro
|
|
71
129
|
['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
72
130
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
73
131
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
77
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
132
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
133
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
134
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
135
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
78
136
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
79
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
137
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
80
138
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
81
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
139
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
82
140
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
83
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
141
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
84
142
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
85
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial',
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio',
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[
|
88
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
89
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae',
|
90
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai',
|
91
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento',
|
143
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
144
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
145
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
146
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
147
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
148
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
149
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
92
150
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
151
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
94
152
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
153
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
96
154
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
97
155
|
['SemNumeroLogradouroEnderecoBR'],
|
98
156
|
['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
|
99
157
|
['SemNumeroLogradouroEnderecoEX'],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro',
|
101
|
-
|
158
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
159
|
+
leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
102
160
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
103
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
104
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros',
|
105
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
161
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
162
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
163
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
106
164
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
107
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
108
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
109
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
110
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
111
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
165
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
112
170
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
113
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
114
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
115
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
116
174
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
117
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao',
|
118
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc',
|
119
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor',
|
120
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
121
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
122
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
123
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
124
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
125
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
126
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
127
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
128
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
180
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
181
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
183
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
184
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
185
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
129
187
|
*evento.*('trabalhador/dependente').map.with_index(1) do |dependente, seq|
|
130
188
|
[
|
131
189
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -163,7 +221,7 @@ module Teodoro
|
|
163
221
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
|
164
222
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
|
165
223
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa'], :decimal],
|
166
|
-
['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
|
224
|
+
['EventoAdmissao_InformacoesInicio_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
|
167
225
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
168
226
|
['IdEventoXml', id_do_evento],
|
169
227
|
['NrReciboEventoOriginal', numero_do_recibo],
|
@@ -175,9 +233,9 @@ module Teodoro
|
|
175
233
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_NumeroLogradouro', evento['trabalhador/endereco/brasil/nrLograd']],
|
176
234
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_TipoLogradouro', evento['trabalhador/endereco/brasil/tpLograd']],
|
177
235
|
['EventoAdmissao_InfoTrabalhador_InfoEndereco_EnderecoResidencialBR_Uf', evento['trabalhador/endereco/brasil/uf']],
|
178
|
-
|
179
|
-
|
180
|
-
|
236
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoCargoFuncao_CodigoCargo'],
|
237
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS'],
|
238
|
+
leiaute['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_DataOpcaoFGTS'],
|
181
239
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_UnidadeSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/undSalFixo']],
|
182
240
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_Remuneracao_ValorSalarioFixo', evento['infoTSVInicio/infoComplementares/remuneracao/vrSalFx'], :decimal],
|
183
241
|
['EventoAdmissao_InformacoesInicio_NaturezaAtividade', evento['infoTSVInicio/natAtividade']]
|
@@ -187,12 +245,8 @@ module Teodoro
|
|
187
245
|
]
|
188
246
|
end
|
189
247
|
|
190
|
-
def
|
191
|
-
@
|
192
|
-
end
|
193
|
-
|
194
|
-
def de_acordo_com_a_versao_do_leiaute
|
195
|
-
@de_acordo_com_a_versao_do_leiaute ||=
|
248
|
+
def leiaute
|
249
|
+
@leiaute ||=
|
196
250
|
if leiaute_simplificado?
|
197
251
|
LeiauteSimplificado.new(empresa: empresa, evento: evento)
|
198
252
|
else
|
@@ -227,11 +281,19 @@ module Teodoro
|
|
227
281
|
@evento = evento
|
228
282
|
end
|
229
283
|
|
284
|
+
public
|
285
|
+
|
286
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
287
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||= evento['trabalhador/trabEstrangeiro/classTrabEstrang']
|
288
|
+
end
|
289
|
+
|
290
|
+
private
|
291
|
+
|
230
292
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
231
293
|
[
|
232
294
|
[
|
233
295
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
234
|
-
|
296
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
235
297
|
],
|
236
298
|
[
|
237
299
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS',
|
@@ -262,19 +324,22 @@ module Teodoro
|
|
262
324
|
|
263
325
|
attr_reader :empresa
|
264
326
|
|
327
|
+
public
|
328
|
+
|
329
|
+
def condicao_de_ingresso_no_brasil_do_trabalhador
|
330
|
+
@condicao_de_ingresso_no_brasil_do_trabalhador ||=
|
331
|
+
evento['trabalhador/trabImig']&.then do
|
332
|
+
Teodoro::LeiauteSimplificado::TrabalhadorImigrante.new(_1).condicao_de_ingresso_no_brasil_no_leiaute2
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
private
|
337
|
+
|
265
338
|
def chaves_valores # rubocop:disable Metrics/MethodLength
|
266
339
|
[
|
267
340
|
[
|
268
341
|
'EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao',
|
269
|
-
|
270
|
-
'1' => 4,
|
271
|
-
'2' => 5,
|
272
|
-
'3' => 9,
|
273
|
-
'4' => 10,
|
274
|
-
'5' => 11,
|
275
|
-
'6' => 12,
|
276
|
-
'7' => evento['trabalhador/trabImig/tmpResid']
|
277
|
-
}[evento['trabalhador/trabImig/condIng']]
|
342
|
+
condicao_de_ingresso_no_brasil_do_trabalhador
|
278
343
|
],
|
279
344
|
[
|
280
345
|
'EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoFgts_OptanteFGTS',
|
@@ -66,7 +66,7 @@ module Teodoro
|
|
66
66
|
['InfoVinculo_TipoRegimeTrabalhista'],
|
67
67
|
['InfoVinculo_TipoRegimePrevidenciario'],
|
68
68
|
['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
69
|
-
|
69
|
+
leiaute['InfoVinculo_InfoContrato_CodigoCargo'],
|
70
70
|
['InfoVinculo_InfoContrato_CodigoFuncao', evento['infoTSVAlteracao/infoComplementares/cargoFuncao/codFuncao']],
|
71
71
|
['InfoVinculo_InfoContrato_CodigoCarreira'],
|
72
72
|
['InfoVinculo_InfoContrato_DataIngressoCarreira'],
|
@@ -180,8 +180,8 @@ module Teodoro
|
|
180
180
|
@data_da_alteracao ||= evento['infoTSVAlteracao/dtAlteracao']
|
181
181
|
end
|
182
182
|
|
183
|
-
def
|
184
|
-
@
|
183
|
+
def leiaute # rubocop:disable Metrics/MethodLength
|
184
|
+
@leiaute ||=
|
185
185
|
(
|
186
186
|
if leiaute_simplificado?
|
187
187
|
[
|
@@ -16,7 +16,7 @@ module Teodoro
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def contrato_de_trabalho
|
19
|
-
contratos_de_trabalho_sem_vinculo[
|
19
|
+
@contrato_de_trabalho ||= contratos_de_trabalho_sem_vinculo[
|
20
20
|
cpf_do_trabalhador: cpf_do_trabalhador,
|
21
21
|
categoria_do_trabalhador: categoria_do_trabalhador,
|
22
22
|
data: data_do_termino
|
@@ -39,7 +39,7 @@ module Teodoro
|
|
39
39
|
@categoria_do_trabalhador ||= evento['ideTrabSemVinculo/codCateg']
|
40
40
|
end
|
41
41
|
|
42
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
42
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
43
43
|
[
|
44
44
|
Obj.new(
|
45
45
|
nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
|
@@ -56,7 +56,7 @@ module Teodoro
|
|
56
56
|
['EventoAdmissao_NrRecibo'],
|
57
57
|
['EventoAdmissao_DataAlteracaoCadastral'],
|
58
58
|
['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
|
59
|
-
['EventoAdmissao_InformacoesInicio_DataInicio'],
|
59
|
+
['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
|
60
60
|
['EventoAdmissao_DataAlteracaoContratual'],
|
61
61
|
['SomenteLeitura'],
|
62
62
|
['UrlRetorno'],
|
@@ -71,60 +71,60 @@ module Teodoro
|
|
71
71
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
72
72
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
73
73
|
['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Nome'],
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nis'],
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Sexo'],
|
74
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
75
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
76
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
77
77
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
78
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor'],
|
78
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
79
79
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
80
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
|
80
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
81
81
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
82
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
|
82
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
83
83
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
84
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial'],
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
86
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
|
88
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
90
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
|
84
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
85
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
86
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
87
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
88
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
89
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
90
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
91
91
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
92
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
92
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
93
93
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
94
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
94
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
95
95
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
96
96
|
['SemNumeroLogradouroEnderecoBR'],
|
97
|
-
['ResideExterior'],
|
97
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
98
98
|
['SemNumeroLogradouroEnderecoEX'],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
|
99
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', (trabalhador.condicao_de_ingresso_no_brasil if trabalhador.estrangeiro?)],
|
101
101
|
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
102
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
|
103
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
|
102
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
103
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
104
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
105
105
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
106
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
|
107
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao'],
|
108
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade'],
|
109
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh'],
|
110
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh'],
|
106
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
107
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
108
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
109
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
110
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
111
111
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
112
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps'],
|
113
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps'],
|
114
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps'],
|
112
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
113
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
114
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
115
115
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
116
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao'],
|
117
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc'],
|
118
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor'],
|
119
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao'],
|
120
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg'],
|
121
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor'],
|
122
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva'],
|
123
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica'],
|
124
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual'],
|
125
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental'],
|
126
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual'],
|
127
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado'],
|
116
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
117
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
118
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
119
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
120
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
121
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
122
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
123
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
124
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
125
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
126
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
127
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
128
128
|
['CodigoCBO'],
|
129
129
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_AreaAtuacao'],
|
130
130
|
['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_DtPrevistaTermino'],
|
@@ -159,6 +159,10 @@ module Teodoro
|
|
159
159
|
def data_de_inicio
|
160
160
|
contrato_de_trabalho.data_de_inicio
|
161
161
|
end
|
162
|
+
|
163
|
+
def trabalhador
|
164
|
+
@trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
|
165
|
+
end
|
162
166
|
end
|
163
167
|
end
|
164
168
|
end
|