Subversion Repositories Integrator Subversion

Rev

Rev 106 | Details | Compare with Previous | 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
import java.util.Date;
5
 
6
import javax.annotation.PostConstruct;
7
import javax.inject.Inject;
8
import javax.inject.Named;
9
 
10
import org.springframework.context.annotation.Scope;
11
 
195 espaco 12
import br.com.ec.core.consulta.ParametrosConsulta;
13
import br.com.ec.core.generic.GenericService;
14
import br.com.ec.core.util.DataUtils;
106 espaco 15
import br.com.ec.domain.dto.DashboardAssistenciaDTO;
16
import br.com.ec.domain.model.tipos.TipoPedido;
17
import br.com.ec.domain.model.tipos.TipoSituacaoPedido;
18
import br.com.ec.domain.service.pedido.PedidoService;
19
import br.com.ec.domain.service.produto.ProdutoService;
195 espaco 20
import br.com.ec.web.generic.AbstractBean;
106 espaco 21
 
22
@Named
23
@Scope("view")
24
public class DashboardAssistenciaBean extends AbstractBean<DashboardAssistenciaDTO> implements Serializable {
25
 
26
        private static final long serialVersionUID = 1L;
27
 
28
        private PedidoService pedidoService;
29
        private ProdutoService produtoService;
30
 
31
        private DashboardAssistenciaDTO acompanhamentoDia;
32
 
33
        @Inject
34
        public DashboardAssistenciaBean(PedidoService pedidoService, ProdutoService produtoService) {
35
                this.pedidoService = pedidoService;
36
                this.produtoService = produtoService;
37
        }
38
 
39
        @PostConstruct
40
        private void iniciarDashboard() {
41
                Integer quantidePedidosNovos = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.NOVO.getValor());
42
                Integer quantidePedidosPendenteAnalise = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PENDENTE_ANALISE_ASSISTENCIA.getValor());
43
                Integer quantidePedidosPendente = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PENDENTE.getValor());
44
                Integer quantidePedidosEmAssistencia = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PEDIDO_EM_ASSISTENCIA.getValor());
45
                Integer quantidePedidosAguardandoFinalizacaoCliente = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.AGUARDANDO_FINALIZACAO_CLIENTE.getValor());
46
                Integer quantidePedidosEntrarEmContato = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.ENTRAR_EM_CONTATO.getValor());
47
 
48
                Date trintaDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -30);
49
                Integer quantidePedidosFinalizadoTrintaDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.FINALIZADO.getValor(), trintaDiasAntes, DataUtils.getDataAtual());
50
                Integer quantidePedidosFinalizadoComVendasTrintaDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.FINALIZADO_COM_VENDAS.getValor(), trintaDiasAntes, DataUtils.getDataAtual());
51
 
52
                Date seteDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7);
53
                Integer pedidosFinalizadosSeteDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.FINALIZADO.getValor(), seteDiasAntes, DataUtils.getDataAtual());
54
                Integer pedidosFinalizadosComVendasSeteDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.FINALIZADO_COM_VENDAS.getValor(), seteDiasAntes, DataUtils.getDataAtual());
55
 
56
                //INDICADORES
57
                setAcompanhamentoDia(new DashboardAssistenciaDTO());
58
                getAcompanhamentoDia().setQuantidadePedidosNovos(quantidePedidosNovos);
59
                getAcompanhamentoDia().setQuantidadePedidosEntrarEmContato(quantidePedidosEntrarEmContato);
60
                getAcompanhamentoDia().setQuantidadePedidosEmAssistencia(quantidePedidosEmAssistencia);
61
                getAcompanhamentoDia().setQuantidadePedidosAguardandoFinalizacaoCliente(quantidePedidosAguardandoFinalizacaoCliente);
62
                getAcompanhamentoDia().setQuantidadePedidosPendentes(quantidePedidosPendente);
63
                getAcompanhamentoDia().setQuantidadePedidosPendentesAnalise(quantidePedidosPendenteAnalise);
