Subversion Repositories Integrator Subversion

Rev

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

Rev Author Line No. Line
703 blopes 1
package br.com.ec.controller;
2
 
3
import java.io.IOException;
4
import java.io.Serializable;
5
import java.util.List;
6
 
7
import javax.annotation.PostConstruct;
8
import javax.inject.Inject;
9
import javax.inject.Named;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
13
import br.com.ec.core.generic.GenericService;
14
import br.com.ec.core.util.VerificadorUtil;
15
import br.com.ec.domain.dto.AvaliacaoDTO;
16
import br.com.ec.domain.dto.VigenciaDTO;
17
import br.com.ec.domain.model.Avaliacao;
18
import br.com.ec.domain.model.AvaliacaoProduto;
19
import br.com.ec.domain.service.AvaliacaoService;
20
import br.com.ec.domain.service.VigenciaService;
21
import br.com.ec.web.exception.VerificadorLancamentoException;
22
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
23
import br.com.ec.web.generic.AbstractBean;
24
import br.com.ec.web.message.LancadorMensagem;
25
import br.com.ec.web.util.TipoOperacao;
26
 
27
@Named
28
@Scope("view")
29
public class PromocaoInternaBean extends AbstractBean<Avaliacao> implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private VigenciaDTO vigenciaSelecionada;
34
        private AvaliacaoDTO avaliacaoDTO;
35
 
36
        private List<AvaliacaoProduto> produtosPromocaoInterna;
37
        private String codigoProdutoParaVincular;
38
 
39
        private VigenciaService vigenciaService;
40
        private AvaliacaoService avaliacaoService;
41
 
42
        @Inject
43
        public PromocaoInternaBean(VigenciaService vigenciaService, AvaliacaoService avaliacaoService) {
44
                this.vigenciaService= vigenciaService;
45
                this.avaliacaoService = avaliacaoService;
46
        }
47
 
48
        @Override
49
        public void preCarregamento() {
50
                limparEntidade();
51
        }
52
 
53
        @PostConstruct
54
        private void posCarregamento() {
55
                if (VerificadorUtil.naoEstaNulo(getParametro("vigencia"))) {
56
                        setVigenciaSelecionada(vigenciaService.consultarVigencia(new Long(getParametro("vigencia").toString())));
57
                        if (VerificadorUtil.naoEstaNulo(getVigenciaSelecionada())) {
58
                                detalharPromocaoInterna();
59
                        }
60
                }
61
        }
62
 
63
        public void detalharPromocaoInterna() {
64
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
65
                        public void execute() {
66
                                setAvaliacaoDTO(avaliacaoService.consultarAvaliacao(getVigenciaSelecionada().getSequencial()));
740 blopes 67
                                if (VerificadorUtil.naoEstaNulo(getAvaliacaoDTO())) {
68
                                        setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
69
                                }
703 blopes 70
                        }
71
                });
72
        }
73
 
74
        @Override
75
        public void limparEntidade() {
76
                setEntidade(new Avaliacao());
77
        }
78
 
79
        @Override
80
        public GenericService<Avaliacao> getService() {
81
                return avaliacaoService;
82
        }
83
 
84
        @Override
85
        public Avaliacao getEntidade() {
86
                return entidade;
87
        }
88
 
89
        @Override
90
        public void preConsultar() {
91
                setTipoOperacao(TipoOperacao.CONSULTAR);
92
        }
93
 
94
        @Override
95
        public Avaliacao getId() {
96
                return getEntidade();
97
        }
98
 
99
        public List<AvaliacaoProduto> getProdutosPromocaoInterna() {
100
                return produtosPromocaoInterna;
101
        }
102
        public void setProdutosPromocaoInterna(List<AvaliacaoProduto> produtosPromocaoInterna) {
103
                this.produtosPromocaoInterna = produtosPromocaoInterna;
104
        }
105
 
106
        public String getCodigoProdutoParaVincular() {
107
                return codigoProdutoParaVincular;
108
        }
109
        public void setCodigoProdutoParaVincular(String codigoProdutoParaVincular) {
110
                this.codigoProdutoParaVincular = codigoProdutoParaVincular;
111
        }
112
 
113
        public VigenciaDTO getVigenciaSelecionada() {
114
                return vigenciaSelecionada;
115
        }
116
        public void setVigenciaSelecionada(VigenciaDTO vigenciaSelecionada) {
117
                this.vigenciaSelecionada = vigenciaSelecionada;
118
        }
119
 
120
        public AvaliacaoDTO getAvaliacaoDTO() {
121
                return avaliacaoDTO;
122
        }
123
        public void setAvaliacaoDTO(AvaliacaoDTO avaliacaoDTO) {
124
                this.avaliacaoDTO = avaliacaoDTO;
125
        }
126
 
127
        /**************************************************/
128
 
129
        public void redirecionarGestaoMensal() {
130
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
131
                        public void execute() {
132
                                try {
133
                                        LancadorMensagem.redirecionarTela("/sistema/gestao_mensal/gestao_mensal.xhtml");
134
                                } catch (IOException e) {
135
                                        e.printStackTrace();
136
                                }
137
                        }
138
                });
139
        }
140
 
141
        public void vincularProdutoPromocaoInterna() {
142
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
143
                        public void execute() {
144
                                avaliacaoService.cadastrarProdutoPromocaoInterna(new Avaliacao(getAvaliacaoDTO().getSequencial()), getCodigoProdutoParaVincular());
145
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
146
                                LancadorMensagem.lancarSucesso("PRODUTO " + getCodigoProdutoParaVincular() + " VINCULADO COM SUCESSO");
147
                                setCodigoProdutoParaVincular(null);
148
                        }
149
                });
150
        }
151
 
152
        public void desvincularProdutoPromocaoInterna(final AvaliacaoProduto avaliacaoProduto) {
153
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
154
                        public void execute() {
155
                                avaliacaoService.excluirProdutoPromocaoInterna(avaliacaoProduto);
156
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
157
                                LancadorMensagem.lancarSucesso("PRODUTO DESVINCULADO COM SUCESSO");
158
                        }
159
                });
160
        }
161
 
162
}