teodoro 0.50.0 → 0.51.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/arquivo_data/tra_epg_avi.rb +4 -0
- data/lib/teodoro/arquivo_data.rb +100 -32
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +3 -3
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +4 -3
- data/lib/teodoro/empresa/arquivo_de_dados_gerais.rb +2 -2
- data/lib/teodoro/empresa/cargos_gerados.rb +3 -3
- data/lib/teodoro/empresa/contratos_de_emprego.rb +0 -4
- data/lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb +0 -4
- data/lib/teodoro/empresa/funcoes_geradas.rb +3 -3
- data/lib/teodoro/empresa.rb +4 -11
- data/lib/teodoro/leiaute/arquivo_s1000.rb +1 -1
- data/lib/teodoro/leiaute/arquivo_s2190.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2200.rb +152 -136
- data/lib/teodoro/leiaute/arquivo_s2205.rb +173 -97
- data/lib/teodoro/leiaute/arquivo_s2206.rb +19 -2
- data/lib/teodoro/leiaute/arquivo_s2210.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2220.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2230.rb +21 -4
- data/lib/teodoro/leiaute/arquivo_s2240.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2299.rb +8 -97
- data/lib/teodoro/leiaute/arquivo_s2300.rb +120 -4
- data/lib/teodoro/leiaute/arquivo_s2306.rb +21 -1
- data/lib/teodoro/leiaute/arquivo_s2399.rb +5 -59
- data/lib/teodoro/leiaute/arquivo_s2500.rb +1 -0
- data/lib/teodoro/leiaute/arquivo_s2501.rb +1 -0
- data/lib/teodoro/version.rb +1 -1
- metadata +2 -2
@@ -5,7 +5,7 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
8
|
+
def salvar_arquivos_data
|
9
9
|
super
|
10
10
|
|
11
11
|
empresa.trabalhadores << trabalhador
|
@@ -134,114 +134,190 @@ module Teodoro
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
137
|
-
contratos_de_trabalho.
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
[
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
[
|
214
|
-
|
215
|
-
[
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
137
|
+
contratos_de_trabalho.sum([]) do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
138
|
+
[
|
139
|
+
Obj.new(
|
140
|
+
operacao: :inclusao,
|
141
|
+
nome: [
|
142
|
+
"TRA[#{trabalhador.cpf}]",
|
143
|
+
contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
|
144
|
+
"-ACA[#{data_da_alteracao.delete('-')}]"
|
145
|
+
].join,
|
146
|
+
itens_do_conteudo: [
|
147
|
+
# rubocop:disable Layout/LineLength
|
148
|
+
['ESX_CPF', trabalhador.cpf],
|
149
|
+
['ESX_MATRICULA', contrato_de_trabalho.matricula_do_trabalhador],
|
150
|
+
['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
|
151
|
+
%w[ESX_SEMVINCULO 0],
|
152
|
+
['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
|
153
|
+
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
154
|
+
['DataAlteracao', data_da_alteracao, :data],
|
155
|
+
['IdEventoXml', id_do_evento],
|
156
|
+
['NrReciboEventoOriginal', numero_do_recibo],
|
157
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
158
|
+
['VerProc', versao_do_processo_de_emissao_do_evento],
|
159
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
160
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
161
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
162
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
163
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
164
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
165
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
170
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
174
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
175
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
176
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
177
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
178
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
179
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
180
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
181
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
182
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
183
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
184
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
185
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
187
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
188
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
189
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
190
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
191
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
192
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
193
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
194
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
195
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
196
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
197
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
198
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
199
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
200
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
201
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
202
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
203
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
204
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
205
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
206
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
207
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
208
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
209
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
210
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
211
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
212
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
213
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
214
|
+
*evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
|
215
|
+
[
|
216
|
+
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
217
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto'], :data],
|
218
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada", dependente['dtNascto'], :data],
|
219
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
|
220
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
|
221
|
+
["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
|
222
|
+
["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
|
223
|
+
["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
|
224
|
+
]
|
225
|
+
end.sum([])
|
226
|
+
# rubocop:enable Layout/LineLength
|
227
|
+
]
|
228
|
+
),
|
229
|
+
Obj.new(
|
230
|
+
operacao: :atualizacao,
|
231
|
+
nome: [
|
232
|
+
"TRA[#{trabalhador.cpf}]",
|
233
|
+
contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
|
234
|
+
'-GER'
|
235
|
+
].join,
|
236
|
+
itens_do_conteudo: [
|
237
|
+
# rubocop:disable Layout/LineLength
|
238
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
239
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
240
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
241
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
242
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
243
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
244
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
245
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
246
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
247
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
248
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
249
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
250
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
251
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
252
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
253
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
254
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
255
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
256
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
257
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
258
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
259
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
260
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
261
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
262
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
263
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
264
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
265
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
266
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
267
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
268
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
269
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
270
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
271
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
272
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
273
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
274
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
275
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
276
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
277
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
278
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
279
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
280
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
281
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
282
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
|
283
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
|
284
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
|
285
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
286
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
287
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
288
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
289
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
290
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
291
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
292
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
293
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
294
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
295
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
296
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
297
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
298
|
+
['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo]
|
299
|
+
# rubocop:enable Layout/LineLength
|
300
|
+
]
|
301
|
+
)
|
302
|
+
]
|
227
303
|
end
|
228
304
|
end
|
229
305
|
|
230
306
|
def contratos_de_trabalho
|
231
|
-
|
232
|
-
.map { |classe, contrato| classe.new(contrato) }
|
307
|
+
contratos_de_emprego + contratos_de_trabalho_sem_vinculo
|
233
308
|
end
|
234
309
|
|
235
310
|
def contratos_de_emprego
|
236
|
-
|
237
|
-
|
238
|
-
|
311
|
+
@contratos_de_emprego ||=
|
312
|
+
empresa.contratos_de_emprego
|
313
|
+
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
314
|
+
.map { ContratoDeEmprego.new(_1) }
|
239
315
|
end
|
240
316
|
|
241
317
|
def contratos_de_trabalho_sem_vinculo
|
242
318
|
empresa.contratos_de_trabalho_sem_vinculo
|
243
319
|
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
244
|
-
.map {
|
320
|
+
.map { ContratoDeTrabalhoSemVinculo.new(_1) }
|
245
321
|
end
|
246
322
|
|
247
323
|
def data_da_alteracao
|
@@ -5,7 +5,7 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
8
|
+
def salvar_arquivos_data
|
9
9
|
super
|
10
10
|
|
11
11
|
empresa.contratos_de_emprego.registrar_alteracao_contratual(alteracao_contratual)
|
@@ -36,9 +36,10 @@ module Teodoro
|
|
36
36
|
)
|
37
37
|
end
|
38
38
|
|
39
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
39
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
40
40
|
[
|
41
41
|
Obj.new(
|
42
|
+
operacao: :inclusao,
|
42
43
|
nome: [
|
43
44
|
'TRA',
|
44
45
|
"[#{cpf_do_trabalhador}]",
|
@@ -46,6 +47,22 @@ module Teodoro
|
|
46
47
|
"-ACO[#{data_da_alteracao.delete('-')}]"
|
47
48
|
].join,
|
48
49
|
itens_do_conteudo: itens_do_conteudo
|
50
|
+
),
|
51
|
+
Obj.new(
|
52
|
+
operacao: :atualizacao,
|
53
|
+
nome: [
|
54
|
+
'TRA',
|
55
|
+
"[#{cpf_do_trabalhador}]",
|
56
|
+
"[EPG_#{alteracao_contratual.matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
57
|
+
'-GER'
|
58
|
+
].join,
|
59
|
+
itens_do_conteudo: [
|
60
|
+
# rubocop:disable Layout/LineLength
|
61
|
+
['InfoVinculo_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
|
62
|
+
['InfoVinculo_InfoContrato_Duracao_TipoContrato', alteracao_contratual.duracao.tipo_de_contrato],
|
63
|
+
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', alteracao_contratual.natureza_da_atividade]
|
64
|
+
# rubocop:enable Layout/LineLength
|
65
|
+
]
|
49
66
|
)
|
50
67
|
]
|
51
68
|
end
|
@@ -5,7 +5,7 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
8
|
+
def salvar_arquivos_data
|
9
9
|
super
|
10
10
|
|
11
11
|
registrar_inicio_do_afastamento if somente_inicio_do_afastamento?
|
@@ -32,12 +32,15 @@ module Teodoro
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def registrar_inicio_do_afastamento
|
35
|
-
|
35
|
+
inicio_do_afastamento = InicioDeAfastamento.new(
|
36
|
+
inicios_de_afastamento_por_numero_do_recibo: empresa.inicios_de_afastamento_por_numero_do_recibo,
|
36
37
|
inicios_de_afastamento: contrato_de_trabalho.inicios_de_afastamento,
|
37
38
|
data_de_inicio: data_de_inicio_do_afastamento,
|
38
39
|
codigo_do_motivo: codigo_do_motivo_de_afastamento,
|
39
40
|
numero_do_recibo: numero_do_recibo
|
40
41
|
)
|
42
|
+
|
43
|
+
inicio_do_afastamento.registrar
|
41
44
|
end
|
42
45
|
|
43
46
|
def data_de_inicio_do_afastamento
|
@@ -114,6 +117,7 @@ module Teodoro
|
|
114
117
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
115
118
|
[
|
116
119
|
Obj.new(
|
120
|
+
operacao: :inclusao,
|
117
121
|
nome: [
|
118
122
|
"TRA[#{cpf_do_trabalhador}]",
|
119
123
|
"[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
|
@@ -180,20 +184,33 @@ module Teodoro
|
|
180
184
|
class InicioDeAfastamento
|
181
185
|
private
|
182
186
|
|
183
|
-
def initialize(
|
187
|
+
def initialize(
|
188
|
+
inicios_de_afastamento_por_numero_do_recibo:,
|
189
|
+
inicios_de_afastamento:,
|
190
|
+
data_de_inicio:,
|
191
|
+
codigo_do_motivo:,
|
192
|
+
numero_do_recibo:
|
193
|
+
)
|
194
|
+
@inicios_de_afastamento_por_numero_do_recibo = inicios_de_afastamento_por_numero_do_recibo
|
184
195
|
@inicios_de_afastamento = inicios_de_afastamento
|
185
196
|
@data_de_inicio = data_de_inicio
|
186
197
|
@codigo_do_motivo = codigo_do_motivo
|
187
198
|
@numero_do_recibo = numero_do_recibo
|
188
199
|
end
|
189
200
|
|
190
|
-
attr_reader :inicios_de_afastamento
|
201
|
+
attr_reader :inicios_de_afastamento_por_numero_do_recibo, :inicios_de_afastamento
|
191
202
|
|
192
203
|
public
|
193
204
|
|
194
205
|
attr_reader :data_de_inicio, :codigo_do_motivo, :numero_do_recibo
|
195
206
|
|
207
|
+
def registrar
|
208
|
+
inicios_de_afastamento_por_numero_do_recibo[numero_do_recibo] = self
|
209
|
+
inicios_de_afastamento << self
|
210
|
+
end
|
211
|
+
|
196
212
|
def excluir
|
213
|
+
inicios_de_afastamento_por_numero_do_recibo.delete(numero_do_recibo)
|
197
214
|
inicios_de_afastamento.pop.then { raise unless _1 == self }
|
198
215
|
end
|
199
216
|
end
|
@@ -5,12 +5,12 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def
|
8
|
+
def salvar_arquivos_data
|
9
9
|
super
|
10
10
|
|
11
11
|
registrar_desligamento
|
12
12
|
avisar_que_tem_mais_de_um_demonstrativo if mais_de_um_demontrativo?
|
13
|
-
|
13
|
+
salvar_arquivo_data_do_aviso_previo if salvar_arquivo_data_do_aviso_previo?
|
14
14
|
end
|
15
15
|
|
16
16
|
def registrar_desligamento
|
@@ -41,97 +41,16 @@ module Teodoro
|
|
41
41
|
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
42
42
|
end
|
43
43
|
|
44
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
44
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
45
45
|
[
|
46
46
|
Obj.new(
|
47
|
+
operacao: :atualizacao,
|
47
48
|
nome: "TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-GER",
|
48
49
|
itens_do_conteudo: [
|
49
|
-
# rubocop:disable Layout/LineLength
|
50
|
-
['ESX_CPF', cpf_do_trabalhador],
|
51
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
52
|
-
%w[ESX_SEMVINCULO 0],
|
53
|
-
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
54
50
|
['ESX_DATADESLIGAMENTO', data_de_desligamento, :data],
|
55
51
|
['ESX_INFOWEB_RESCISAO_IDEDMDEV', identificador_do_demonstrativo],
|
56
52
|
['ESX_INFOWEB_RESCISAO_RECIBO', numero_do_recibo],
|
57
|
-
['ESX_INFOWEB_RESCISAO_MOTIVO', motivo_do_desligamento]
|
58
|
-
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
59
|
-
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
60
|
-
['VerProc', versao_do_processo_de_emissao_do_evento],
|
61
|
-
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
62
|
-
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
63
|
-
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
64
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
65
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
66
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
67
|
-
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego', contrato_de_emprego.primeiro_emprego_do_trabalhador],
|
68
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
69
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.nascimento.codigo_do_municipio],
|
70
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.nascimento.codigo_do_municipio]],
|
71
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.nascimento.data, :data],
|
72
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nascimento.nome_da_mae],
|
73
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nascimento.nome_do_pai],
|
74
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.nascimento.pais],
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
76
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.nascimento.uf],
|
77
|
-
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
78
|
-
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
79
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
80
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
81
|
-
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
82
|
-
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
83
|
-
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
84
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
85
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
86
|
-
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
87
|
-
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
88
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
|
89
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
|
90
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
|
91
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
92
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
93
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
94
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
96
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
97
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
98
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
100
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', trabalhador.oc.data_da_expedicao, :data],
|
101
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', trabalhador.oc.numero],
|
102
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', trabalhador.oc.orgao_emissor],
|
103
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
104
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
105
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
106
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', trabalhador.ric.data_da_expedicao, :data],
|
107
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', trabalhador.ric.numero],
|
108
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', trabalhador.ric.orgao_emissor],
|
109
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
110
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
111
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
112
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
113
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
114
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
115
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
116
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
117
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
118
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
119
|
-
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
120
|
-
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
121
|
-
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
122
|
-
['EventoAdmissao_Contato_EmailAlternativo', trabalhador.contato.email_alternativo],
|
123
|
-
['InfoVinculo_Matricula', matricula_do_trabalhador],
|
124
|
-
['InfoVinculo_TipoRegimeTrabalhista', contrato_de_emprego.tipo_de_regime_trabalhista],
|
125
|
-
['InfoVinculo_TipoRegimePrevidenciario', contrato_de_emprego.tipo_de_regime_previdenciario],
|
126
|
-
['InfoVinculo_InfoContrato_CodigoCategoria', categoria_do_trabalhador],
|
127
|
-
['InfoVinculo_InfoContrato_Duracao_TipoContrato', contrato_de_emprego.duracao.tipo_de_contrato],
|
128
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_DataAdmissao', data_de_admissao, :data],
|
129
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_IndicativoAdmissao', contrato_de_emprego.indicativo_de_admissao],
|
130
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_DataOpcaoFGTS', contrato_de_emprego.data_de_opcao_pelo_fgts, :data],
|
131
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_InfoFgts_OptanteFGTS', contrato_de_emprego.opcao_pelo_fgts],
|
132
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_NaturezaAtividade', contrato_de_emprego.natureza_da_atividade],
|
133
|
-
['InfoVinculo_InformacoesRegimeTrabalhista_InformacoesTrabalhadorCeletista_TipoAdmissao', contrato_de_emprego.tipo_de_admissao]
|
134
|
-
# rubocop:enable Layout/LineLength
|
53
|
+
['ESX_INFOWEB_RESCISAO_MOTIVO', motivo_do_desligamento]
|
135
54
|
]
|
136
55
|
)
|
137
56
|
]
|
@@ -157,15 +76,7 @@ module Teodoro
|
|
157
76
|
@motivo_do_desligamento ||= evento['infoDeslig/mtvDeslig']
|
158
77
|
end
|
159
78
|
|
160
|
-
def
|
161
|
-
@trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
|
162
|
-
end
|
163
|
-
|
164
|
-
def categoria_do_trabalhador
|
165
|
-
contrato_de_emprego.categoria_do_trabalhador
|
166
|
-
end
|
167
|
-
|
168
|
-
def criar_arquivo_data_do_aviso_previo?
|
79
|
+
def salvar_arquivo_data_do_aviso_previo?
|
169
80
|
leiaute_simplificado? && aviso_previo?
|
170
81
|
end
|
171
82
|
|
@@ -177,8 +88,8 @@ module Teodoro
|
|
177
88
|
@data_do_aviso_previo ||= evento['infoDeslig/dvAvPrev']
|
178
89
|
end
|
179
90
|
|
180
|
-
def
|
181
|
-
arquivo_data_do_aviso_previo.
|
91
|
+
def salvar_arquivo_data_do_aviso_previo
|
92
|
+
arquivo_data_do_aviso_previo.salvar
|
182
93
|
end
|
183
94
|
|
184
95
|
def arquivo_data_do_aviso_previo
|