Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
200 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.core.consulta.ParametrosConsulta;
19
import br.com.ec.core.generic.GenericService;
20
import br.com.ec.core.util.ArquivoUtil;
21
import br.com.ec.core.util.StringUtil;
204 espaco 22
import br.com.ec.core.util.TipoExtensao;
200 espaco 23
import br.com.ec.core.util.VerificadorUtil;
24
import br.com.ec.domain.dto.ParametrosConsultaVendasDTO;
25
import br.com.ec.domain.dto.ParametrosConsultaVendasVivoDTO;
26
import br.com.ec.domain.dto.RankingVendedorDTO;
27
import br.com.ec.domain.model.Avaliacao;
28
import br.com.ec.domain.model.AvaliacaoFuncionario;
29
import br.com.ec.domain.model.AvaliacaoFuncionarioItemAvaliacao;
30
import br.com.ec.domain.model.AvaliacaoLoja;
31
import br.com.ec.domain.model.Funcionario;
32
import br.com.ec.domain.model.ItemAvaliacao;
33
import br.com.ec.domain.model.Loja;
34
import br.com.ec.domain.model.Pessoa;
35
import br.com.ec.domain.model.Vendedor;
36
import br.com.ec.domain.model.Vigencia;
37
import br.com.ec.domain.model.tipos.TipoFaixaComissao;
38
import br.com.ec.domain.service.avaliacao.AvaliacaoService;
39
import br.com.ec.domain.service.avaliacaofuncionario.AvaliacaoFuncionarioService;
40
import br.com.ec.domain.service.avaliacaoloja.AvaliacaoLojaService;
41
import br.com.ec.domain.service.itemavaliacao.ItemAvaliacaoService;
42
import br.com.ec.domain.service.venda.VendaService;
43
import br.com.ec.domain.service.vendavivo.VendaVivoService;
44
import br.com.ec.domain.service.vendedor.VendedorService;
45
import br.com.ec.domain.shared.ConstantesSEC;
46
import br.com.ec.web.exception.VerificadorLancamentoException;
47
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
48
import br.com.ec.web.generic.AbstractBean;
49
import br.com.ec.web.message.LancadorMensagem;
50
import br.com.ec.web.util.TipoOperacao;
51
 
