Subversion Repositories Integrator Subversion

Rev

Rev 627 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
625 blopes 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
4
import java.util.ArrayList;
5
import java.util.List;
6
 
7
import javax.inject.Inject;
8
import javax.inject.Named;
9
 
10
import org.springframework.context.annotation.Scope;
11
 
12
import br.com.ec.core.generic.GenericService;
13
import br.com.ec.core.util.VerificadorUtil;
14
import br.com.ec.domain.dto.ComercialPosVendaDTO;
15
import br.com.ec.domain.dto.PosVendaDTO;
16
import br.com.ec.domain.model.Loja;
17
import br.com.ec.domain.model.NpsPosVenda;
18
import br.com.ec.domain.model.PosVenda;
19
import br.com.ec.domain.model.tipos.TipoNpsPosVenda;
20
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;
21
import br.com.ec.domain.service.LancamentoService;
22
import br.com.ec.domain.service.PosVendaService;
23
import br.com.ec.web.exception.VerificadorLancamentoException;
24
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
25
import br.com.ec.web.generic.AbstractBean;
26
 
27
@Named
28
@Scope("view")
29
public class NpsPosVendaBean extends AbstractBean<ComercialPosVendaDTO> implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private PosVendaService posVendaService;
34
 
35
        private NpsPosVenda npsPosVendaSelecionado;
36
 
37
        public static class NpsItem {
38
        private final Integer nota;
39
        private final String icone;
40
        private final String estrelas;
41
 
42
        public NpsItem(Integer nota, String icone, String estrelas) {
43
            this.nota = nota;
44
            this.icone = icone;
45
            this.estrelas = estrelas;
46
        }
47
 
48
        public Integer getNota() { return nota; }
49
        public String getIcone() { return icone; }
50
        public String getEstrelas() { return estrelas; }
51
    }
52
 
53
        @Inject
54
        public NpsPosVendaBean(PosVendaService posVendaService) {
55
                this.posVendaService = posVendaService;
56
        }
57
 
58
        @Override
59
        public GenericService<ComercialPosVendaDTO> getService() {
60
                return null;
61
        }
62
 
63
        @Override
64
        public ComercialPosVendaDTO getId() {
65
                return null;
66
        }
67
 
68
        @Override
69
        public void preCarregamento() {
70
                limparEntidade();
71
        }
72
 
73
        @Override
74
        public void limparEntidade() {
75
        }
76
 
77
        public List<NpsItem> getRostosNps() {
78
        List<NpsItem> lista = new ArrayList<>();
79
        for (int i = 1; i <= 5; i++) {
80
            String icone = "/resources/faces/emoji" + i + ".png"; // Ex: emoji0.png até emoji10.png
81
            String estrelas = new String(new char[5]).replace("\0", "⭐");//"⭐".repeat(Math.max(0, i / 2));     // Converte nota para estrelas visuais
82
            lista.add(new NpsItem(new Integer(i), icone, estrelas));
83
        }
84
        return lista;
85
    }
86
 
87
 
88
 
89
        /**************************************************/
90
 
91
        public TipoPeriodoConsulta[] getTiposPeriodoConsulta() {
92
                return TipoPeriodoConsulta.values();
93
        }
94
 
95
        /**************************************************/
96
 
97
        public NpsPosVenda getNpsPosVendaSelecionado() {
98
                if (VerificadorUtil.estaNulo(npsPosVendaSelecionado)) {
99
                        if (VerificadorUtil.naoEstaNulo(getParametro("sq"))) {
100
                                npsPosVendaSelecionado = new NpsPosVenda();
101
                                npsPosVendaSelecionado.setPosVenda(new PosVenda(new Long(getParametro("sq").toString())));
102
                                npsPosVendaSelecionado.setObservacao("");
103
                                npsPosVendaSelecionado.setTipoNps(TipoNpsPosVenda.ATENDIMENTO_A.getValor());
104
                        }
105
                }
106
                return npsPosVendaSelecionado;
107
        }
108
        public void setNpsPosVendaSelecionado(NpsPosVenda npsPosVendaSelecionado) {
109
                this.npsPosVendaSelecionado = npsPosVendaSelecionado;
110
        }
111
 
112
        public void efetivarNps() {
113
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
114
                        public void execute() {
115
 
116
                        }
117
                });
118
        }
119
 
120
}