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.core.util.VerificadorUtil;
import br.com.ec.domain.dto.DreDTO;
import br.com.ec.domain.dto.IndicadorDreDTO;
import br.com.ec.domain.dto.LojaDTO;
import br.com.ec.domain.dto.ParcelaDTO;
import br.com.ec.domain.dto.VigenciaDTO;
import br.com.ec.domain.service.IndicadorDreService;
import br.com.ec.web.generic.AbstractBean;
@Named
@Scope
("view")
public class DreBean
extends AbstractBean
<DreDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private List<VigenciaDTO
> vigencias
;
private LojaDTO centroDeCustosSelecionado
;
private IndicadorDreDTO indicadorDreSelecionado
;
private List<ParcelaDTO
> parcelasDetalheIndicador
;
private IndicadorDreService indicadorDreService
;
@Inject
public DreBean
(IndicadorDreService indicadorDreService
) {
this.
indicadorDreService = indicadorDreService
;
}
@
Override
public void limparEntidade
() {
setEntidade
(new DreDTO
());
}
@
Override
public GenericService
<DreDTO
> getService
() {
return null;
}
@
Override
public DreDTO getEntidade
() {
return entidade
;
}
@
Override
public DreDTO getId
() {
return getEntidade
();
}
/********************************************************************/
public List<VigenciaDTO
> getVigencias
() {
return vigencias
;
}
public void setVigencias
(List<VigenciaDTO
> vigencias
) {
this.
vigencias = vigencias
;
}
public LojaDTO getCentroDeCustosSelecionado
() {
return centroDeCustosSelecionado
;
}
public void setCentroDeCustosSelecionado
(LojaDTO centroDeCustosSelecionado
) {
this.
centroDeCustosSelecionado = centroDeCustosSelecionado
;
}
public List<ParcelaDTO
> getParcelasDetalheIndicador
() {
return parcelasDetalheIndicador
;
}
public void setParcelasDetalheIndicador
(List<ParcelaDTO
> parcelasDetalheIndicador
) {
this.
parcelasDetalheIndicador = parcelasDetalheIndicador
;
}
public IndicadorDreDTO getIndicadorDreSelecionado
() {
return indicadorDreSelecionado
;
}
public void setIndicadorDreSelecionado
(IndicadorDreDTO indicadorDreSelecionado
) {
this.
indicadorDreSelecionado = indicadorDreSelecionado
;
}
/********************************************************************/
public void consultarDRE
() {
setEntidade
(indicadorDreService.
preencherDre(getVigencias
(), getCentroDeCustosSelecionado
()));
}
public void detalharIndicador
(IndicadorDreDTO indicadorDreDTO, VigenciaDTO vigenciaDTO
) {
setParcelasDetalheIndicador
(indicadorDreService.
detalharIndicador(indicadorDreDTO, vigenciaDTO, getCentroDeCustosSelecionado
()));
setIndicadorDreSelecionado
(indicadorDreDTO
);
}
public Double totalValorParcelasDetalheIndicador
() {
Double total =
0.0;
if (VerificadorUtil.
naoEstaNulo(getParcelasDetalheIndicador
())) {
for (ParcelaDTO parcela : getParcelasDetalheIndicador
()) {
total = total + parcela.
getValor();
}
}
return total
;
}
}