Subversion Repositories Integrator Subversion

Rev

Go to most recent revision | Details | 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()));
67
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
68
                        }
69
                });
70
        }
71
 
72
        @Override
73
        public void limparEntidade() {
74
                setEntidade(new Avaliacao());
75
        }
76
 
77
        @Override
78
        public GenericService<Avaliacao> getService() {
79
                return avaliacaoService;
80
        }
81
 
82
        @Override
83
        public Avaliacao getEntidade() {
84
                return entidade;
85
        }
86
 
87
        @Override
88
        public void preConsultar() {
89
                setTipoOperacao(TipoOperacao.CONSULTAR);
90
        }
91
 
92
        @Override
93
        public Avaliacao getId() {
94
                return getEntidade();
95
        }
96
 
97
        public List<AvaliacaoProduto> getProdutosPromocaoInterna() {
98
                return produtosPromocaoInterna;
99
        }
100
        public void setProdutosPromocaoInterna(List<AvaliacaoProduto> produtosPromocaoInterna) {
101
                this.produtosPromocaoInterna = produtosPromocaoInterna;
102
        }
103
 
104
        public String getCodigoProdutoParaVincular() {
105
                return codigoProdutoParaVincular;
106
        }
107
        public void setCodigoProdutoParaVincular(String codigoProdutoParaVincular) {
108
                this.codigoProdutoParaVincular = codigoProdutoParaVincular;
109
        }
110
 
111
        public VigenciaDTO getVigenciaSelecionada() {
112
                return vigenciaSelecionada;
113
        }
114
        public void setVigenciaSelecionada(VigenciaDTO vigenciaSelecionada) {
115
                this.vigenciaSelecionada = vigenciaSelecionada;
116
        }
117
 
118
        public AvaliacaoDTO getAvaliacaoDTO() {
119
                return avaliacaoDTO;
120
        }
121
        public void setAvaliacaoDTO(AvaliacaoDTO avaliacaoDTO) {
122
                this.avaliacaoDTO = avaliacaoDTO;
123
        }
124
 
125
        /**************************************************/
126
 
127
        public void redirecionarGestaoMensal() {
128
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
129
                        public void execute() {
130
                                try {
131
                                        LancadorMensagem.redirecionarTela("/sistema/gestao_mensal/gestao_mensal.xhtml");
132
                                } catch (IOException e) {
133
                                        e.printStackTrace();
134
                                }
135
                        }
136
                });
137
        }
138
 
139
        public void vincularProdutoPromocaoInterna() {
140
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
141
                        public void execute() {
142
                                avaliacaoService.cadastrarProdutoPromocaoInterna(new Avaliacao(getAvaliacaoDTO().getSequencial()), getCodigoProdutoParaVincular());
143
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
144
                                LancadorMensagem.lancarSucesso("PRODUTO " + getCodigoProdutoParaVincular() + " VINCULADO COM SUCESSO");
145
                                setCodigoProdutoParaVincular(null);
146
                        }
147
                });
148
        }
149
 
150
        public void desvincularProdutoPromocaoInterna(final AvaliacaoProduto avaliacaoProduto) {
151
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
152
                        public void execute() {
153
                                avaliacaoService.excluirProdutoPromocaoInterna(avaliacaoProduto);
154
                                setProdutosPromocaoInterna(avaliacaoService.consultarProdutosPromocaoInterna(getAvaliacaoDTO().getSequencial()));
155
                                LancadorMensagem.lancarSucesso("PRODUTO DESVINCULADO COM SUCESSO");
156
                        }
157
                });
158
        }
159
 
160
}