52
@Named
53
@Scope("view")
54
public class AvaliacaoBean extends AbstractBean<Avaliacao> implements Serializable {
55
 
56
        private static final long serialVersionUID = 1L;
57
 
58
        private AvaliacaoService avaliacaoService;
59
        private AvaliacaoFuncionarioService avaliacaoFuncionarioService;
60
        private AvaliacaoLojaService avaliacaoLojaService;
61
        private ItemAvaliacaoService itemAvaliacaoService;
62
        private VendedorService vendedorService;
63
        private VendaService vendaService;
64
        private VendaVivoService vendaVivoService;
65
 
66
        private Avaliacao avaliacaoSelecionado;
67
        private AvaliacaoFuncionario participanteSelecionado;
68
        private AvaliacaoFuncionarioItemAvaliacao itemSelecionado;
69
 
70
        private AvaliacaoLoja lojaParticipanteSelecionada;
71
 
72
        private Avaliacao avaliacaoSelecionadaParaDuplicacao;
73
        private Vigencia vigenciaSelecionadaParaDuplicacao;
74
 
75
        private List<Avaliacao> avaliacoesDivulgadas;
76
        private String reavaliacao;
77
 
78
        @Inject
79
        public AvaliacaoBean(AvaliacaoService avaliacaoService, AvaliacaoFuncionarioService avaliacaoFuncionarioService, AvaliacaoLojaService avaliacaoLojaService,
80
                        ItemAvaliacaoService itemAvaliacaoService, VendedorService vendedorService, VendaService vendaService, VendaVivoService vendaVivoService) {
81
                this.avaliacaoService = avaliacaoService;
82
                this.avaliacaoFuncionarioService = avaliacaoFuncionarioService;
83
                this.avaliacaoLojaService = avaliacaoLojaService;
84
                this.itemAvaliacaoService = itemAvaliacaoService;
85
                this.vendedorService = vendedorService;
86
                this.vendaService = vendaService;
87
                this.vendaVivoService = vendaVivoService;
88
        }
89
 
90
        @Override
91
        public void preCarregamento() {
92
                parametrosConsulta = new ParametrosConsulta<Avaliacao>();
93
                parametrosConsulta.setEntidade(new Avaliacao());
94
                setParticipanteSelecionado(new AvaliacaoFuncionario());
95
        }
96
 
97
        @Override
98
        public void limparEntidade() {
99
                setEntidade(new Avaliacao());
100
        }
101
 
102
        @Override
103
        public GenericService<Avaliacao> getService() {
104
                return avaliacaoService;
105
        }
106
 
107
        @Override
108
        public Avaliacao getEntidade() {
109
                return entidade;
110
        }
111
 
112
        @Override
113
        public Avaliacao getId() {
114
                return getEntidade();
115
        }
116
 
117
        public Avaliacao getAvaliacaoSelecionado() {
118
                return avaliacaoSelecionado;
119
        }
120
        public void setAvaliacaoSelecionado(Avaliacao avaliacaoSelecionado) {
121
                this.avaliacaoSelecionado = avaliacaoSelecionado;
122
        }
123
 
124
        public AvaliacaoFuncionario getParticipanteSelecionado() {
125
                return participanteSelecionado;
126
        }
127
        public void setParticipanteSelecionado(AvaliacaoFuncionario participanteSelecionado) {
128
                this.participanteSelecionado = participanteSelecionado;
129
        }
130
 
131
        public AvaliacaoFuncionarioItemAvaliacao getItemSelecionado() {
132
                return itemSelecionado;
133
        }
134
        public void setItemSelecionado(AvaliacaoFuncionarioItemAvaliacao itemSelecionado) {
135
                this.itemSelecionado = itemSelecionado;
136
        }
137
 
138
        public AvaliacaoLoja getLojaParticipanteSelecionada() {
139
                return lojaParticipanteSelecionada;
140
        }
141
        public void setLojaParticipanteSelecionada(AvaliacaoLoja lojaParticipanteSelecionada) {
142
                this.lojaParticipanteSelecionada = lojaParticipanteSelecionada;
143
        }
144
 
145
        public Avaliacao getAvaliacaoSelecionadaParaDuplicacao() {
146
                return avaliacaoSelecionadaParaDuplicacao;
147
        }
148
        public void setAvaliacaoSelecionadaParaDuplicacao(Avaliacao avaliacaoSelecionadaParaDuplicacao) {
149
                this.avaliacaoSelecionadaParaDuplicacao = avaliacaoSelecionadaParaDuplicacao;
150
        }
151
 
152
        public Vigencia getVigenciaSelecionadaParaDuplicacao() {
153
                return vigenciaSelecionadaParaDuplicacao;
154
        }
155
        public void setVigenciaSelecionadaParaDuplicacao(Vigencia vigenciaSelecionadaParaDuplicacao) {
156
                this.vigenciaSelecionadaParaDuplicacao = vigenciaSelecionadaParaDuplicacao;
157
        }
158
 
159
        public List<Avaliacao> getAvaliacoesDivulgadas() {
160
                if (VerificadorUtil.estaNulo(avaliacoesDivulgadas)) {
161
                        setAvaliacoesDivulgadas(consultarAvaliacoesDivulgadas());
162
                }
163
                return avaliacoesDivulgadas;
164
        }
165
        public void setAvaliacoesDivulgadas(List<Avaliacao> avaliacoesDivulgadas) {
166
                this.avaliacoesDivulgadas = avaliacoesDivulgadas;
167
        }
168
 
169
        public String getReavaliacao() {
170
                return reavaliacao;
171
        }
172
        public void setReavaliacao(String reavaliacao) {
173
                this.reavaliacao = StringUtil.setarUpperCaseComTrim(reavaliacao);
174
        }
175
 
176
        /***************************************************************/
177
 
178
        public TipoFaixaComissao[] getTiposFaixaComissao() {
179
                return TipoFaixaComissao.values();
180
        }
181
 
182
        @Override
183
        public void preDetalhar(Avaliacao avaliacao) {
184
                detalhar(avaliacao);
185
                setTipoOperacao(TipoOperacao.DETALHAR);
186
        }
187
 
188
        @Override
189
        public void preAlterar(Avaliacao avaliacao) {
190
                detalhar(avaliacao);
191
                setTipoOperacao(TipoOperacao.ALTERAR);
192
        }
193
 
194
        public void detalhar(Avaliacao avaliacao) {
195
                setEntidade(avaliacaoService.detalhar(avaliacao));
196
        }
197
 
198
        public void selecionarParticipante(AvaliacaoFuncionario avaliacaoFuncionario) {
199
                setParticipanteSelecionado(avaliacaoFuncionarioService.detalhar(avaliacaoFuncionario));
200
                setItemSelecionado(new AvaliacaoFuncionarioItemAvaliacao());
201
                getParticipanteSelecionado().setValorTotalVendido(consultarVendasDoPeriodo(getParticipanteSelecionado()));
202
                getParticipanteSelecionado().setValorTotalVendidoVivo(consultarVendasVivoDoPeriodo(getParticipanteSelecionado()));
203
        }
204
 
205
        public void selecionarParticipante(Pessoa pessoa, Avaliacao avaliacao) {
206
                setParticipanteSelecionado(avaliacaoFuncionarioService.detalhar(pessoa, avaliacao));
207
                setItemSelecionado(new AvaliacaoFuncionarioItemAvaliacao());
208
                getParticipanteSelecionado().setValorTotalVendido(consultarVendasDoPeriodo(getParticipanteSelecionado()));
209
                getParticipanteSelecionado().setValorTotalVendidoVivo(consultarVendasVivoDoPeriodo(getParticipanteSelecionado()));
210
        }
211
 
212
        public void selecionarLojaParticipante(AvaliacaoLoja avaliacaoLoja) {
213
                setLojaParticipanteSelecionada(avaliacaoLojaService.detalhar(avaliacaoLoja));
214
                getLojaParticipanteSelecionada().setValorTotalVendido(consultarVendasDoPeriodo(getLojaParticipanteSelecionada()));
215
        }
216
 
217
        public void selecionarLojaParticipante(Loja loja, Avaliacao avaliacao) {
218
                setLojaParticipanteSelecionada(avaliacaoLojaService.detalhar(loja, avaliacao));
219
                getLojaParticipanteSelecionada().setValorTotalVendido(consultarVendasDoPeriodo(getLojaParticipanteSelecionada()));
220
        }
221
 
222
        private Double consultarVendasDoPeriodo(AvaliacaoFuncionario avaliacaoFuncionario) {
223
                Vendedor vendedor = vendedorService.consultarVendedorPorPessoa(avaliacaoFuncionario.getFuncionario().getPessoa());
224
                ParametrosConsultaVendasDTO parametrosConsultaVendasDTO = new ParametrosConsultaVendasDTO();
225
                parametrosConsultaVendasDTO.setVendedor(vendedor);
226
                parametrosConsultaVendasDTO.setDataInicial(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataInicio());
227
                parametrosConsultaVendasDTO.setDataFinal(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataFim());
228
                parametrosConsultaVendasDTO.setIndicadorComissionado(true);
229
                return vendaService.obterValorTotalBrutoDeVendasPorLojaEePeriodo(parametrosConsultaVendasDTO);
230
        }
231
 
232
        private Double consultarVendasVivoDoPeriodo(AvaliacaoFuncionario avaliacaoFuncionario) {
233
                Vendedor vendedor = vendedorService.consultarVendedorPorPessoa(avaliacaoFuncionario.getFuncionario().getPessoa());
234
                ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivoDTO = new ParametrosConsultaVendasVivoDTO();
235
                parametrosConsultaVendasVivoDTO.setVendedor(vendedor);
236
                parametrosConsultaVendasVivoDTO.setDataInicial(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataInicio());
237
                parametrosConsultaVendasVivoDTO.setDataFinal(avaliacaoFuncionario.getAvaliacao().getVigencia().getDataFim());
238
                return vendaVivoService.obterValorTotalBrutoDeVendasPorLojaEePeriodo(parametrosConsultaVendasVivoDTO);
239
        }
240
 
241
        private Double consultarVendasDoPeriodo(AvaliacaoLoja avaliacaoLoja) {
242
                ParametrosConsultaVendasDTO parametrosConsultaVendasDTO = new ParametrosConsultaVendasDTO();
243
                parametrosConsultaVendasDTO.setLoja(avaliacaoLoja.getLoja());
244
                parametrosConsultaVendasDTO.setDataInicial(avaliacaoLoja.getAvaliacao().getVigencia().getDataInicio());
245
                parametrosConsultaVendasDTO.setDataFinal(avaliacaoLoja.getAvaliacao().getVigencia().getDataFim());
246
                parametrosConsultaVendasDTO.setIndicadorComissionado(true);
247
                return vendaService.obterValorTotalBrutoDeVendasPorLojaEePeriodo(parametrosConsultaVendasDTO);
248
        }
249
 
250
        public void adicionarParticipante(final Funcionario funcionario) {
251
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
252
                        public void execute() {
253
                                if (VerificadorUtil.estaNuloOuVazio(getEntidade().getParticipantes())) {
254
                                        getEntidade().setParticipantes(new HashSet<AvaliacaoFuncionario>());
255
                                }
256
                                boolean adicionar = true;
257
                                for (AvaliacaoFuncionario participante : getEntidade().getParticipantes()) {
258
                                        if (participante.getFuncionario().equals(funcionario)) {
259
                                                adicionar = false;
260
                                                break;
261
                                        }
262
                                }
263
                                if (adicionar) {
264
                                        AvaliacaoFuncionario avaliacaoFuncionario = new AvaliacaoFuncionario();
265
                                        avaliacaoFuncionario.setFuncionario(funcionario);
266
                                        avaliacaoFuncionario.setAvaliacao(getEntidade());
267
                                        getEntidade().getParticipantes().add(avaliacaoFuncionario);
268
                                        avaliacaoService.alterar(getEntidade());
269
                                        detalhar(getEntidade());
270
                                        LancadorMensagem.lancarSucesso("PARTICIPANTE ADICIONADO COM SUCESSO");
271
                                } else {
272
                                        LancadorMensagem.lancarErro("PARTICIPANTE JÁ FOI ADICIONADO");
273
                                }
274
                        }
275
                });
