Subversion Repositories Integrator Subversion

Rev

Rev 324 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.controller.managedbean;
2
 
3
import java.io.ByteArrayInputStream;
4
import java.io.Serializable;
5
import java.util.ArrayList;
6
import java.util.HashSet;
7
import java.util.List;
8
 
9
import javax.faces.context.FacesContext;
10
import javax.inject.Inject;
11
import javax.inject.Named;
12
import javax.servlet.ServletContext;
13
 
14
import org.primefaces.model.DefaultStreamedContent;
15
import org.primefaces.model.StreamedContent;
16
import org.springframework.context.annotation.Scope;
17
 
18
import br.com.ec.controller.managedbean.consultademanda.PessoaConsultaPorDemanda;
195 espaco 19
import br.com.ec.core.exception.NegocioException;
20
import br.com.ec.core.generic.GenericService;
21
import br.com.ec.core.util.ArquivoUtil;
22
import br.com.ec.core.util.VerificadorUtil;
106 espaco 23
import br.com.ec.domain.dto.ParametrosConsultaPessoaDTO;
24
import br.com.ec.domain.model.DadosBancarios;
25
import br.com.ec.domain.model.Endereco;
26
import br.com.ec.domain.model.Fornecedor;
27
import br.com.ec.domain.model.Funcionario;
28
import br.com.ec.domain.model.Loja;
170 espaco 29
import br.com.ec.domain.model.Papel;
106 espaco 30
import br.com.ec.domain.model.Perfil;
31
import br.com.ec.domain.model.Pessoa;
170 espaco 32
import br.com.ec.domain.model.PessoaPapel;
106 espaco 33
import br.com.ec.domain.model.Usuario;
34
import br.com.ec.domain.model.UsuarioLoja;
35
import br.com.ec.domain.model.UsuarioPerfil;
36
import br.com.ec.domain.model.Vendedor;
37
import br.com.ec.domain.model.tipos.TipoComissionamento;
38
import br.com.ec.domain.model.tipos.TipoEscolaridade;
39
import br.com.ec.domain.model.tipos.TipoEstadoCivil;
470 blopes 40
import br.com.ec.domain.model.tipos.TipoInscricaoEstadual;
106 espaco 41
import br.com.ec.domain.model.tipos.TipoRacaCor;
42
import br.com.ec.domain.model.tipos.TipoRegimeTributario;
43
import br.com.ec.domain.service.fornecedor.FornecedorService;
44
import br.com.ec.domain.service.funcionario.FuncionarioService;
45
import br.com.ec.domain.service.pessoa.PessoaService;
46
import br.com.ec.domain.service.usuario.UsuarioService;
47
import br.com.ec.domain.service.vendedor.VendedorService;
195 espaco 48
import br.com.ec.web.exception.VerificadorLancamentoException;
49
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
50
import br.com.ec.web.generic.AbstractBean;
51
import br.com.ec.web.message.LancadorMensagem;
52
import br.com.ec.web.util.TipoOperacao;
106 espaco 53
 
