Subversion Repositories Integrator Subversion

Rev

Rev 195 | 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.DashboardComercialDTO;
16
import br.com.ec.domain.model.Loja;
17
import br.com.ec.domain.model.tipos.TipoPedido;
18
import br.com.ec.domain.model.tipos.TipoSituacaoPedido;
19
import br.com.ec.domain.service.pedido.PedidoService;
20
import br.com.ec.domain.service.produto.ProdutoService;
21
import br.com.ec.domain.shared.ConstantesSEC;
195 espaco 22
import br.com.ec.web.generic.AbstractBean;
106 espaco 23
 
24
@Named
25
@Scope("view")
26
public class DashboardComercialBean extends AbstractBean<DashboardComercialDTO> implements Serializable {
27
 
28
        private static final long serialVersionUID = 1L;
29
 
30
        private PedidoService pedidoService;
31
        private ProdutoService produtoService;
32
 
33
        private DashboardComercialDTO acompanhamentoDia;
34
 
35
        @Inject
36
        public DashboardComercialBean(PedidoService pedidoService, ProdutoService produtoService) {
37
                this.pedidoService = pedidoService;
38
                this.produtoService = produtoService;
39
        }
40
 
41
        @PostConstruct
42
        private void iniciarDashboard() {
43
                Integer quantidePedidosNovos = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.NOVO.getValor());
44
                Integer quantidePedidosPendente = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PENDENTE.getValor());
45
                Integer quantidePedidosPendenteCompras = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PENDENTE_ANALISE_COMPRAS.getValor());
46
                Integer quantidePedidosAguardandoRetornoCliente = pedidoService.obterQuantidadePedidosPorSituacao(null, TipoSituacaoPedido.AGUARDANDO_RETORNO_CLIENTE.getValor());
47
                Integer quantidePedidosAguardandoCompras = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PEDIDO_EM_COMPRAS.getValor());
48
                Integer quantidePedidosProdutoEmTransferencia = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PEDIDO_EM_TRANSFERENCIA.getValor());
49
                Integer quantidePedidosAguardandoFinalizacaoCliente = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.AGUARDANDO_FINALIZACAO_CLIENTE.getValor());
50
                Integer quantidePedidosEntrarEmContato = pedidoService.obterQuantidadePedidosPorSituacao(null, TipoSituacaoPedido.ENTRAR_EM_CONTATO.getValor());
51
 
52
                Date trintaDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -30);
53
                Integer quantidePedidosFinalizadoTrintaDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.FINALIZADO.getValor(), trintaDiasAntes, DataUtils.getDataAtual());
54
                Integer quantidePedidosFinalizadoComVendasTrintaDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.FINALIZADO_COM_VENDAS.getValor(), trintaDiasAntes, DataUtils.getDataAtual());
55
 
56
                Date seteDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7);
57
                Integer pedidosFinalizadosSeteDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.FINALIZADO.getValor(), seteDiasAntes, DataUtils.getDataAtual());
58
                Integer pedidosFinalizadosComVendasSeteDias = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.FINALIZADO_COM_VENDAS.getValor(), seteDiasAntes, DataUtils.getDataAtual());
59
 
60
                //INDICADORES
61
                setAcompanhamentoDia(new DashboardComercialDTO());
62
                getAcompanhamentoDia().setQuantidadePedidosNovos(quantidePedidosNovos);
63
                getAcompanhamentoDia().setQuantidadePedidosEntrarEmContato(quantidePedidosEntrarEmContato);
64
                getAcompanhamentoDia().setQuantidadePedidosEmAndamento(quantidePedidosPendenteCompras + quantidePedidosAguardandoCompras + quantidePedidosProdutoEmTransferencia + quantidePedidosAguardandoFinalizacaoCliente);
65
                getAcompanhamentoDia().setQuantidadePedidosPendentes(quantidePedidosPendente);
66
                getAcompanhamentoDia().setQuantidadePedidosAguardandoRetornoCliente(quantidePedidosAguardandoRetornoCliente);
67
                getAcompanhamentoDia().setQuantidadePedidosFinalizadosSemVendas(quantidePedidosFinalizadoTrintaDias);
68
                getAcompanhamentoDia().setQuantidadePedidosFinalizadosComVendas(quantidePedidosFinalizadoComVendasTrintaDias);