276
        }
277
 
278
        public void removerParticipante(final AvaliacaoFuncionario avaliacaoFuncionario) {
279
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
280
                        public void execute() {
281
                                if (VerificadorUtil.naoEstaNuloOuVazio(getEntidade().getParticipantes())) {
282
                                        getEntidade().getParticipantes().remove(avaliacaoFuncionario);
283
                                }
284
                                avaliacaoService.alterar(getEntidade());
285
                                detalhar(getEntidade());
286
                                LancadorMensagem.lancarSucesso("PARTICIPANTE REMOVIDO COM SUCESSO");
287
                        }
288
                });
289
        }
290
 
291
        public void alterarParticipante() {
292
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
293
                        public void execute() {
294
                                avaliacaoService.alterar(getEntidade());
295
                                avaliacaoFuncionarioService.alterar(getParticipanteSelecionado());
296
                                detalhar(getEntidade());
297
                                LancadorMensagem.lancarSucesso("PARTICIPANTE ALTERADO COM SUCESSO");
298
                        }
299
                });
300
        }
301
 
302
        public Double consultarValorComissao(AvaliacaoFuncionario avaliacaoFuncionario) {
303
                if (VerificadorUtil.naoEstaNuloOuVazio(avaliacaoFuncionario.getPorcentagemComissao())) {
304
                        return consultarVendasDoPeriodo(avaliacaoFuncionario) * avaliacaoFuncionario.getPorcentagemComissao() / 100;
305
                }
306
                return null;
307
        }
