Subversion Repositories Integrator Subversion

Rev

Rev 477 | Rev 480 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
353 espaco 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
468 blopes 4
import java.util.List;
353 espaco 5
 
6
import javax.inject.Inject;
7
import javax.inject.Named;
8
 
414 espaco 9
import org.primefaces.model.StreamedContent;
353 espaco 10
import org.springframework.context.annotation.Scope;
11
 
12
import br.com.ec.controller.consultademanda.NotaFiscalConsultaPorDemanda;
13
import br.com.ec.core.generic.GenericService;
474 blopes 14
import br.com.ec.core.util.VerificadorUtil;
468 blopes 15
import br.com.ec.domain.dto.CompraProdutoDTO;
462 blopes 16
import br.com.ec.domain.dto.NotaFiscalDTO;
17
import br.com.ec.domain.dto.NotaFiscalProdutoDTO;
18
import br.com.ec.domain.dto.ProdutoDTO;
353 espaco 19
import br.com.ec.domain.dto.consulta.ParametrosConsultaNotaFiscal;
20
import br.com.ec.domain.model.NotaFiscal;
449 blopes 21
import br.com.ec.domain.model.Pessoa;
477 blopes 22
import br.com.ec.domain.model.Transportadora;
474 blopes 23
import br.com.ec.domain.model.Transporte;
413 espaco 24
import br.com.ec.domain.model.Venda;
465 blopes 25
import br.com.ec.domain.model.nfe.TipoModeloNotaFiscal;
353 espaco 26
import br.com.ec.domain.model.nfe.TipoNotaFiscal;
474 blopes 27
import br.com.ec.domain.model.tipos.TipoModalidadeFrete;
468 blopes 28
import br.com.ec.domain.service.CompraProdutoService;
414 espaco 29
import br.com.ec.domain.service.EmissorRelatorioService;
462 blopes 30
import br.com.ec.domain.service.NotaFiscalProdutoService;
353 espaco 31
import br.com.ec.domain.service.NotaFiscalService;
462 blopes 32
import br.com.ec.domain.service.ProdutoService;
353 espaco 33
import br.com.ec.web.exception.VerificadorLancamentoException;
34
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
446 blopes 35
import br.com.ec.web.exception.VerificadorLancamentoException.CommandRelatorioStreamedContent;
353 espaco 36
import br.com.ec.web.generic.AbstractBean;
37
import br.com.ec.web.message.LancadorMensagem;
38
import br.com.ec.web.util.TipoOperacao;
39
 
