Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Details | 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.Serializable;
4
 
5
import javax.inject.Inject;
6
import javax.inject.Named;
7
 
8
import org.springframework.context.annotation.Scope;
9
 
10
import br.com.ec.controller.managedbean.consultademanda.ProdutoConsultaPorDemanda;
11
import br.com.ec.domain.dto.ParametrosConsultaProdutoDTO;
12
import br.com.ec.domain.model.Loja;
13
import br.com.ec.domain.model.Produto;
14
import br.com.ec.domain.model.Usuario;
15
import br.com.ec.domain.service.loja.LojaService;
16
import br.com.ec.domain.service.produto.ProdutoService;
17
import br.com.ec.domain.service.seguranca.ContextoSeguranca;
18
import br.edu.cesmac.core.generic.GenericService;
19
import br.edu.cesmac.core.util.VerificadorUtil;
20
import br.edu.cesmac.web.exception.VerificadorLancamentoException;
21
import br.edu.cesmac.web.exception.VerificadorLancamentoException.CommandBean;
22
import br.edu.cesmac.web.generic.AbstractBean;
23
import br.edu.cesmac.web.message.LancadorMensagem;
24
 
25
@Named
26
@Scope("view")
27
public class ContagemConsultaBean extends AbstractBean<Produto> implements Serializable {
28
 
29
private static final long serialVersionUID = 1L;
30
 
31
        private ProdutoConsultaPorDemanda lazy;
32
        private ContextoSeguranca contextoSeguranca;
33
        private Loja lojaSelecionada;
34
        private Usuario usuarioParaContagem;
35
 
36
        private LojaService lojaService;
37
        private ProdutoService produtoService;
38
 
39
        @Inject
40
        public ContagemConsultaBean(ProdutoConsultaPorDemanda lazy, ContextoSeguranca contextoSeguranca, LojaService lojaService,
41
                        ProdutoService produtoService) {
42
                this.lazy = lazy;
43
                this.contextoSeguranca = contextoSeguranca;
44
                this.lojaService = lojaService;
45
                this.produtoService = produtoService;
46
        }
47
 
48
        @Override
49
        public void preCarregamento() {
50
                entidade = new Produto();
51
                parametrosConsulta = new ParametrosConsultaProdutoDTO();
52
                parametrosConsulta.setEntidade(new Produto());
53
                lazy.alterarParametroConsultarNaAbertura(true);
54
                prepararConsultaDemanda();
55
        }
56
 
57
        @Override
58
        public void limparEntidade() {}
59
 
60
        @Override
61
        public GenericService<Produto> getService() {
62
                return null;
63
        }
64
 
65
        @Override
66
        public Produto getEntidade() {
67
                return entidade;
68
        }
69
 
70
        @Override
71
        public Produto getId() {
72
                return getEntidade();
73
        }
74
 
75
        public ProdutoConsultaPorDemanda getLazy() {
76
                prepararConsultaDemanda();
77
                return lazy;
78
        }
79
        public void setLazy(ProdutoConsultaPorDemanda lazy) {
80
                this.lazy = lazy;
81
        }
82
        public void prepararConsultaDemanda() {
83
                ((ParametrosConsultaProdutoDTO)parametrosConsulta).setLojaSelecionadaParaContagem(getLojaSelecionada());
84
                ((ParametrosConsultaProdutoDTO)parametrosConsulta).setConsultarAtivo(1);
85
                ((ParametrosConsultaProdutoDTO)parametrosConsulta).setUsuarioParaContagem(getUsuarioParaContagem());
86
                lazy.setarParametrosConsulta(getParametrosConsulta());
87
        }
88
 
89
        public Loja getLojaSelecionada() {
90
                if (VerificadorUtil.estaNulo(lojaSelecionada)) {
91
                        if (VerificadorUtil.naoEstaNulo(getParametro("sequencialLoja"))) {
92
                                Loja loja = new Loja();
93
                                loja.setSequencial(new Long(getParametro("sequencialLoja").toString()));
94
                                lojaSelecionada = lojaService.consultarPorId(loja);
95
                        }
96
                }
97
                return lojaSelecionada;
98
        }
99
        public void setLojaSelecionada(Loja lojaSelecionada) {
100
                this.lojaSelecionada = lojaSelecionada;
101
        }
102
 
103
        public Usuario getUsuarioParaContagem() {
104
                return usuarioParaContagem;
105
        }
106
        public void setUsuarioParaContagem(Usuario usuarioParaContagem) {
107
                this.usuarioParaContagem = usuarioParaContagem;
108
        }
109
 
110
        public void cancelarContagem() {
111
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
112
                        public void execute() {
113
                                produtoService.cancelarContagem((ParametrosConsultaProdutoDTO)getParametrosConsulta());
114
                                LancadorMensagem.lancarSucesso("CONTAGEM CANCELADA COM SUCESSO!");
115
                        }
116
                });
117
        }
118
 
119
        public void zerarEstoque() {
120
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
121
                        public void execute() {
122
                                produtoService.zerarEstoque((ParametrosConsultaProdutoDTO)getParametrosConsulta(), contextoSeguranca.obterUsuario());
123
                                LancadorMensagem.lancarSucesso("ESTOQUE ZERADO COM SUCESSO!");
124
                        }
125
                });
126
        }
127
 
128
}