64
                getAcompanhamentoDia().setQuantidadePedidosFinalizadosSemVendas(quantidePedidosFinalizadoTrintaDias);
65
                getAcompanhamentoDia().setQuantidadePedidosFinalizadosComVendas(quantidePedidosFinalizadoComVendasTrintaDias);
66
                getAcompanhamentoDia().setQuantidadePedidosAtendidosUltimosSeteDias(pedidosFinalizadosSeteDias + pedidosFinalizadosComVendasSeteDias);
67
                getAcompanhamentoDia().setQuantidadeRetirarDoSite(produtoService.quantidadeProdutosParaRetirarDoOnlineMatriz());
68
 
69
                // ALERTAS
70
                Date tresDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -3);
71
                Integer pedidosAlertasNovosComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.NOVO.getValor(), null, tresDiasAntes);
72
                Integer pedidosAlertasEntrarEmContatoComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.ENTRAR_EM_CONTATO.getValor(), null, tresDiasAntes);
73
                Integer pedidosAlertasPendentesComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PENDENTE.getValor(), null, seteDiasAntes);
74
                Integer pedidosAlertasPendentesAnaliseComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PENDENTE_ANALISE_ASSISTENCIA.getValor(), null, tresDiasAntes);
75
                Integer pedidosAlertasEmTransferenciaComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PEDIDO_EM_TRANSFERENCIA.getValor(), null, seteDiasAntes);
76
                Integer pedidosAlertasEmAssistenciaComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.PEDIDO_EM_ASSISTENCIA.getValor(), null, seteDiasAntes);
77
                Integer pedidosAlertasAguardandoFinalizacaoClienteComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.ASSISTENCIA.getValor(), TipoSituacaoPedido.AGUARDANDO_FINALIZACAO_CLIENTE.getValor(), null, seteDiasAntes);
78
 
79
                getAcompanhamentoDia().setQuantidadeAlertaPedidosNovos(pedidosAlertasNovosComTresDiasPassados);
80
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEntrarEmContato(pedidosAlertasEntrarEmContatoComTresDiasPassados);
81
                getAcompanhamentoDia().setQuantidadeAlertaPedidosPendentes(pedidosAlertasPendentesComSeteDiasPassados);
82
                getAcompanhamentoDia().setQuantidadeAlertaPedidosPendentesAnalise(pedidosAlertasPendentesAnaliseComTresDiasPassados);
83
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEmTransferencia(pedidosAlertasEmTransferenciaComSeteDiasPassados);
84
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEmAssistencia(pedidosAlertasEmAssistenciaComSeteDiasPassados);
85
                getAcompanhamentoDia().setQuantidadeAlertaPedidosAguardandoFinalizacaoCliente(pedidosAlertasAguardandoFinalizacaoClienteComSeteDiasPassados);
86
        }
87
 
88
        @Override
89
        public void preCarregamento() {
90
                entidade = new DashboardAssistenciaDTO();
91
                parametrosConsulta = new ParametrosConsulta<DashboardAssistenciaDTO>();
92
                parametrosConsulta.setEntidade(entidade);
93
        }
94
 
95
        @Override
96
        public void limparEntidade() {
97
                DashboardAssistenciaDTO consolidado = new DashboardAssistenciaDTO();
98
                setEntidade(consolidado);
99
        }
100
 
101
        @Override
102
        public GenericService<DashboardAssistenciaDTO> getService() {
103
                return null;
104
        }
105
 
106
        @Override
107
        public DashboardAssistenciaDTO getEntidade() {
108
                return entidade;
109
        }
110
 
111
        @Override
112
        public DashboardAssistenciaDTO getId() {
113
                return getEntidade();
114
        }
115
 
116
        public DashboardAssistenciaDTO getAcompanhamentoDia() {
117
                return acompanhamentoDia;
118
        }
119
        public void setAcompanhamentoDia(DashboardAssistenciaDTO consolidadoDia) {
120
                this.acompanhamentoDia = consolidadoDia;
121
        }
122
 
123
}