40
@Named
41
@Scope("view")
42
public class NotaFiscalBean extends AbstractBean<NotaFiscal> implements Serializable {
43
 
44
        private static final long serialVersionUID = 1L;
45
 
467 blopes 46
        private String statusSefaz = "";
353 espaco 47
 
48
        private ParametrosConsultaNotaFiscal parametrosConsultaNotaFiscal;
49
        private NotaFiscalConsultaPorDemanda lazy;
50
 
51
        private Long sequencialVendaParaVinculo;
446 blopes 52
        private StreamedContent danfeNfePreVisualizacao;
414 espaco 53
        private StreamedContent danfeNfe;
449 blopes 54
 
462 blopes 55
        private String codigoProdutoParaVinculoNotaFiscal = "";
56
        private Integer quantidadeProdutoParaVinculoNotaFiscal = 0;
57
        private ProdutoDTO produtoDTOParaVinculoNotaFiscal;
468 blopes 58
        private CompraProdutoDTO compraProdutoDTOParaVinculoNotaFiscal;
59
        private List<CompraProdutoDTO> listaCompraProdutoDTOParaVinculoNotaFiscal;
462 blopes 60
 
61
        private String chaveNotaFiscalParaReferenciaNotaFiscal = "";
62
        private NotaFiscalDTO notaFiscalDTOParaReferenciaNotaFiscal;
63
 
467 blopes 64
        private NotaFiscalService notaFiscalService;
65
        private NotaFiscalProdutoService notaFiscalProdutoService;
66
        private ProdutoService produtoService;
468 blopes 67
        private CompraProdutoService compraProdutoService;
467 blopes 68
        private EmissorRelatorioService emissorRelatorioService;
69
 
353 espaco 70
        @Inject
462 blopes 71
        public NotaFiscalBean(NotaFiscalConsultaPorDemanda lazy, NotaFiscalService notaFiscalService, NotaFiscalProdutoService notaFiscalProdutoService,
472 blopes 72
                        ProdutoService produtoService, CompraProdutoService compraProdutoService,
468 blopes 73
                        EmissorRelatorioService emissorRelatorioService) {
353 espaco 74
                this.lazy = lazy;
75
                this.notaFiscalService = notaFiscalService;
462 blopes 76
                this.notaFiscalProdutoService = notaFiscalProdutoService;
77
                this.produtoService = produtoService;
468 blopes 78
                this.compraProdutoService = compraProdutoService;
414 espaco 79
                this.emissorRelatorioService = emissorRelatorioService;
353 espaco 80
        }
81
 
82
        @Override
83
        public void preCarregamento() {
84
                parametrosConsultaNotaFiscal = new ParametrosConsultaNotaFiscal();
85
                prepararConsultaDemanda();
86
                limparEntidade();
87
        }
88
 
89
        @Override
90
        public void limparEntidade() {
91
                setEntidade(new NotaFiscal());
92
        }
93
 
94
        @Override
95
        public GenericService<NotaFiscal> getService() {
96
                return notaFiscalService;
97
        }
98
 
99
        @Override
100
        public NotaFiscal getEntidade() {
101
                return entidade;
102
        }
103
 
104
        @Override
105
        public void preConsultar() {
106
                setTipoOperacao(TipoOperacao.CONSULTAR);
107
        }
449 blopes 108
 
474 blopes 109
        @Override
110
        public void preAlterar(NotaFiscal notaFiscal) {
111
                if (VerificadorUtil.estaNulo(notaFiscal.getTransporte())) {
112
                        notaFiscal.setTransporte(new Transporte());
113
                }
114
                super.preAlterar(notaFiscal);
115
        }
116
 
449 blopes 117
        /*
353 espaco 118
        @Override
449 blopes 119
        public void preAlterar(NotaFiscal notaFiscal) {
120
                NotaFiscal notaFiscalDetalhada = notaFiscalService.detalhar(notaFiscal.getSequencial());
121
                super.preAlterar(notaFiscalDetalhada);
122
        }
123
        */
124
 
125
        @Override
353 espaco 126
        public NotaFiscal getId() {
127
                return getEntidade();
128
        }
129
 
130
        public ParametrosConsultaNotaFiscal getParametrosConsultaNotaFiscal() {
131
                return parametrosConsultaNotaFiscal;
132
        }
133
        public void setParametrosConsultaNotaFiscal(ParametrosConsultaNotaFiscal parametrosConsultaNotaFiscal) {
134
                this.parametrosConsultaNotaFiscal = parametrosConsultaNotaFiscal;
135
        }
136
 
137
        public NotaFiscalConsultaPorDemanda getLazy() {
138
                return lazy;
139
        }
140
        public void setLazy(NotaFiscalConsultaPorDemanda lazy) {
141
                this.lazy = lazy;
142
        }
143
        public void prepararConsultaDemanda() {
144
                lazy.setarParametrosConsulta(getParametrosConsultaNotaFiscal());
145
        }
146
 
147
        public TipoNotaFiscal[] getTiposNotaFiscal() {
148
                return TipoNotaFiscal.values();
149
        }
150
 
474 blopes 151
        public TipoModalidadeFrete[] getTiposModalidadeFrete() {
152
                return TipoModalidadeFrete.values();
153
        }
154
 
353 espaco 155
        public Long getSequencialVendaParaVinculo() {
156
                return sequencialVendaParaVinculo;
157
        }
158
        public void setSequencialVendaParaVinculo(Long sequencialVendaParaVinculo) {
159
                this.sequencialVendaParaVinculo = sequencialVendaParaVinculo;
160
        }
161
 
446 blopes 162
        public StreamedContent getDanfeNfePreVisualizacao() {
163
                return danfeNfePreVisualizacao;
164
        }
165
        public void setDanfeNfePreVisualizacao(StreamedContent danfeNfePreVisualizacao) {
166
                this.danfeNfePreVisualizacao = danfeNfePreVisualizacao;
167
        }
168
 
414 espaco 169
        public StreamedContent getDanfeNfe() {
170
                return danfeNfe;
171
        }
172
        public void setDanfeNfe(StreamedContent danfeNfe) {
173
                this.danfeNfe = danfeNfe;
174
        }
175
 
462 blopes 176
        public String getCodigoProdutoParaVinculoNotaFiscal() {
177
                return codigoProdutoParaVinculoNotaFiscal;
178
        }
179
        public void setCodigoProdutoParaVinculoNotaFiscal(String codigoProdutoParaVinculoNotaFiscal) {
180
                this.codigoProdutoParaVinculoNotaFiscal = codigoProdutoParaVinculoNotaFiscal;
181
        }
182
 
183
        public Integer getQuantidadeProdutoParaVinculoNotaFiscal() {
184
                return quantidadeProdutoParaVinculoNotaFiscal;
185
        }
186
        public void setQuantidadeProdutoParaVinculoNotaFiscal(Integer quantidadeProdutoParaVinculoNotaFiscal) {
187
                this.quantidadeProdutoParaVinculoNotaFiscal = quantidadeProdutoParaVinculoNotaFiscal;
188
        }
189
 
190
        public ProdutoDTO getProdutoDTOParaVinculoNotaFiscal() {
191
                return produtoDTOParaVinculoNotaFiscal;
192
        }
193
        public void setProdutoDTOParaVinculoNotaFiscal(ProdutoDTO produtoDTOParaVinculoNotaFiscal) {
194
                this.produtoDTOParaVinculoNotaFiscal = produtoDTOParaVinculoNotaFiscal;
195
        }
196
 
468 blopes 197
        public CompraProdutoDTO getCompraProdutoDTOParaVinculoNotaFiscal() {
198
                return compraProdutoDTOParaVinculoNotaFiscal;
199
        }
200
        public void setCompraProdutoDTOParaVinculoNotaFiscal(CompraProdutoDTO compraProdutoDTOParaVinculoNotaFiscal) {
201
                this.compraProdutoDTOParaVinculoNotaFiscal = compraProdutoDTOParaVinculoNotaFiscal;
202
        }
203
 
204
        public List<CompraProdutoDTO> getListaCompraProdutoDTOParaVinculoNotaFiscal() {
205
                return listaCompraProdutoDTOParaVinculoNotaFiscal;
206
        }
207
        public void setListaCompraProdutoDTOParaVinculoNotaFiscal(List<CompraProdutoDTO> listaCompraProdutoDTOParaVinculoNotaFiscal) {
208
                this.listaCompraProdutoDTOParaVinculoNotaFiscal = listaCompraProdutoDTOParaVinculoNotaFiscal;
209
        }
210
 
462 blopes 211
        public String getChaveNotaFiscalParaReferenciaNotaFiscal() {
212
                return chaveNotaFiscalParaReferenciaNotaFiscal;
213
        }
214
        public void setChaveNotaFiscalParaReferenciaNotaFiscal(String chaveNotaFiscalParaReferenciaNotaFiscal) {
215
                this.chaveNotaFiscalParaReferenciaNotaFiscal = chaveNotaFiscalParaReferenciaNotaFiscal;
216
        }
217
 
218
        public NotaFiscalDTO getNotaFiscalDTOParaReferenciaNotaFiscal() {
219
                return notaFiscalDTOParaReferenciaNotaFiscal;
220
        }
221
        public void setNotaFiscalDTOParaReferenciaNotaFiscal(NotaFiscalDTO notaFiscalDTOParaReferenciaNotaFiscal) {
222
                this.notaFiscalDTOParaReferenciaNotaFiscal = notaFiscalDTOParaReferenciaNotaFiscal;
223
        }
224
 
467 blopes 225
        public String getStatusSefaz() {
226
                return statusSefaz;
227
        }
228
        public void setStatusSefaz(String statusSefaz) {
229
                this.statusSefaz = statusSefaz;
230
        }
231
 
353 espaco 232
        /**************************************************/
233
 
467 blopes 234
        public void atualizarStatusSefaz() {
235
                setStatusSefaz(notaFiscalService.retornarStatusSefaz());
236
        }
237
 
353 espaco 238
        public void desvincularVenda() {
239
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
240
                        public void execute() {
413 espaco 241
                                notaFiscalService.desvincularVenda(getEntidade().getSequencial());
242
                                getEntidade().setVenda(null);
353 espaco 243
                                LancadorMensagem.lancarSucesso("VENDA DESVINCULADA COM SUCESSO");
244
                        }
245
                });