308
 
309
        public void adicionarItem(AvaliacaoFuncionarioItemAvaliacao avaliacaoFuncionarioItemAvaliacao) {
310
                if (VerificadorUtil.estaNuloOuVazio(getParticipanteSelecionado())) {
311
                        getParticipanteSelecionado().getItens().add(avaliacaoFuncionarioItemAvaliacao);
312
                }
313
        }
314
 
315
        public void removerItem(AvaliacaoFuncionarioItemAvaliacao avaliacaoFuncionarioItemAvaliacao) {
316
                if (VerificadorUtil.naoEstaNuloOuVazio(getParticipanteSelecionado())) {
317
                        if (VerificadorUtil.naoEstaNuloOuVazio(getParticipanteSelecionado().getItens())) {
318
                                getParticipanteSelecionado().getItens().remove(avaliacaoFuncionarioItemAvaliacao);
319
                        }
320
                }
321
        }
322
 
323
        public Integer consultarPontuacao(AvaliacaoFuncionario avaliacaoFuncionario) {
324
                try {
325
                        AvaliacaoFuncionario participanteDetalhado = avaliacaoFuncionarioService.detalhar(avaliacaoFuncionario);
326
                        return participanteDetalhado.getPontuacao();
327
                } catch (Exception ex) {}
328
                return null;
329
        }
330
 
331
        public Integer consultarPontuacao(Pessoa pessoa, Avaliacao avaliacao) {
332
                try {
333
                        AvaliacaoFuncionario participanteDetalhado = avaliacaoFuncionarioService.detalhar(pessoa, avaliacao);
334
                        return participanteDetalhado.getPontuacao();
335
                } catch (Exception ex) {}
336
                return null;
337
        }
