package br.com.ec.controller;
import java.io.Serializable;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import org.springframework.context.annotation.Scope;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.dto.FormaPagamentoDTO;
import br.com.ec.domain.dto.consulta.ParametrosConsultaVendasDTO;
import br.com.ec.domain.dto.consulta.ParametrosPeriodoDTO;
import br.com.ec.domain.dto.grafico.GraficoBarraDTO;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.GraficoService;
import br.com.ec.domain.service.VendaService;
import br.com.ec.web.generic.AbstractBean;
@Named
@Scope
("view")
public class RelatorioVendasBean
extends AbstractBean
<ParametrosConsultaVendasDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
/*
private List<FuncionarioDTO> listaFuncionariosDTO;
private Long sequencialFuncionarioSelecionado;
private FuncionarioDTO funcionarioSelecionado;
private FuncionarioService funcionarioService;
*/
private ParametrosPeriodoDTO parametrosPeriodoDTO
;
private Boolean graficoConsultado
;
private GraficoBarraDTO graficoVendas
;
private VendaService vendaService
;
private GraficoService graficoService
;
@Inject
public RelatorioVendasBean
(VendaService vendaService, GraficoService graficoService
) {
this.
vendaService = vendaService
;
this.
graficoService = graficoService
;
}
@
Override
public GenericService
<ParametrosConsultaVendasDTO
> getService
() {
return null;
}
@
Override
public ParametrosConsultaVendasDTO getId
() {
return null;
}
@
Override
public void preCarregamento
() {
limparEntidade
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new ParametrosConsultaVendasDTO
());
setGraficoConsultado
(false);
}
public ParametrosPeriodoDTO getParametrosPeriodoDTO
() {
return parametrosPeriodoDTO
;
}
public void setParametrosPeriodoDTO
(ParametrosPeriodoDTO parametrosPeriodoDTO
) {
this.
parametrosPeriodoDTO = parametrosPeriodoDTO
;
}
public TipoProduto
[] getTiposProduto
() {
return TipoProduto.
values();
}
public Boolean getGraficoConsultado
() {
return graficoConsultado
;
}
public void setGraficoConsultado
(Boolean graficoConsultado
) {
this.
graficoConsultado = graficoConsultado
;
}
public GraficoBarraDTO getGraficoVendas
() {
return graficoVendas
;
}
public void setGraficoVendas
(GraficoBarraDTO graficoVendas
) {
this.
graficoVendas = graficoVendas
;
}
/**********************************/
public List<FormaPagamentoDTO
> getFormasDePagamentoDTO
() {
return FormaPagamentoDTO.
formasDePagamentoSemCupom();
}
public void gerarGraficos
() {
setGraficoConsultado
(true);
setGraficoVendas
(new GraficoBarraDTO
(getEntidade
()));
setGraficoVendas
(graficoService.
gerarGraficoVendas(getGraficoVendas
().
getParametrosConsulta()));
/*
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);
*/
}
}