246
        }
247
 
248
        public void vincularVenda() {
249
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
250
                        public void execute() {
413 espaco 251
                                Venda vendaVinculada = notaFiscalService.vincularVenda(getEntidade().getSequencial(), getSequencialVendaParaVinculo());
252
                                getEntidade().setVenda(vendaVinculada);
353 espaco 253
                                LancadorMensagem.lancarSucesso("VENDA VINCULADA COM SUCESSO");
254
                        }
255
                });
256
        }
257
 
414 espaco 258
        public void emitirDanfeNfe(Long sequencialNotaFiscal) {
447 blopes 259
                setDanfeNfePreVisualizacao(notaFiscalService.gerarDanfeNfePreVisualizacao(sequencialNotaFiscal));
414 espaco 260
                setDanfeNfe(notaFiscalService.gerarDanfeNfe(sequencialNotaFiscal));
446 blopes 261
        }
262
 
263
        public void emitirDanfeNfePreVisualizacao(Long sequencialNotaFiscal) {
264
                setDanfeNfePreVisualizacao(notaFiscalService.gerarDanfeNfePreVisualizacao(sequencialNotaFiscal));
265
                setDanfeNfe(notaFiscalService.gerarDanfeNfe(sequencialNotaFiscal));
414 espaco 266
                /*
267
                return new VerificadorLancamentoException().verificarLancamentoException(new CommandRelatorioStreamedContent() {
268
                        @Override
269
                        public StreamedContent execute() {
270
                                return notaFiscalService.gerarDanfeNfe(getEntidade().getSequencial());
271
                        }
272
                });
273
                */
274
        }
