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.ArrayList;
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.exception.NegocioException;
14
import br.com.ec.core.util.DataUtils;
15
import br.com.ec.core.util.VerificadorUtil;
16
import br.com.ec.domain.dto.ParametrosConsultaVendasVivoDTO;
17
import br.com.ec.domain.model.VendaVivo;
18
import br.com.ec.domain.model.tipos.TipoConsultaVendasVivo;
19
import br.com.ec.domain.model.tipos.TipoStatusDigitalizacao;
20
import br.com.ec.domain.service.vendavivo.VendaVivoService;
21
import br.com.ec.domain.shared.Ordenador;
22
import br.com.ec.domain.shared.OrdenadorImpl;
23
import br.com.ec.web.exception.VerificadorLancamentoException;
24
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
25
import br.com.ec.web.message.LancadorMensagem;
26
 
27
@Named
28
@Scope("view")
29
public class AcompanhamentoVivoBean implements Serializable {
30
 
31
        private static final long serialVersionUID = 1L;
32
 
33
        private ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivo;
34
        private List<VendaVivo> listaVendas;
35
        private VendaVivo vendaVivoSelecionada;
36
 
37
        private Integer quantidadeSemDigitalizacao = 0;
38
        private Integer quantidadeNaoVerificados = 0;
39
        private Integer quantidadeEmContestacao = 0;
40
        private Integer quantidadeComPendencias = 0;
41
        private Integer quantidadeCancelada = 0;
42
        private Integer quantidadeConfirmada = 0;
43
 
44
        private Integer quantidadeSemVivoGo = 0;
45
 
46
        private VendaVivoService vendaVivoService;
47
 
48
        private Ordenador ordenador;
49
 
50
        @Inject
51
        public AcompanhamentoVivoBean(VendaVivoService vendaVivoService) {
52
                this.vendaVivoService = vendaVivoService;
53
                this.ordenador = new OrdenadorImpl();
54
        }
55
 
56
        @PostConstruct
57
        public void preCarregamento() {
58
                ParametrosConsultaVendasVivoDTO parametros = new ParametrosConsultaVendasVivoDTO();
59
                parametros.setEntidade(new VendaVivo());
60
                parametros.setTipoConsultaVendasVivo(TipoConsultaVendasVivo.COM_PENDENCIAS.getValor());
61
                setParametrosConsultaVendasVivo(parametros);
62
                consultarVendas();
63
        }
64
 
65
        public TipoConsultaVendasVivo[] getTiposConsultaVendasVivo() {
66
                return TipoConsultaVendasVivo.values();
67
        }
68
 
69
        public TipoStatusDigitalizacao[] getTiposStatusDigitalizacao() {
70
                return TipoStatusDigitalizacao.values();
71
        }
72
 
73
        public ParametrosConsultaVendasVivoDTO getParametrosConsultaVendasVivo() {
74
                return parametrosConsultaVendasVivo;
75
        }
76
        public void setParametrosConsultaVendasVivo(ParametrosConsultaVendasVivoDTO parametrosConsultaVendasVivo) {
77
                this.parametrosConsultaVendasVivo = parametrosConsultaVendasVivo;
78
        }
79
 
80
        public List<VendaVivo> getListaVendas() {
81
                return listaVendas;
82
        }
83
        public void setListaVendas(List<VendaVivo> listaVendas) {
84
                this.listaVendas = listaVendas;
85
        }
86
 
87
        public VendaVivo getVendaVivoSelecionada() {
88
                return vendaVivoSelecionada;
89
        }
90
        public void setVendaVivoSelecionada(VendaVivo vendaVivoSelecionada) {
91
                this.vendaVivoSelecionada = vendaVivoSelecionada;
92
        }
93
 
94
        public Integer getQuantidadeSemDigitalizacao() {
95
                return quantidadeSemDigitalizacao;
96
        }
97
        public void setQuantidadeSemDigitalizacao(Integer quantidadeSemDigitalizacao) {
98
                this.quantidadeSemDigitalizacao = quantidadeSemDigitalizacao;
99
        }
100
 
101
        public Integer getQuantidadeNaoVerificados() {
102
                return quantidadeNaoVerificados;
103
        }
104
        public void setQuantidadeNaoVerificados(Integer quantidadeNaoVerificados) {
105
                this.quantidadeNaoVerificados = quantidadeNaoVerificados;
106
        }
107
 
108
        public Integer getQuantidadeEmContestacao() {
109
                return quantidadeEmContestacao;
110
        }
111
        public void setQuantidadeEmContestacao(Integer quantidadeEmContestacao) {
112
                this.quantidadeEmContestacao = quantidadeEmContestacao;
113
        }
114
 
115
        public Integer getQuantidadeComPendencias() {
116
                return quantidadeComPendencias;
117
        }
118
        public void setQuantidadeComPendencias(Integer quantidadeComPendencias) {
119
                this.quantidadeComPendencias = quantidadeComPendencias;
120
        }
121
 
122
        public Integer getQuantidadeCancelada() {
123
                return quantidadeCancelada;
124
        }
125
        public void setQuantidadeCancelada(Integer quantidadeCancelada) {
126
                this.quantidadeCancelada = quantidadeCancelada;
127
        }
128
 
129
        public Integer getQuantidadeConfirmada() {
130
                return quantidadeConfirmada;
131
        }
132
        public void setQuantidadeConfirmada(Integer quantidadeConfirmada) {
133
                this.quantidadeConfirmada = quantidadeConfirmada;
134
        }
135
 
136
        public Integer getQuantidadeSemVivoGo() {
137
                return quantidadeSemVivoGo;
138
        }
139
        public void setQuantidadeSemVivoGo(Integer quantidadeSemVivoGo) {
140
                this.quantidadeSemVivoGo = quantidadeSemVivoGo;
141
        }
142
 
143
        /***************************************************************/
144
 
145
        public void consultarVendas() {
146
                setListaVendas(new ArrayList<VendaVivo>(ordenador.ordenar(vendaVivoService.consultarVendaPorParametros(getParametrosConsultaVendasVivo()))));
147
                atualizarResumo(getListaVendas());
148
        }
149
 
150
        public void atualizarResumo(List<VendaVivo> vendas) {
151
                Integer quantidadeSemDigitalizacao = 0;
152
                Integer quantidadeNaoVerificados = 0;
153
                Integer quantidadeEmContestacao = 0;
154
                Integer quantidadeComPendencias = 0;
155
                Integer quantidadeCancelada = 0;
156
                Integer quantidadeConfirmada = 0;
157
                Integer quantidadeSemVivoGo = 0;
158
 
159
                for (VendaVivo vendaVivo : vendas) {
160
                        if (VerificadorUtil.estaNulo(vendaVivo.getDataDigitalizacao())) {
161
                                quantidadeSemDigitalizacao++;
162
                        }
163
                        if (vendaVivo.naoVerificado()) {
164
                                quantidadeNaoVerificados++;
165
                        }
166
                        if (vendaVivo.emContestacao()) {
167
                                quantidadeEmContestacao++;
168
                        }
169
                        if (vendaVivo.verificadoComPendencia()) {
170
                                quantidadeComPendencias++;
171
                        }
172
                        if (vendaVivo.cancelado()) {
173
                                quantidadeCancelada++;
174
                        }
175
                        if (vendaVivo.confirmadoSemGED() || vendaVivo.statusConfirmado()) {
176
                                quantidadeConfirmada++;
177
                        }
178
                        if (!vendaVivo.getIndicadorCadastradoVivoGo()) {
179
                                quantidadeSemVivoGo++;
180
                        }
181
                }
182
 
183
                setQuantidadeSemDigitalizacao(quantidadeSemDigitalizacao);
184
                setQuantidadeNaoVerificados(quantidadeNaoVerificados);
185
                setQuantidadeEmContestacao(quantidadeEmContestacao);
186
                setQuantidadeComPendencias(quantidadeComPendencias);
187
                setQuantidadeCancelada(quantidadeCancelada);
188
                setQuantidadeConfirmada(quantidadeConfirmada);
189
                setQuantidadeSemVivoGo(quantidadeSemVivoGo);
190
        }
191
 
192
        public void atualizarStatus() {
193
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
194
                        public void execute() {
195
                                if (VerificadorUtil.estaNuloOuVazio(getVendaVivoSelecionada().getTipoStatusDigitalizacao())) {
196
                                        throw new NegocioException("INFORME O STATUS");
197
                                }
198
                                if (!getVendaVivoSelecionada().confirmadoSemGED() || !getVendaVivoSelecionada().cancelado()) {
199
                                        if (VerificadorUtil.estaNuloOuVazio(getVendaVivoSelecionada().getProtocoloGED())) {
200
                                                throw new NegocioException("INFORME O PROTOCOLO");
201
                                        }
202
                                        if (VerificadorUtil.estaNuloOuVazio(getVendaVivoSelecionada().getDataDigitalizacao())) {
203
                                                throw new NegocioException("INFORME A DATA DE DIGITALIZAÇÃO");
204
                                        }
205
                                }
206
                                getVendaVivoSelecionada().setDataStatus(DataUtils.getDataAtual());
207
                                vendaVivoService.alterar(getVendaVivoSelecionada());
208
                                LancadorMensagem.lancarSucesso("VENDA ATUALIZADA COM SUCESSO!");
209
                        }
210
                });
211
        }
212
 
213
}