54
@Named
55
@Scope("view")
56
public class PessoaBean extends AbstractBean<Pessoa> implements Serializable {
57
 
58
        private static final long serialVersionUID = 1L;
59
 
60
        private ParametrosConsultaPessoaDTO parametrosConsultaPessoaDTO;
61
        private PessoaConsultaPorDemanda lazy;
62
 
63
        private PessoaService pessoaService;
64
        private UsuarioService usuarioService;
65
        private FuncionarioService funcionarioService;
66
        private VendedorService vendedorService;
67
        private FornecedorService fornecedorService;
68
 
69
        private Endereco endereco;
70
        private List<Endereco> enderecos;
71
        private DadosBancarios dadosBancarios;
72
        private List<DadosBancarios> listaDadosBancarios;
73
        private Usuario usuario;
74
        private Perfil perfilSelecionado;
170 espaco 75
        private Papel papelSelecionado;
106 espaco 76
        private Loja lojaSelecionada;
77
        private Funcionario funcionario;
78
        private Vendedor vendedor;
79
        private Fornecedor fornecedor;
80
        private List<Pessoa> listaPessoasJuridicas;
81
 
82
        @Inject
83
        public PessoaBean(PessoaConsultaPorDemanda lazy, PessoaService pessoaService, UsuarioService usuarioService,
84
                        FuncionarioService funcionarioService, VendedorService vendedorService, FornecedorService fornecedorService) {
85
                this.lazy = lazy;
86
                this.pessoaService = pessoaService;
87
                this.usuarioService = usuarioService;
88
                this.funcionarioService = funcionarioService;
89
                this.vendedorService = vendedorService;
90
                this.fornecedorService = fornecedorService;
91
        }
92
 
93
        @Override
94
        public void preCarregamento() {
95
                parametrosConsultaPessoaDTO = new ParametrosConsultaPessoaDTO();
96
                parametrosConsultaPessoaDTO.setEntidade(new Pessoa());
97
                prepararConsultaDemanda();
98
                limparEntidade();
99
        }
100
 
101
        @Override
102
        public void limparEntidade() {
103
                Pessoa pessoa = new Pessoa();
104
                setEnderecos(new ArrayList<Endereco>());
105
                setListaDadosBancarios(new ArrayList<DadosBancarios>());
106
                setEntidade(pessoa);
107
                setUsuario(null);
108
                setFuncionario(null);
109
                setVendedor(null);
110
                setFornecedor(null);
111
        }
112
 
113
        @Override
114
        public GenericService<Pessoa> getService() {
115
                return pessoaService;
116
        }
117
 
118
        @Override
119
        public Pessoa getEntidade() {
120
                return entidade;
121
        }
122
 
123
        @Override
124
        public void preConsultar() {
125
                setTipoOperacao(TipoOperacao.CONSULTAR);
126
        }
127
 
128
        @Override
129
        public Pessoa getId() {
130
                return getEntidade();
131
        }
132
 
133
        public TipoRegimeTributario[] getTiposRegimeTributario() {
134
                return TipoRegimeTributario.values();
135
        }
136
 
137
        public TipoComissionamento[] getTiposComissionamento() {
470 blopes 138
                return TipoComissionamento.values();   
106 espaco 139
        }
140
 
141
        public TipoEstadoCivil[] getTiposEstadoCivil() {
142
                return TipoEstadoCivil.values();
143
        }
144
 
145
        public TipoRacaCor[] getTiposRacaCor() {
146
                return TipoRacaCor.values();
147
        }
148
 
149
        public TipoEscolaridade[] getTiposEscolaridade() {
150
                return TipoEscolaridade.values();
151
        }
152
 
470 blopes 153
        public TipoInscricaoEstadual[] getTiposInscricaoEstadual() {
154
                return TipoInscricaoEstadual.values();
155
        }
156
 
106 espaco 157
        public Endereco getEndereco() {
158
                return endereco;
159
        }
160
        public void setEndereco(Endereco endereco) {
161
                this.endereco = endereco;
162
        }
163
 
164
        public List<Endereco> getEnderecos() {
165
                return enderecos;
166
        }
167
        public void setEnderecos(List<Endereco> enderecos) {
168
                this.enderecos = enderecos;
169
        }
170
 
171
        public DadosBancarios getDadosBancarios() {
172
                return dadosBancarios;
173
        }
174
        public void setDadosBancarios(DadosBancarios dadosBancarios) {
175
                this.dadosBancarios = dadosBancarios;
176
        }
177
 
178
        public List<DadosBancarios> getListaDadosBancarios() {
179
                return listaDadosBancarios;
180
        }
181
        public void setListaDadosBancarios(List<DadosBancarios> listaDadosBancarios) {
182
                this.listaDadosBancarios = listaDadosBancarios;
183
        }
184
 
185
        public Usuario getUsuario() {
186
                return usuario;
187
        }
188
        public void setUsuario(Usuario usuario) {
189
                this.usuario = usuario;
190
        }
191
 
192
        public Perfil getPerfilSelecionado() {
193
                return perfilSelecionado;
194
        }
195
        public void setPerfilSelecionado(Perfil perfilSelecionado) {
196
                this.perfilSelecionado = perfilSelecionado;
197
        }
198
 
170 espaco 199
        public Papel getPapelSelecionado() {
200
                return papelSelecionado;
201
        }
202
        public void setPapelSelecionado(Papel papelSelecionado) {
203
                this.papelSelecionado = papelSelecionado;
204
        }
205
 
106 espaco 206
        public Loja getLojaSelecionada() {
207
                return lojaSelecionada;
208
        }
209
        public void setLojaSelecionada(Loja lojaSelecionada) {
210
                this.lojaSelecionada = lojaSelecionada;
211
        }
212
 
213
        public Funcionario getFuncionario() {
214
                return funcionario;
215
        }
216
        public void setFuncionario(Funcionario funcionario) {
217
                this.funcionario = funcionario;
218
        }
219
 
220
        public Vendedor getVendedor() {
221
                return vendedor;
222
        }
223
        public void setVendedor(Vendedor vendedor) {
224
                this.vendedor = vendedor;
225
        }
226
 
227
        public Fornecedor getFornecedor() {
228
                return fornecedor;
229
        }
230
        public void setFornecedor(Fornecedor fornecedor) {
231
                this.fornecedor = fornecedor;
232
        }
233
 
234
        public ParametrosConsultaPessoaDTO getParametrosConsultaPessoaDTO() {
235
                return parametrosConsultaPessoaDTO;
236
        }
237
        public void setParametrosConsultaPessoaDTO(ParametrosConsultaPessoaDTO parametrosConsultaPessoaDTO) {
238
                this.parametrosConsultaPessoaDTO = parametrosConsultaPessoaDTO;
239
        }
240
 
241
        public PessoaConsultaPorDemanda getLazy() {
242
                return lazy;
243
        }
244
        public void setLazy(PessoaConsultaPorDemanda lazy) {
245
                this.lazy = lazy;
246
        }
247
        public void prepararConsultaDemanda() {
248
                lazy.setarParametrosConsulta(getParametrosConsultaPessoaDTO());
249
        }
250
 
251
        public List<Pessoa> getListaPessoasJuridicas() {
252
                if (VerificadorUtil.estaNuloOuVazio(listaPessoasJuridicas)) {
253
                        setListaPessoasJuridicas(pessoaService.consultarPessoasJuridicas());
254
                }
255
                return listaPessoasJuridicas;
256
        }
257
        public void setListaPessoasJuridicas(List<Pessoa> listaPessoasJuridicas) {
258
                this.listaPessoasJuridicas = listaPessoasJuridicas;
259
        }
260
 
261
        @Override
262
        protected void modificarEntidadeAntesDaOperacao() {
263
                getEntidade().setEnderecos(new HashSet<Endereco>(getEnderecos()));
264
                getEntidade().setDadosBancarios(new HashSet<DadosBancarios>(getListaDadosBancarios()));
265
        }
266
 
267
        @Override
268
        public void cadastrar(final Pessoa pessoa) {
269
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
270
                        public void execute() {
271
                                modificarEntidadeAntesDaOperacao();
272
                                getService().cadastrar(pessoa);
273
                                persistirUsuario(pessoa);
274
                                persistirFuncionario(pessoa);
275
                                persistirVendedor(pessoa);
276
                                persistirFornecedor(pessoa);
277
                                limparEntidade();
278
                                modificarEntidadeDepoisDaOperacao();
279
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO));
280
                        }