275
 
446 blopes 276
        public StreamedContent downloadNotaFiscal() {
277
                return new VerificadorLancamentoException().verificarLancamentoException(new CommandRelatorioStreamedContent() {
278
                        @Override
279
                        public StreamedContent execute() {
280
                                return getDanfeNfe();
281
                        }
282
                });
283
        }
284
 
425 espaco 285
        public void emitirDanfeNfeTeste() {
286
                Long sequencialNotaFiscal = new Long(168722);
446 blopes 287
                setDanfeNfePreVisualizacao(notaFiscalService.gerarDanfeNfePreVisualizacao(sequencialNotaFiscal));
425 espaco 288
                setDanfeNfe(notaFiscalService.gerarDanfeNfe(sequencialNotaFiscal));
289
        }
290
 
478 blopes 291
        public void visualizarDanfe() {
292
                Long sequencialNotaFiscal = getEntidade().getSequencial();
293
                setDanfeNfePreVisualizacao(notaFiscalService.gerarDanfeNfePreVisualizacao(sequencialNotaFiscal));
294
        }
295
 
296
        public StreamedContent downloadNotaFiscalPreVisualizada() {
297
                return new VerificadorLancamentoException().verificarLancamentoException(new CommandRelatorioStreamedContent() {
298
                        @Override
299
                        public StreamedContent execute() {
300
                                return getDanfeNfePreVisualizacao();
301
                        }
302
                });
303
        }
