Subversion Repositories Integrator Subversion

Rev

Rev 259 | Rev 279 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

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

import org.primefaces.model.charts.bar.BarChartModel;
import org.primefaces.model.charts.pie.PieChartModel;
import org.springframework.context.annotation.Scope;

import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.dto.FuncionarioDTO;
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
import br.com.ec.domain.model.tipos.TipoPeriodo;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.FuncionarioService;
import br.com.ec.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private List<FuncionarioDTO> listaFuncionariosDTO;
        private Long sequencialFuncionarioSelecionado;
        private FuncionarioDTO funcionarioSelecionado;
        private ParametrosPeriodoDTO parametrosPeriodoDTO;
       
        private FuncionarioService funcionarioService;

        @Inject
        public RelatorioAnaliticoBean(FuncionarioService funcionarioService) {
                this.funcionarioService = funcionarioService;
        }

        @Override
        public GenericService<FuncionarioDTO> getService() {
                return null;
        }

        @Override
        public FuncionarioDTO getId() {
                return null;
        }
       
        @Override
        public void preCarregamento() {
                limparEntidade();
                consultarFuncionariosAdmitidos();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new FuncionarioDTO());
                setParametrosPeriodoDTO(new ParametrosPeriodoDTO());
//              setFuncionarioSelecionado(new FuncionarioDTO());
                setFuncionarioSelecionado(null);
        }
       
        public List<FuncionarioDTO> getListaFuncionariosDTO() {
                return listaFuncionariosDTO;
        }
        public void setListaFuncionariosDTO(List<FuncionarioDTO> listaFuncionariosDTO) {
                this.listaFuncionariosDTO = listaFuncionariosDTO;
        }
       
        public Long getSequencialFuncionarioSelecionado() {
                return sequencialFuncionarioSelecionado;
        }
        public void setSequencialFuncionarioSelecionado(Long sequencialFuncionarioSelecionado) {
                this.sequencialFuncionarioSelecionado = sequencialFuncionarioSelecionado;
        }
       
        public FuncionarioDTO getFuncionarioSelecionado() {
                return funcionarioSelecionado;
        }
        public void setFuncionarioSelecionado(FuncionarioDTO funcionarioSelecionado) {
                this.funcionarioSelecionado = funcionarioSelecionado;
        }
       
        public ParametrosPeriodoDTO getParametrosPeriodoDTO() {
                return parametrosPeriodoDTO;
        }
        public void setParametrosPeriodoDTO(ParametrosPeriodoDTO parametrosPeriodoDTO) {
                this.parametrosPeriodoDTO = parametrosPeriodoDTO;
        }
       
        public TipoProduto[] getTiposProduto() {
                return TipoProduto.values();
        }
       
        /**********************************/
       
        public void consultarFuncionariosAdmitidos() {
                setListaFuncionariosDTO(funcionarioService.consultarFuncionariosAdmitidos());
        }
       
        public void analisarFuncionario() {
                FuncionarioDTO funcionarioDTO = funcionarioService.analisarFuncionario(getFuncionarioSelecionado());
                setFuncionarioSelecionado(funcionarioDTO);
        }
       
        public void gerarGraficosFuncionario() {
                if (getParametrosPeriodoDTO().tipoPeriodoEhPorMes()) {
                       
                }
               
                BarChartModel graficoComparativoCustosLucro = funcionarioService.consultarGraficoComparativoCustosLucro(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
                getFuncionarioSelecionado().setGraficoComparativoCustosLucro(graficoComparativoCustosLucro);
               
                PieChartModel graficoTiposProdutos = funcionarioService.consultarGraficoTiposProdutos(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO(), Arrays.asList(getTiposProduto()));
                getFuncionarioSelecionado().setGraficoTiposProdutos(graficoTiposProdutos);
               
                PieChartModel graficoFormasPagamento = funcionarioService.consultarGraficoFormasPagamento(getFuncionarioSelecionado().getSequencialFuncionario(), getParametrosPeriodoDTO());
                getFuncionarioSelecionado().setGraficoFormasPagamento(graficoFormasPagamento);
        }
       
}