281
                });
282
        }
283
 
284
        @Override
285
        public void alterar(final Pessoa pessoa) {
286
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
287
                        public void execute() {
288
                                modificarEntidadeAntesDaOperacao();
289
                                getService().alterar(pessoa);
290
                                persistirUsuario(pessoa);
291
                                persistirFuncionario(pessoa);
292
                                persistirVendedor(pessoa);
293
                                persistirFornecedor(pessoa);
294
                                limparEntidade();
295
                                modificarEntidadeDepoisDaOperacao();
296
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO));
297
                        }
298
                });
299
        }
300
 
301
        private void persistirUsuario(Pessoa pessoa) {
302
                if (VerificadorUtil.naoEstaNulo(getUsuario())) {
303
                        if (VerificadorUtil.estaNulo(getUsuario().getSequencial())) {
304
                                getUsuario().setPessoa(pessoa);
305
                                getUsuario().setAtivo(true);
306
                                usuarioService.cadastrar(getUsuario());
307
                        } else {
308
                                usuarioService.alterar(getUsuario());
309
                        }
310
                }
311
        }
312
 
313
        private void persistirFuncionario(Pessoa pessoa) {
314
                if (VerificadorUtil.naoEstaNulo(getFuncionario())) {
315
                        if (VerificadorUtil.estaNulo(getFuncionario().getSequencial())) {
316
                                getFuncionario().setPessoa(pessoa);
317
                                getFuncionario().setAtivo(true);
318
                                funcionarioService.cadastrar(getFuncionario());
319
                        } else {
320
                                funcionarioService.alterar(getFuncionario());
321
                        }
322
                }
323
        }
324
 
325
        private void persistirVendedor(Pessoa pessoa) {
326
                if (VerificadorUtil.naoEstaNulo(getVendedor())) {
327
                        if (VerificadorUtil.estaNulo(getVendedor().getSequencial())) {
328
                                getVendedor().setPessoa(pessoa);
329
                                getVendedor().setAtivo(true);
330
                                vendedorService.cadastrar(getVendedor());
331
                        } else {
332
                                vendedorService.alterar(getVendedor());
333
                        }
334
                }
335
        }
336
 