304
 
449 blopes 305
        public void selecionarEmitente(final Pessoa pessoa) {
306
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
307
                        public void execute() {
308
                                getEntidade().setPessoaEmitente(pessoa);
309
                                adicionandoParametroArgsConfirmandoAcao(true);
310
                        }
311
                });
312
        }
313
 
314
        public void retirarEmitente() {
315
                getEntidade().setPessoaEmitente(null);
316
        }
317
 
318
        public void selecionarDestinatario(final Pessoa pessoa) {
319
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
320
                        public void execute() {
321
                                getEntidade().setPessoaDestinatario(pessoa);
322
                                adicionandoParametroArgsConfirmandoAcao(true);
323
                        }
324
                });
325
        }
326
 
327
        public void retirarDestinatario() {
328
                getEntidade().setPessoaDestinatario(null);
329
        }
330
 
465 blopes 331
        /************************************/
332
        /** REMESSA **/
333
        /************************************/
334
 
335
        public void prepararNotaFiscalRemessa() {
336
                preCadastrar();
337
                getEntidade().setTipoModeloNotaFiscal(TipoModeloNotaFiscal.MODELO_NFE_55.getValor());
338
                getEntidade().setTipoNotaFiscal(TipoNotaFiscal.NFE_REMESSA.getValor());
339
        }
340
 
341
        public void emitirNotaFiscalRemessa() {
342
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
343
                        public void execute() {
344
                                notaFiscalService.emitirNotaFiscalRemessa(getEntidade());
345
                                limparEntidade();
346
                                LancadorMensagem.lancarSucesso("NOTA DE REMESSA EMITIDA COM SUCESSO");
347
                        }
348
                });
349
        }
350
 
449 blopes 351
        public void consultarProdutosVinculados() {
352
                getEntidade().setListaProdutosVinculadosDTO(notaFiscalService.consultarProdutosVinculados(getEntidade().getSequencial()));
353
        }
354
 
468 blopes 355
        public void selecionarCompraProdutoParaVinculoNotaFiscal(CompraProdutoDTO compraProdutoDTO) {
356
                setCompraProdutoDTOParaVinculoNotaFiscal(compraProdutoDTO);
357
        }
358
 
462 blopes 359
        public void excluirVinculoNotaFiscalProduto(NotaFiscalProdutoDTO notaFiscalProdutoDTO) {
360
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
361
                        public void execute() {
362
                                notaFiscalProdutoService.excluirNotaFiscalProduto(notaFiscalProdutoDTO);
363
                                consultarProdutosVinculados();
364
                                LancadorMensagem.lancarSucesso("VÍNCULO EXCLUÍDO COM SUCESSO");
365
                        }
366
                });
367
        }
368
 
369
        public void consultarProdutoParaVinculoNotaFiscal() {
370
                setProdutoDTOParaVinculoNotaFiscal(produtoService.consultarProdutoDTOPorCodigoOuCodigoEAN(getCodigoProdutoParaVinculoNotaFiscal()));
468 blopes 371
                setListaCompraProdutoDTOParaVinculoNotaFiscal(produtoService.consultarComprasDoProduto(getProdutoDTOParaVinculoNotaFiscal().getSequencial()));
462 blopes 372
        }
373
 
