package br.com.ec.controller.managedbean;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import org.primefaces.model.chart.LineChartModel;
import org.springframework.context.annotation.Scope;
import br.com.ec.domain.dto.ConsolidadoGestaoDTO;
import br.com.ec.domain.dto.FluxoDeCaixaDTO;
import br.com.ec.domain.dto.ReceitaDTO;
import br.com.ec.domain.model.FormaPagamento;
import br.com.ec.domain.service.acompanhamento.AcompanhamentoService;
import br.com.ec.domain.service.formapagamento.FormaPagamentoService;
import br.edu.cesmac.core.consulta.ParametrosConsulta;
import br.edu.cesmac.core.generic.GenericService;
import br.edu.cesmac.core.util.DataUtils;
import br.edu.cesmac.core.util.VerificadorUtil;
import br.edu.cesmac.web.generic.AbstractBean;
@Named
@Scope
("view")
public class GestaoBean
extends AbstractBean
<ConsolidadoGestaoDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private AcompanhamentoService acompanhamentoService
;
private FormaPagamentoService formaPagamentoService
;
private ConsolidadoGestaoDTO consolidadoGestao
;
private Date primeiroMes
;
private Date segundoMes
;
private LineChartModel graficoAcumulado
;
private FluxoDeCaixaDTO fluxoDeCaixa
;
private ReceitaDTO receita
;
private List<FormaPagamento
> formasDePagamento
;
@Inject
public GestaoBean
(AcompanhamentoService acompanhamentoService, FormaPagamentoService formaPagamentoService
) {
this.
acompanhamentoService = acompanhamentoService
;
this.
formaPagamentoService = formaPagamentoService
;
}
@
Override
public void preCarregamento
() {
try {
if (VerificadorUtil.
estaNulo(parametrosConsulta
)) {
entidade =
new ConsolidadoGestaoDTO
();
parametrosConsulta =
new ParametrosConsulta
<ConsolidadoGestaoDTO
>();
parametrosConsulta.
setEntidade(entidade
);
}
setReceita
(new ReceitaDTO
(DataUtils.
getPrimeiroDiaDoMesAtual(), DataUtils.
getUltimoDiaDoMesAtual()));
setConsolidadoGestao
(acompanhamentoService.
consultarConsolidadoGestaoDTO());
setPrimeiroMes
(DataUtils.
getDataAtual());
setSegundoMes
(DataUtils.
acrescentarMeses(DataUtils.
getDataAtual(), -
1));
setGraficoAcumulado
(acompanhamentoService.
consultarGrafico(getPrimeiroMes
(), getSegundoMes
()));
setFluxoDeCaixa
(new FluxoDeCaixaDTO
(DataUtils.
getPrimeiroDiaDoMesAtual(), DataUtils.
getUltimoDiaDoMesAtual()));
setFluxoDeCaixa
(acompanhamentoService.
consultarFluxoDeCaixa(getFluxoDeCaixa
()));
setFormasDePagamento
(formaPagamentoService.
listarFormasPagamentoAtivas());
} catch (Exception e
) {
e.
printStackTrace();
}
}
@
Override
public void limparEntidade
() {
setEntidade
(new ConsolidadoGestaoDTO
());
}
@
Override
public GenericService
<ConsolidadoGestaoDTO
> getService
() {
return null;
}
@
Override
public ConsolidadoGestaoDTO getEntidade
() {
return entidade
;
}
@
Override
public ConsolidadoGestaoDTO getId
() {
return getEntidade
();
}
public ConsolidadoGestaoDTO getConsolidadoGestao
() {
return consolidadoGestao
;
}
public void setConsolidadoGestao
(ConsolidadoGestaoDTO consolidadoGestao
) {
this.
consolidadoGestao = consolidadoGestao
;
}
public Date getPrimeiroMes
() {
return primeiroMes
;
}
public void setPrimeiroMes
(Date primeiroMes
) {
this.
primeiroMes = primeiroMes
;
}
public Date getSegundoMes
() {
return segundoMes
;
}
public void setSegundoMes
(Date segundoMes
) {
this.
segundoMes = segundoMes
;
}
public LineChartModel getGraficoAcumulado
() {
return graficoAcumulado
;
}
public void setGraficoAcumulado
(LineChartModel graficoAcumulado
) {
this.
graficoAcumulado = graficoAcumulado
;
}
public FluxoDeCaixaDTO getFluxoDeCaixa
() {
return fluxoDeCaixa
;
}
public void setFluxoDeCaixa
(FluxoDeCaixaDTO fluxoDeCaixa
) {
this.
fluxoDeCaixa = fluxoDeCaixa
;
}
public ReceitaDTO getReceita
() {
return receita
;
}
public void setReceita
(ReceitaDTO receita
) {
this.
receita = receita
;
}
public List<FormaPagamento
> getFormasDePagamento
() {
return formasDePagamento
;
}
public void setFormasDePagamento
(List<FormaPagamento
> formasDePagamento
) {
this.
formasDePagamento = formasDePagamento
;
}
/********************************************************************/
public void consultarReceita
() {
acompanhamentoService.
consultarReceita(getReceita
());
}
}