Subversion Repositories Integrator Subversion

Rev

Details | 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.Serializable;
4
import java.util.Date;
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.DataUtils;
14
import br.com.ec.core.util.VerificadorUtil;
15
import br.com.ec.domain.dto.RankingControleTrafegoDTO;
16
import br.com.ec.domain.dto.RankingControleTrafegoGeralDTO;
17
import br.com.ec.domain.model.ControleTrafego;
18
import br.com.ec.domain.model.Loja;
19
import br.com.ec.domain.model.Usuario;
20
import br.com.ec.domain.model.Vendedor;
21
import br.com.ec.domain.model.tipos.TipoGenero;
22
import br.com.ec.domain.model.tipos.TipoMotivoAtendimento;
23
import br.com.ec.domain.model.tipos.TipoPeriodoConsulta;
24
import br.com.ec.domain.service.controletrafego.ControleTrafegoService;
25
import br.com.ec.domain.service.loja.LojaService;
26
import br.com.ec.domain.service.usuario.UsuarioService;
27
import br.com.ec.web.exception.VerificadorLancamentoException;
28
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
29
import br.com.ec.web.generic.AbstractBean;
30
import br.com.ec.web.message.LancadorMensagem;
31
 
32
@Named
33
@Scope("view")
34
public class ControleTrafegoBean extends AbstractBean<ControleTrafego> implements Serializable {
35
 
36
        private static final long serialVersionUID = 1L;
37
 
38
        private String senhaUsuario;
39
        private String cpfCliente;
40
 
41
        private ControleTrafegoService controleTrafegoService;
42
        private UsuarioService usuarioService;
43
        private LojaService lojaService;
44
 
45
        private Integer quantidadeDias = 30;
46
        private Vendedor vendedorSelecionado;
47
        private RankingControleTrafegoGeralDTO rankingControleTrafegoGeral;
48
        private List<ControleTrafego> listaControleTrafego;
49
        private List<RankingControleTrafegoDTO> rankingControleTrafegoUnissex;
50
        private List<RankingControleTrafegoDTO> rankingControleTrafegoMasculinos;
51
        private List<RankingControleTrafegoDTO> rankingControleTrafegoFemininos;
52
 
53
        @Inject
54
        public ControleTrafegoBean(ControleTrafegoService controleTrafegoService, UsuarioService usuarioService, LojaService lojaService) {
55
                this.controleTrafegoService = controleTrafegoService;
56
                this.usuarioService = usuarioService;
57
                this.lojaService = lojaService;
58
        }
59
 
60
        public Integer getQuantidadeDias() {
61
                return quantidadeDias;
62
        }
63
        public void setQuantidadeDias(Integer quantidadeDias) {
64
                this.quantidadeDias = quantidadeDias;
65
        }
66
 
67
        public Vendedor getVendedorSelecionado() {
68
                return vendedorSelecionado;
69
        }
70
        public void setVendedorSelecionado(Vendedor vendedorSelecionado) {
71
                this.vendedorSelecionado = vendedorSelecionado;
72
        }
73
 
74
        public RankingControleTrafegoGeralDTO getRankingControleTrafegoGeral() {
75
                return rankingControleTrafegoGeral;
76
        }
77
        public void setRankingControleTrafegoGeral(RankingControleTrafegoGeralDTO rankingControleTrafegoGeral) {
78
                this.rankingControleTrafegoGeral = rankingControleTrafegoGeral;
79
        }
80
 
81
        public List<ControleTrafego> getListaControleTrafego() {
82
                return listaControleTrafego;
83
        }
84
        public void setListaControleTrafego(List<ControleTrafego> listaControleTrafego) {
85
                this.listaControleTrafego = listaControleTrafego;
86
        }
87
 
88
        public List<RankingControleTrafegoDTO> getRankingControleTrafegoUnissex() {
89
                return rankingControleTrafegoUnissex;
90
        }
91
        public void setRankingControleTrafegoUnissex(List<RankingControleTrafegoDTO> rankingControleTrafegoUnissex) {
92
                this.rankingControleTrafegoUnissex = rankingControleTrafegoUnissex;
93
        }
94
 
95
        public List<RankingControleTrafegoDTO> getRankingControleTrafegoMasculinos() {
96
                return rankingControleTrafegoMasculinos;
97
        }
98
        public void setRankingControleTrafegoMasculinos(List<RankingControleTrafegoDTO> rankingControleTrafegoMasculinos) {
99
                this.rankingControleTrafegoMasculinos = rankingControleTrafegoMasculinos;
100
        }
101
 
102
        public List<RankingControleTrafegoDTO> getRankingControleTrafegoFemininos() {
103
                return rankingControleTrafegoFemininos;
104
        }
105
        public void setRankingControleTrafegoFemininos(List<RankingControleTrafegoDTO> rankingControleTrafegoFemininos) {
106
                this.rankingControleTrafegoFemininos = rankingControleTrafegoFemininos;
107
        }
108
 
109
        public TipoPeriodoConsulta[] getTiposPeriodoConsulta() {
110
                return TipoPeriodoConsulta.values();
111
        }
112
 
113
        @Override
114
        public void preCarregamento() {
115
                limparEntidade();
116
        }
117
 
118
        public void preencherRankings() throws CloneNotSupportedException {
119
                ControleTrafego controleTrafego = getEntidade().clone();
120
                if (VerificadorUtil.naoEstaNulo(getVendedorSelecionado())) {
121
                        Usuario usuario = new Usuario();
122
                        usuario.setPessoa(getVendedorSelecionado().getPessoa());
123
                        controleTrafego.setUsuario(usuario);
124
                }
125
                Date dataInicial = DataUtils.subtrairDias(DataUtils.getDataAtual(), getQuantidadeDias());
126
                setRankingControleTrafegoGeral(controleTrafegoService.consultarRankingControleTrafegoGeral(dataInicial, DataUtils.getDataAtual(), controleTrafego));
127
                getRankingControleTrafegoGeral().preencherDadosPie();
128
                controleTrafego.setGeneroProduto(null);
129
                controleTrafego.setTipoMotivo(null);
130
                setListaControleTrafego(controleTrafegoService.consultarControleTrafego(dataInicial, DataUtils.getDataAtual(), controleTrafego));
131
 
132
                controleTrafego.setTipoMotivo(TipoMotivoAtendimento.SEM_OPCOES.getValor());
133
                controleTrafego.setGeneroProduto(TipoGenero.UNISSEX.getValor());
134
                setRankingControleTrafegoUnissex(controleTrafegoService.consultarRankingControleTrafegoResumido(dataInicial, DataUtils.getDataAtual(), controleTrafego));
135
                controleTrafego.setGeneroProduto(TipoGenero.MASCULINO.getValor());
136
                setRankingControleTrafegoMasculinos(controleTrafegoService.consultarRankingControleTrafegoResumido(dataInicial, DataUtils.getDataAtual(), controleTrafego));
137
                controleTrafego.setGeneroProduto(TipoGenero.FEMININO.getValor());
138
                setRankingControleTrafegoFemininos(controleTrafegoService.consultarRankingControleTrafegoResumido(dataInicial, DataUtils.getDataAtual(), controleTrafego));
139
        }
140
 
141
        @Override
142
        public void limparEntidade() {
143
                entidade = new ControleTrafego();
144
                if (VerificadorUtil.naoEstaNulo(getParametro("sequencialLoja"))) {
145
                        Loja loja = new Loja();
146
                        loja.setSequencial(new Long(getParametro("sequencialLoja").toString()));
147
                        entidade.setLoja(lojaService.consultarPorId(loja));
148
                }
149
                setSenhaUsuario("");
150
        }
151
 
152
        @Override
153
        public GenericService<ControleTrafego> getService() {
154
                return controleTrafegoService;
155
        }
156
 
157
        @Override
158
        public ControleTrafego getEntidade() {
159
                return entidade;
160
        }
161
 
162
        @Override
163
        public ControleTrafego getId() {
164
                return getEntidade();
165
        }
166
 
167
        public String getSenhaUsuario() {
168
                return senhaUsuario;
169
        }
170
        public void setSenhaUsuario(String senhaUsuario) {
171
                this.senhaUsuario = senhaUsuario;
172
        }
173
 
174
        public String getCpfCliente() {
175
                return VerificadorUtil.naoEstaNulo(cpfCliente)? cpfCliente.replace(".", "").replace("-", "") : cpfCliente;
176
        }
177
        public void setCpfCliente(String cpfCliente) {
178
                this.cpfCliente = cpfCliente;
179
        }
180
 
181
        public TipoMotivoAtendimento[] getTiposMotivoAtendimento() {
182
                return TipoMotivoAtendimento.values();
183
        }
184
 
185
        /***************************************************************/
186
 
187
        @Override
188
        public void cadastrar() {
189
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
190
                        public void execute() {
191
                                Loja lojaSelecionada = getEntidade().getLoja();
192
                                controleTrafegoService.adicionarAtendimento(getEntidade(), senhaUsuario);
193
                                limparEntidade();
194
                                entidade.setLoja(lojaSelecionada);
195
                                LancadorMensagem.lancarSucesso("ATENDIMENTO ADICIONADO COM SUCESSO!");
196
                        }
197
                });
198
        }
199
 
200
        @Override
201
        public void alterar() {
202
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
203
                        public void execute() {
204
                                /*
205
                                getEntidade().setDataUltimaAlteracaoSituacao(DataUtils.getDataAtual());
206
                                getEntidade().setUsuarioAtendimento(usuarioService.consultarUsuarioPorSenha(senhaUsuario));
207
                                if (VerificadorUtil.naoEstaNulo(getEntidade().getProduto())) {
208
                                        getEntidade().setModelo(getEntidade().getProduto().getModelo());
209
                                        getEntidade().setGenero(getEntidade().getProduto().getGenero());
210
                                }
211
                                alterar(getEntidade());
212
                                */
213
                        }
214
                });
215
        }
216
 
217
}