374
        public void vinculoProdutoNaNotaFiscal() {
375
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
376
                        public void execute() {
377
                                notaFiscalProdutoService.vinculoProdutoNaNotaFiscal(getEntidade().getSequencial(),
468 blopes 378
                                                getProdutoDTOParaVinculoNotaFiscal().getSequencial(),
379
                                                getCompraProdutoDTOParaVinculoNotaFiscal().getSequencial(),
462 blopes 380
                                                getQuantidadeProdutoParaVinculoNotaFiscal());
381
                                setCodigoProdutoParaVinculoNotaFiscal("");
382
                                setProdutoDTOParaVinculoNotaFiscal(null);
468 blopes 383
                                setCompraProdutoDTOParaVinculoNotaFiscal(null);
462 blopes 384
                                setQuantidadeProdutoParaVinculoNotaFiscal(0);
385
                                consultarProdutosVinculados();
386
                                LancadorMensagem.lancarSucesso("PRODUTO VINCULADO COM SUCESSO");
387
                        }
388
                });
389
        }
390
 
391
        public void consultarNotaFiscalParaReferenciarNotaFiscal() {
392
                setNotaFiscalDTOParaReferenciaNotaFiscal(notaFiscalService.consultarPorChave(getChaveNotaFiscalParaReferenciaNotaFiscal()));
393
        }
394
 
478 blopes 395
        public void gerarDadosAdicionais() {
396
                consultarProdutosVinculados();
397
 
398
                StringBuilder dadosAdicionais = new StringBuilder("");
399
 
400
                // SE FOR REMESSA, ADICIONAR NOTAS FISCAIS REFERENCIADAS
401
                if (getEntidade().ehNotaFiscalDeRemessa()) {
402
                        if (!VerificadorUtil.isListaNulaOuVazia(getEntidade().getListaProdutosVinculadosDTO())) {
403
                                dadosAdicionais.append("Devolução parcial das Notas Fiscais abaixo: <br />");
404
                                for (NotaFiscalProdutoDTO notaFiscalProdutoDTO : getEntidade().getListaProdutosVinculadosDTO()) {
405
//                                      "#{produtoVinculado.compraProdutoDTO.compraDTO.notaFiscalDTO.chave}"
406
                                        NotaFiscalDTO notaFiscalDTOCompra = notaFiscalProdutoDTO.getCompraProdutoDTO().getCompraDTO().getNotaFiscalDTO();
407
                                        if (!dadosAdicionais.toString().contains(notaFiscalDTOCompra.getChave())) {
408
                                                dadosAdicionais.append(notaFiscalDTOCompra.getNumero());
409
                                                dadosAdicionais.append(", Chave de acesso: ");
410
                                                dadosAdicionais.append(notaFiscalDTOCompra.getChave());
411
                                                dadosAdicionais.append(", emitida em ");
412
                                                dadosAdicionais.append(notaFiscalDTOCompra.getDataEmissaoFormatada());
413
                                                dadosAdicionais.append(" | ");
414
                                        }
415
                                }
416
        //                      dadosDevolucao.append("487, Chave de acesso: 35210126965899000170550030000004871684312433, emitida em 11/01/2021 | ");
417
        //                      dadosDevolucao.append("240, Chave de acesso: 35210126965899000170550030000004871684312433, emitida em 11/01/2022 | ");
418
        //                      dadosDevolucao.append("638, Chave de acesso: 35210126965899000170550030000004871684312433, emitida em 11/05/2021 | ");
419
                                dadosAdicionais.append("<br />");
420
                        }
421
                }
422
 
423
                // INFORMAÇÕES DOS TRIBUTOS
424
                dadosAdicionais.append("Total aproximado de tributos: R$ ");
425
                dadosAdicionais.append("X.XXX,XX");
426
                dadosAdicionais.append(" (");
427
                dadosAdicionais.append("XX,XX");
428
                dadosAdicionais.append("%), Federais R$ ");
429
                dadosAdicionais.append("X.XXX,XX");
430
                dadosAdicionais.append(" (");
431
                dadosAdicionais.append("XX,XX");
432
                dadosAdicionais.append("%), Estaduais R$ ");
433
                dadosAdicionais.append("X.XXX,XX");
434
                dadosAdicionais.append(" (");
435
                dadosAdicionais.append("XX,XX");
436
                dadosAdicionais.append("%). Fonte IBPT.<br />");
437
 
438
                // EMAIL DO DESTINATÁRIO
439
//              dadosAdicionais.append("destinatario@empresa.com.br");
440
                dadosAdicionais.append(getEntidade().getPessoaDestinatario().getEmail());
441
 
442
                getEntidade().setDescricaoComplementares(dadosAdicionais.toString());
443
        }