69
                getAcompanhamentoDia().setQuantidadePedidosAtendidosUltimosSeteDias(pedidosFinalizadosSeteDias + pedidosFinalizadosComVendasSeteDias);
70
 
71
                getAcompanhamentoDia().setQuantidadeRetirarDoSite(produtoService.quantidadeProdutosParaRetirarDoOnlineMatriz());
72
                getAcompanhamentoDia().setQuantidadeAdicionadosSiteDiario(produtoService.quantidadeProdutosAdicionadosSite(DataUtils.getDataAtual(), DataUtils.getDataAtual()));
73
                getAcompanhamentoDia().setQuantidadeAdicionadosSiteSemanal(produtoService.quantidadeProdutosAdicionadosSite(seteDiasAntes, DataUtils.getDataAtual()));
74
                getAcompanhamentoDia().setQuantidadeAdicionadosSiteMensal(produtoService.quantidadeProdutosAdicionadosSite(DataUtils.getPrimeiroDiaDoMesAtual(), DataUtils.getUltimoDiaDoMesAtual()));
75
                getAcompanhamentoDia().setQuantidadeProdutosOnline(produtoService.quantidadeProdutosOnline());
76
                getAcompanhamentoDia().setQuantidadeProdutosFavoritosOffline(produtoService.quantidadeProdutosFavoritosOffline(new Loja(ConstantesSEC.SEQUENCIAL_MATRIZ_ESTOQUE_9)));
77
 
78
                // ALERTAS
79
                Date tresDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -3);
80
                Integer pedidosAlertasNovosComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.NOVO.getValor(), null, tresDiasAntes);
81
                Integer pedidosAlertasEntrarEmContatoComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.ENTRAR_EM_CONTATO.getValor(), null, tresDiasAntes);
82
                Integer pedidosAlertasPendentesComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PENDENTE.getValor(), null, seteDiasAntes);
83
                Integer pedidosAlertasEmTransferenciaComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PEDIDO_EM_TRANSFERENCIA.getValor(), null, seteDiasAntes);
84
                Integer pedidosAlertasAguardandoRetornoClienteComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.AGUARDANDO_RETORNO_CLIENTE.getValor(), null, seteDiasAntes);
85
                Integer pedidosAlertasAguardandoFinalizacaoClienteComSeteDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(null, TipoSituacaoPedido.AGUARDANDO_FINALIZACAO_CLIENTE.getValor(), null, seteDiasAntes);
86
 
87
                getAcompanhamentoDia().setQuantidadeAlertaPedidosNovos(pedidosAlertasNovosComTresDiasPassados);
88
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEntrarEmContato(pedidosAlertasEntrarEmContatoComTresDiasPassados);
89
                getAcompanhamentoDia().setQuantidadeAlertaPedidosPendentes(pedidosAlertasPendentesComSeteDiasPassados);
90
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEmTransferencia(pedidosAlertasEmTransferenciaComSeteDiasPassados);
91
                getAcompanhamentoDia().setQuantidadeAlertaPedidosAguardandoRetornoCliente(pedidosAlertasAguardandoRetornoClienteComSeteDiasPassados);
92
                getAcompanhamentoDia().setQuantidadeAlertaPedidosAguardandoFinalizacaoCliente(pedidosAlertasAguardandoFinalizacaoClienteComSeteDiasPassados);
93
        }
94
 
95
        @Override
96
        public void preCarregamento() {
97
                entidade = new DashboardComercialDTO();
98
                parametrosConsulta = new ParametrosConsulta<DashboardComercialDTO>();
99
                parametrosConsulta.setEntidade(entidade);
100
        }
101
 
102
        @Override
103
        public void limparEntidade() {
104
                DashboardComercialDTO consolidado = new DashboardComercialDTO();
105
                setEntidade(consolidado);
106
        }
107
 
108
        @Override
109
        public GenericService<DashboardComercialDTO> getService() {
110
                return null;
111
        }
112
 
113
        @Override
114
        public DashboardComercialDTO getEntidade() {
115
                return entidade;
116
        }
117
 
118
        @Override
119
        public DashboardComercialDTO getId() {
120
                return getEntidade();
121
        }
122
 
123
        public DashboardComercialDTO getAcompanhamentoDia() {
124
                return acompanhamentoDia;
125
        }
126
        public void setAcompanhamentoDia(DashboardComercialDTO consolidadoDia) {
127
                this.acompanhamentoDia = consolidadoDia;
128
        }
129
 
130
}