338
 
339
        public void alterarItensDoParticipante() {
340
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
341
                        public void execute() {
342
                                avaliacaoFuncionarioService.alterar(getParticipanteSelecionado());
343
                                LancadorMensagem.lancarSucesso("AVALIAÇÃO DO PARTICIPANTE ALTERADA COM SUCESSO");
344
                        }
345
                });
346
        }
347
 
348
        public List<ItemAvaliacao> consultarItensAvaliacao() {
349
                return itemAvaliacaoService.consultarTodos(new ItemAvaliacao());
350
        }
351
 
352
        public void adicionarItemAvaliacao() {
353
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
354
                        public void execute() {
355
                                getItemSelecionado().setAvaliacaoFuncionario(getParticipanteSelecionado());
356
                                getParticipanteSelecionado().adicionarItemAvaliacao(getItemSelecionado());
357
                                setItemSelecionado(new AvaliacaoFuncionarioItemAvaliacao());
358
                                LancadorMensagem.lancarSucesso("ITEM DE AVALIAÇÃO ADICIONADO COM SUCESSO");
359
                        }
360
                });
361
        }
362
 
363
        public void adicionarLojaParticipante(final Loja loja) {
364
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
365
                        public void execute() {
366
                                if (VerificadorUtil.estaNuloOuVazio(getEntidade().getLojasParticipantes())) {
367
                                        getEntidade().setLojasParticipantes(new HashSet<AvaliacaoLoja>());
368
                                }
369
                                boolean adicionar = true;
370
                                for (AvaliacaoLoja participante : getEntidade().getLojasParticipantes()) {
371
                                        if (participante.getLoja().equals(loja)) {
372
                                                adicionar = false;
373
                                                break;
374
                                        }
375
                                }
376
                                if (adicionar) {
377
                                        AvaliacaoLoja avaliacaoLoja = new AvaliacaoLoja();
378
                                        avaliacaoLoja.setLoja(loja);
379
                                        avaliacaoLoja.setAvaliacao(getEntidade());
380
                                        getEntidade().getLojasParticipantes().add(avaliacaoLoja);
381
                                        avaliacaoService.alterar(getEntidade());
382
                                        detalhar(getEntidade());
383
                                        LancadorMensagem.lancarSucesso("LOJA PARTICIPANTE ADICIONADA COM SUCESSO");
384
                                } else {
385
                                        LancadorMensagem.lancarErro("LOJA PARTICIPANTE JÁ FOI ADICIONADA");
386
                                }
387
                        }
388
                });
389
        }
390
 
391
        public void removerLojaParticipante(final AvaliacaoLoja avaliacaoLoja) {
392
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
393
                        public void execute() {
394
                                if (VerificadorUtil.naoEstaNuloOuVazio(getEntidade().getLojasParticipantes())) {
395
                                        getEntidade().getLojasParticipantes().remove(avaliacaoLoja);
396
                                }
397
                                avaliacaoService.alterar(getEntidade());
398
                                detalhar(getEntidade());
399
                                LancadorMensagem.lancarSucesso("LOJA PARTICIPANTE REMOVIDA COM SUCESSO");
400
                        }
401
                });
402
        }
403
 
404
        public void alterarLojaParticipante() {
405
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
406
                        public void execute() {
407
                                avaliacaoService.alterar(getEntidade());
408
                                avaliacaoLojaService.alterar(getLojaParticipanteSelecionada());
409
                                detalhar(getEntidade());
410
                                LancadorMensagem.lancarSucesso("LOJA PARTICIPANTE ALTERADA COM SUCESSO");
411
                        }
412
                });
413
        }
414
 
415
        public List<Avaliacao> consultarAvaliacoesDivulgadas() {
416
                return avaliacaoService.consultarAvaliacoesDivulgadas();
417
        }
418
 
419
        public void prepararDuplicacaoAvaliacao(Avaliacao avaliacao) {
420
                setAvaliacaoSelecionadaParaDuplicacao(avaliacaoService.detalhar(avaliacao));
421
        }
422
 
