Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.com.ec.controller.managedbean;
2
 
3
import java.io.Serializable;
4
import java.util.List;
5
 
6
import javax.inject.Inject;
7
import javax.inject.Named;
8
 
9
import org.springframework.context.annotation.Scope;
10
 
11
import br.com.ec.domain.model.Loja;
12
import br.com.ec.domain.model.Pendencia;
13
import br.com.ec.domain.service.loja.LojaService;
14
import br.com.ec.domain.service.pendencia.PendenciaService;
15
import br.edu.cesmac.core.consulta.ParametrosConsulta;
16
import br.edu.cesmac.core.generic.GenericService;
17
import br.edu.cesmac.core.util.VerificadorUtil;
18
import br.edu.cesmac.web.exception.VerificadorLancamentoException;
19
import br.edu.cesmac.web.exception.VerificadorLancamentoException.CommandBean;
20
import br.edu.cesmac.web.generic.AbstractBean;
21
import br.edu.cesmac.web.message.LancadorMensagem;
22
 
23
@Named
24
@Scope("view")
25
public class PendenciaBean extends AbstractBean<Pendencia> implements Serializable {
26
 
27
        private static final long serialVersionUID = 1L;
28
 
29
        private List<Pendencia> pendencias;
30
 
31
        private PendenciaService pendenciaService;
32
        private LojaService lojaService;
33
 
34
        private Pendencia pendenciaSelecionado;
35
        private Loja lojaSelecionada;
36
 
37
        @Inject
38
        public PendenciaBean(PendenciaService pendenciaService, LojaService lojaService) {
39
                this.pendenciaService = pendenciaService;
40
                this.lojaService = lojaService;
41
        }
42
 
43
        @Override
44
        public void preCarregamento() {
45
                entidade = new Pendencia();
46
                entidade.setLoja(getLojaSelecionada());
47
                entidade.setIndicadorFinalizado(false);
48
                parametrosConsulta = new ParametrosConsulta<Pendencia>();
49
                parametrosConsulta.setEntidade(entidade);
50
        }
51
 
52
        @Override
53
        public void limparEntidade() {
54
                setEntidade(new Pendencia());
55
        }
56
 
57
        @Override
58
        public GenericService<Pendencia> getService() {
59
                return pendenciaService;
60
        }
61
 
62
        @Override
63
        public Pendencia getEntidade() {
64
                return entidade;
65
        }
66
 
67
        @Override
68
        public Pendencia getId() {
69
                return getEntidade();
70
        }
71
 
72
        public List<Pendencia> getPendencias() {
73
                if (VerificadorUtil.estaNulo(pendencias)) {
74
                        consultarPendencias();
75
                }
76
                return pendencias;
77
        }
78
        public void setPendencias(List<Pendencia> pendencias) {
79
                this.pendencias = pendencias;
80
        }
81
        public void consultarPendencias() {
82
                setPendencias(pendenciaService.consultarPassandoEntidade(parametrosConsulta.getEntidade(), 0, pendenciaService.obterQuantidadeDeRegistrosPassandoEntidade(parametrosConsulta.getEntidade())));
83
        }
84
 
85
        public Pendencia getPendenciaSelecionado() {
86
                return pendenciaSelecionado;
87
        }
88
        public void setPendenciaSelecionado(Pendencia pendenciaSelecionado) {
89
                this.pendenciaSelecionado = pendenciaSelecionado;
90
        }
91
 
92
        public Loja getLojaSelecionada() {
93
                if (VerificadorUtil.estaNulo(lojaSelecionada)) {
94
                        if (VerificadorUtil.naoEstaNulo(getParametro("sequencialLoja"))) {
95
                                Loja loja = new Loja();
96
                                loja.setSequencial(new Long(getParametro("sequencialLoja").toString()));
97
                                lojaSelecionada = lojaService.consultarPorId(loja);
98
                        }
99
                }
100
                return lojaSelecionada;
101
        }
102
        public void setLojaSelecionada(Loja lojaSelecionada) {
103
                this.lojaSelecionada = lojaSelecionada;
104
        }
105
 
106
        public Integer quantidadePendenciasNaoFinalizadas(Loja loja) {
107
                return pendenciaService.quantidadePendenciasNaoFinalizadas(loja);
108
        }
109
 
110
        @Override
111
        public void cadastrar() {
112
                if (VerificadorUtil.naoEstaNulo(getLojaSelecionada())) {
113
                        getEntidade().setLoja(getLojaSelecionada());
114
                }
115
                super.cadastrar();
116
                consultarPendencias();
117
        }
118
 
119
        @Override
120
        public void alterar() {
121
                super.alterar();
122
                consultarPendencias();
123
        }
124
 
125
        public void finalizar(final Pendencia pendencia) {
126
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
127
                        public void execute() {
128
                                pendencia.setIndicadorFinalizado(true);
129
                                getService().alterar(pendencia);
130
                                consultarPendencias();
131
                                LancadorMensagem.lancarSucesso("PendĂȘncia finalizada com sucesso!");
132
                        }
133
                });
134
        }
135
 
136
        public void aguardar(final Pendencia pendencia) {
137
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
138
                        public void execute() {
139
                                pendencia.setIndicadorFinalizado(false);
140
                                getService().alterar(pendencia);
141
                                consultarPendencias();
142
                                LancadorMensagem.lancarSucesso("PendĂȘncia ativa novamente!");
143
                        }
144
                });
145
        }
146
 
147
}