Subversion Repositories Integrator Subversion

Rev

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