423
        public void duplicarAvaliacao() {
424
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
425
                        public void execute() {
426
                                Avaliacao avaliacaoNova = new Avaliacao();
427
                                avaliacaoNova.setVigencia(vigenciaSelecionadaParaDuplicacao);
428
                                avaliacaoService.cadastrar(avaliacaoNova);
429
 
430
                                List<AvaliacaoFuncionario> participantesNovos = new ArrayList<AvaliacaoFuncionario>();
431
                                for (AvaliacaoFuncionario avaliacaoFuncionario : getAvaliacaoSelecionadaParaDuplicacao().getParticipantesOrdenados()) {
432
                                        AvaliacaoFuncionario avaliacaoFuncionarioNovo = new AvaliacaoFuncionario();
433
                                        avaliacaoFuncionarioNovo.setAvaliacao(avaliacaoNova);
434
                                        avaliacaoFuncionarioNovo.setFuncionario(avaliacaoFuncionario.getFuncionario());
435
                                        avaliacaoFuncionarioNovo.setValorMetaMensal(avaliacaoFuncionario.getValorMetaMensal());
436
                                        avaliacaoFuncionarioNovo.setValorMetaMensalVivo(avaliacaoFuncionario.getValorMetaMensalVivo());
437
                                        participantesNovos.add(avaliacaoFuncionarioNovo);
438
                                }
439
                                avaliacaoNova.getParticipantes().addAll(participantesNovos);
440
 
441
                                List<AvaliacaoLoja> lojasParticipantesNovas = new ArrayList<AvaliacaoLoja>();
442
                                for (AvaliacaoLoja avaliacaoLoja : getAvaliacaoSelecionadaParaDuplicacao().getLojasParticipantesOrdenadas()) {
443
                                        AvaliacaoLoja avaliacaoLojaNovo = new AvaliacaoLoja();
444
                                        avaliacaoLojaNovo.setAvaliacao(avaliacaoNova);
445
                                        avaliacaoLojaNovo.setLoja(avaliacaoLoja.getLoja());
446
                                        avaliacaoLojaNovo.setValorMetaMensal(avaliacaoLoja.getValorMetaMensal());
447
                                        avaliacaoLojaNovo.setValorMargemContribuicao(avaliacaoLoja.getValorMargemContribuicao());
448
                                        lojasParticipantesNovas.add(avaliacaoLojaNovo);
449
                                }
450
                                avaliacaoNova.getLojasParticipantes().addAll(lojasParticipantesNovas);
451
 
452
                                avaliacaoService.alterar(avaliacaoNova);
453
                                LancadorMensagem.lancarSucesso("AVALIAÇÃO DUPLICADA COM SUCESSO");
454
                        }
455
                });
456
        }
457
 
458
        public void atualizarValorComissao() {
459
                if (VerificadorUtil.naoEstaNuloOuVazio(getParticipanteSelecionado().getPorcentagemComissao())) {
460
                        getParticipanteSelecionado().setValorComissao(consultarVendasDoPeriodo(getParticipanteSelecionado()) * getParticipanteSelecionado().getPorcentagemComissao() / 100);
461
                }
462
        }
463
 
464
        public void enviarReavaliacao(final RankingVendedorDTO rankingVendedor) {
465
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
466
                        public void execute() {
467
                                avaliacaoService.solicitarReavaliacao(rankingVendedor, getReavaliacao());
468
                                LancadorMensagem.lancarSucesso("REAVALIAÇÃO SOLICITADA COM SUCESSO");
469
                        }
470
                });
471
        }
472
 
473
        public StreamedContent emitirRelatorioImportacaoFolhaPagamento(String codigoEmpresa) throws Exception {
204 espaco 474
                String nomeDoArquivo = "";
200 espaco 475
                if (ConstantesSEC.Empresa.CODIGO_EMPRESA_ESPACO_CASE_1.equals(new Long(codigoEmpresa))) {
204 espaco 476
                        nomeDoArquivo = "Relatório de Importação - Folha de Pagamento Espaço Case.xls";
200 espaco 477
                } else if (ConstantesSEC.Empresa.CODIGO_EMPRESA_CASA_DAS_CAPAS_4.equals(new Long(codigoEmpresa))) {
204 espaco 478
                        nomeDoArquivo = "Relatório de Importação - Folha de Pagamento Casa das Capas.xls";
200 espaco 479
                }
480
                ByteArrayInputStream input = new ByteArrayInputStream(avaliacaoService.emitirRelatorioImportacaoFolhaPagamento((ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext(), getEntidade()));
204 espaco 481
                return DefaultStreamedContent.builder()
482
                                .contentType(TipoExtensao.EXCEL.getDescricao())
483
                                .name(nomeDoArquivo)
484
                                .stream(() -> input).build();
200 espaco 485
        }
486
 
487
}