337
        private void persistirFornecedor(Pessoa pessoa) {
338
                if (VerificadorUtil.naoEstaNulo(getFornecedor())) {
339
                        if (VerificadorUtil.estaNulo(getFornecedor().getSequencial())) {
340
                                getFornecedor().setPessoa(pessoa);
341
                                getFornecedor().setAtivo(true);
342
                                fornecedorService.cadastrar(getFornecedor());
343
                        } else {
344
                                fornecedorService.alterar(getFornecedor());
345
                        }
346
                }
347
        }
348
 
349
        /***************************************************************/
350
 
351
        @Override
352
        public void preDetalhar(Pessoa pessoa) {
353
                detalharPessoa(pessoa);
354
                setTipoOperacao(TipoOperacao.DETALHAR);
355
        }
356
 
357
        @Override
358
        public void preAlterar(Pessoa pessoa) {
359
                detalharPessoa(pessoa);
360
                setTipoOperacao(TipoOperacao.ALTERAR);
361
        }
362
 
363
        public void detalharPessoa(Pessoa pessoa) {
364
                limparEntidade();
365
                setEntidade(pessoaService.detalharPessoa(pessoa));
366
                setEnderecos(new ArrayList<>(getEntidade().getEnderecos()));
367
                setListaDadosBancarios(new ArrayList<>(getEntidade().getDadosBancarios()));
368
                try {setUsuario(usuarioService.consultarUsuarioPorPessoa(pessoa));} catch (Exception e) {}
369
                try {setFuncionario(funcionarioService.consultarFuncionarioPorPessoa(pessoa));} catch (Exception e) {}
370
                try {setVendedor(vendedorService.consultarVendedorPorPessoa(pessoa));} catch (Exception e) {}
371
                try {setFornecedor(fornecedorService.consultarFornecedorPorPessoa(pessoa));} catch (Exception e) {}
372
        }
373
 
374
        public void limparEndereco() {
375
                setEndereco(new Endereco());
376
        }
377
 
378
        public void limparDadoBancario() {
379
                setDadosBancarios(new DadosBancarios());
380
        }
381
 
382
        public void cadastrarEndereco() {
383
                getEndereco().setPessoa(getEntidade());
384
                getEndereco().setAtivo(true);
385
                getEnderecos().add(getEndereco());
386
                adicionandoParametroArgsConfirmandoAcao(true);
387
        }
388
 
389
        public void alterarEndereco() {
390
                removerEndereco(getEndereco());
391
                getEnderecos().add(getEndereco());
392
                adicionandoParametroArgsConfirmandoAcao(true);
393
        }
394
 
395
        public void removerEndereco(Endereco endereco) {
396
                getEnderecos().remove(getEnderecos().indexOf(endereco));
397
        }
398
 
399
        public void cadastrarDadosBancarios() {
400
                getDadosBancarios().setPessoa(getEntidade());
401
                getDadosBancarios().setAtivo(true);
402
                getListaDadosBancarios().add(getDadosBancarios());
403
                adicionandoParametroArgsConfirmandoAcao(true);
404
        }
405
 
406
        public void alterarDadosBancarios() {
407
                removerDadosBancarios(getDadosBancarios());
408
                getListaDadosBancarios().add(getDadosBancarios());
409
                adicionandoParametroArgsConfirmandoAcao(true);
410
        }
411
 
412
        public void removerDadosBancarios(DadosBancarios dadosBancarios) {
413
                getListaDadosBancarios().remove(getListaDadosBancarios().indexOf(dadosBancarios));
414
        }
415
 
170 espaco 416
        public void limparPapel() {
417
                setPapelSelecionado(null);
418
        }
419
 
106 espaco 420
        public void limparPerfil() {
421
                setPerfilSelecionado(null);
422
        }
423
 
170 espaco 424
        public void adicionarPapel() {
425
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
426
                        public void execute() {
427
                                if (VerificadorUtil.estaNulo(getPapelSelecionado())) {
428
                                        throw new NegocioException("Selecione o papel");
429
                                }
430
                                PessoaPapel pessoaPapel = new PessoaPapel();
431
                                pessoaPapel.setPessoa(getEntidade());
432
                                pessoaPapel.setPapel(getPapelSelecionado());
433
 
434
                                if (VerificadorUtil.estaNulo(getEntidade().getPapeis())) {
435
                                        getEntidade().setPapeis(new HashSet<PessoaPapel>());
436
                                }
437
 
438
                                getEntidade().getPapeis().add(pessoaPapel);
439
                                adicionandoParametroArgsConfirmandoAcao(true);
440
                        }
441
                });
442
        }
443
 
444
        public void removerPapel(PessoaPapel pessoaPapel) {
445
                getEntidade().getPapeis().remove(pessoaPapel);
446
        }
