Subversion Repositories Integrator Subversion

Rev

Rev 195 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import java.io.Serializable;
import java.util.Date;

import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.DataUtils;
import br.com.ec.domain.dto.DashboardComprasDTO;
import br.com.ec.domain.model.tipos.TipoPedido;
import br.com.ec.domain.model.tipos.TipoSituacaoPedido;
import br.com.ec.domain.service.estoqueauditoria.EstoqueAuditoriaService;
import br.com.ec.domain.service.pedido.PedidoService;
import br.com.ec.domain.service.produto.ProdutoService;
import br.com.ec.web.generic.AbstractBean;

@Named
@Scope("view")
public class DashboardComprasBean extends AbstractBean<DashboardComprasDTO> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private PedidoService pedidoService;
        private EstoqueAuditoriaService estoqueAuditoriaService;
       
        private DashboardComprasDTO acompanhamentoDia;
       
        @Inject
        public DashboardComprasBean(PedidoService pedidoService, ProdutoService produtoService, EstoqueAuditoriaService estoqueAuditoriaService) {
                this.pedidoService = pedidoService;
                this.estoqueAuditoriaService = estoqueAuditoriaService;
        }
       
        @PostConstruct
        private void iniciarDashboard() {
                Integer quantidePedidosPendentesAnaliseDeCompras = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PENDENTE_ANALISE_COMPRAS.getValor());
                Integer quantidadePedidosEmCompras = pedidoService.obterQuantidadePedidosPorSituacao(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PEDIDO_EM_COMPRAS.getValor());
               
                //INDICADORES
                setAcompanhamentoDia(new DashboardComprasDTO());
                getAcompanhamentoDia().setQuantidadePedidosPendentesAnaliseDeCompras(quantidePedidosPendentesAnaliseDeCompras);
                getAcompanhamentoDia().setQuantidadePedidosEmCompras(quantidadePedidosEmCompras);
                getAcompanhamentoDia().setQuantidadeAuditoriasAvariaTrocaDevolucaoNaoVerificadas(estoqueAuditoriaService.quantidadeAuditoriasAvariaTrocaDevolucaoNaoVerificadas(null));
               
                // ALERTAS
                Date tresDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -3);
                Integer pedidosAlertasPendentesAnaliseDeComprasComTresDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PENDENTE_ANALISE_COMPRAS.getValor(), tresDiasAntes, DataUtils.getDataAtual());
               
                Date quinzeDiasAntes = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -15);
                Integer pedidosAlertasEmComprasComQuinzeDiasPassados = pedidoService.obterQuantidadePedidosPorSituacaoEePeriodo(TipoPedido.RESERVA.getValor(), TipoSituacaoPedido.PEDIDO_EM_COMPRAS.getValor(), quinzeDiasAntes, DataUtils.getDataAtual());
               
                Date seteDiasPassados = DataUtils.acrescentarDias(DataUtils.getDataAtual(), -7);
                Integer auditoriasAvariaTrocaDevolucaoPendentesComSeteDiasPassados = estoqueAuditoriaService.quantidadeAuditoriasAvariaTrocaDevolucaoNaoVerificadas(seteDiasPassados);

                getAcompanhamentoDia().setQuantidadeAlertaPedidosPendentesAnaliseDeCompras(pedidosAlertasPendentesAnaliseDeComprasComTresDiasPassados);
                getAcompanhamentoDia().setQuantidadeAlertaPedidosEmCompras(pedidosAlertasEmComprasComQuinzeDiasPassados);
                getAcompanhamentoDia().setQuantidadeAuditoriasAvariaTrocaDevolucaoNaoVerificadas(auditoriasAvariaTrocaDevolucaoPendentesComSeteDiasPassados);
        }
       
        @Override
        public void preCarregamento() {
                entidade = new DashboardComprasDTO();
                parametrosConsulta = new ParametrosConsulta<DashboardComprasDTO>();
                parametrosConsulta.setEntidade(entidade);
        }
       
        @Override
        public void limparEntidade() {
                DashboardComprasDTO consolidado = new DashboardComprasDTO();
                setEntidade(consolidado);
        }

        @Override
        public GenericService<DashboardComprasDTO> getService() {
                return null;
        }
       
        @Override
        public DashboardComprasDTO getEntidade() {
                return entidade;
        }

        @Override
        public DashboardComprasDTO getId() {
                return getEntidade();
        }
       
        public DashboardComprasDTO getAcompanhamentoDia() {
                return acompanhamentoDia;
        }
        public void setAcompanhamentoDia(DashboardComprasDTO consolidadoDia) {
                this.acompanhamentoDia = consolidadoDia;
        }
       
}