444
 
413 espaco 445
        /*
446
         private StreamedContent chart;
447
         public StreamedContent getChart() {
448
                 return chart;
449
         }
450
         private PieDataset createDataset() {
451
                 DefaultPieDataset dataset = new DefaultPieDataset();
452
                 dataset.setValue("New York", new Double(45.0));
453
                 dataset.setValue("London", new Double(15.0));
454
                 dataset.setValue("Paris", new Double(25.2));
455
                 dataset.setValue("Berlin", new Double(14.8));
456
                 return dataset;
457
         }
458
 
459
         private StreamedContent escala;
460
         public StreamedContent getEscala() {
461
                 return escala;
462
         }
463
 
464
         private StreamedContent escalaPdf;
465
         public StreamedContent getEscalaPdf() {
466
                 return escalaPdf;
467
         }
468
         public String generateRandomIdForNotCaching() {
469
                 return java.util.UUID.randomUUID().toString();
470
         }
471
 
472
         private void criarImagens() {
473
                 try {
474
                         InputStream arquivoPdf = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/imagens/escala-202310.pdf");
475
                         byte[] bytePdf = ArquivoUtil.retornarBytesPassandoInputStream(arquivoPdf);
476
                         ByteArrayOutputStream osPdf = new ByteArrayOutputStream();
477
                         PdfReader reader = new PdfReader(bytePdf);
478
                         escalaPdf = DefaultStreamedContent.builder()
479
                            .contentType("application/pdf")
480
                            .name("escala-202310.pdf")
481
                            .stream(() -> {
482
                                                try {
483
                                                        return ArquivoUtil.gerarInputStreamDeArquivo(bytePdf);
484
                                                } catch (IOException e1) {
485
                                                        e1.printStackTrace();
486
                                                }
487
                                                return arquivoPdf;
488
                                        })
489
                            .build();
490
 
491
 
492
                         InputStream arquivo = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/imagens/escala-202310.png");
493
                         BufferedImage imagem = ImageIO.read(arquivo);
494
                         ByteArrayOutputStream os = new ByteArrayOutputStream();
495
             ImageIO.write(imagem, "png", os);
496
                         escala = DefaultStreamedContent.builder()
497
                            .contentType("image/png")
498
                            .stream(() -> new ByteArrayInputStream(os.toByteArray()))
499
                            .build();
500
 
501
 
502
                        chart = DefaultStreamedContent.builder()
503
                            .contentType("image/png")
504
                            .stream(() -> {
505
                                try {
506
                                    JFreeChart jfreechart = ChartFactory.createPieChart("Cities", createDataset(), true, true, false);
507
                                    File chartFile = new File("dynamichart");
508
                                    ChartUtilities.saveChartAsPNG(chartFile, jfreechart, 375, 300);
509
                                    return new FileInputStream(chartFile);
510
                                }
511
                                catch (Exception e) {
512
                                    e.printStackTrace();
513
                                    return null;
514
                                }
515
                            })
516
                            .build();
517
                 } catch (IOException e1) {
518
                                // TODO Auto-generated catch block
519
                                e1.printStackTrace();
520
                        }
521
        }
522
        */
353 espaco 523
}