447
 
106 espaco 448
        public void adicionarPerfil() {
449
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
450
                        public void execute() {
451
                                if (VerificadorUtil.estaNulo(getPerfilSelecionado())) {
452
                                        throw new NegocioException("Selecione o perfil");
453
                                }
454
                                UsuarioPerfil usuarioPerfil = new UsuarioPerfil();
455
                                usuarioPerfil.setPerfil(getPerfilSelecionado());
456
                                usuarioPerfil.setUsuario(getUsuario());
457
                                if (VerificadorUtil.estaNulo(getUsuario().getPerfis())) {
458
                                        getUsuario().setPerfis(new HashSet<UsuarioPerfil>());
459
                                }
460
                                getUsuario().getPerfis().add(usuarioPerfil);
461
                                adicionandoParametroArgsConfirmandoAcao(true);
462
                        }
463
                });
464
        }
465
 
466
        public void removerPerfil(UsuarioPerfil usuarioPerfil) {
467
                getUsuario().getPerfis().remove(usuarioPerfil);
468
        }
469
 
470
        public void adicionarLoja() {
471
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
472
                        public void execute() {
473
                                if (VerificadorUtil.estaNulo(getLojaSelecionada())) {
474
                                        throw new NegocioException("Selecione a loja");
475
                                }
476
                                UsuarioLoja usuarioLoja = new UsuarioLoja();
477
                                usuarioLoja.setLoja(getLojaSelecionada());
478
                                usuarioLoja.setUsuario(getUsuario());
479
                                if (VerificadorUtil.estaNulo(getUsuario().getLojas())) {
480
                                        getUsuario().setLojas(new HashSet<UsuarioLoja>());
481
                                }
482
                                getUsuario().getLojas().add(usuarioLoja);
483
                                adicionandoParametroArgsConfirmandoAcao(true);
484
                        }
485
                });
486
        }
487
 
488
        public void removerLoja(UsuarioLoja usuarioLoja) {
489
                getUsuario().getLojas().remove(usuarioLoja);
490
        }
491
 
492
        public void limparLoja() {
493
                setLojaSelecionada(null);
494
        }
495
 
496
        public void alterarSenhaUsuario() {
497
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
498
                        public void execute() {
499
                                usuarioService.alterarSenhaUsuario(getUsuario());
500
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
501
                        }
502
                });
503
        }
504
 
505
        public void iniciarUsuario() {
506
                setUsuario(new Usuario());
507
        }
508
 
509
        public void iniciarFuncionario() {
510
                setFuncionario(new Funcionario());
511
        }
512
 
513
        public void iniciarVendedor() {
514
                setVendedor(new Vendedor());
515
        }
516
 
517
        public void iniciarFornecedor() {
518
                setFornecedor(new Fornecedor());
519
        }
520
 
521
        public Funcionario consultarFuncionarioPorPessoa(Pessoa pessoa) {
522
                return funcionarioService.consultarFuncionarioPorPessoa(pessoa);
523
        }
524
 
324 espaco 525
 
106 espaco 526
        public StreamedContent emitirFichaColaboradorEsocial() throws Exception {
527
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirFichaColaboradorEsocial((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
528
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("doc"), "formulario_esocial.doc");
529
        }
530
 
324 espaco 531
        public StreamedContent emitirSolicitacaoExameAdmissional() throws Exception {
532
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirSolicitacaoExameAdmissional((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
106 espaco 533
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("docx"), "exameAdmissional.docx");
534
        }
535
 
324 espaco 536
        public StreamedContent emitirSolicitacaoExameDemissional() throws Exception {
537
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirSolicitacaoExameDemissional((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
106 espaco 538
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("docx"), "exameDemissional.docx");
539
        }
540
 
324 espaco 541
        public StreamedContent emitirSolicitacaoExamePeriodico() throws Exception {
542
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirSolicitacaoExamePeriodico((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
543
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("docx"), "examePeriodico.docx");
544
        }
545
 
546
        public StreamedContent emitirSolicitacaoAberturaContaBancaria() throws Exception {
547
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirSolicitacaoAberturaContaBancaria((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
548
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("docx"), "aberturaContaBancaria.docx");
549
        }
550
 
551
        public StreamedContent emitirAdesaoValeTransporte() throws Exception {
552
                ByteArrayInputStream input = new ByteArrayInputStream(pessoaService.emitirAdesaoValeTransporte((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
553
                return new DefaultStreamedContent(input, ArquivoUtil.retornarContentTypeArquivo("docx"), "adesaoValeTransporte.docx");
554
        }
555
 
106 espaco 556
}