package br.com.ec.controller;
import java.io.Serializable;
import java.util.List;
import javax.annotation.PostConstruct;
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.ConsolidacoesDTO;
import br.com.ec.domain.dto.VigenciaDTO;
import br.com.ec.domain.model.tipos.TipoProduto;
import br.com.ec.domain.service.ConsolidadoEstoqueService;
import br.com.ec.domain.service.TransferenciaService;
import br.com.ec.domain.service.VigenciaService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;
@Named
@Scope
("view")
public class ConsolidacoesBean
extends AbstractBean
<ConsolidacoesDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private List<VigenciaDTO
> vigenciasDTO
;
private VigenciaService vigenciaService
;
private ConsolidadoEstoqueService consolidadoEstoqueService
;
@Inject
public ConsolidacoesBean
(VigenciaService vigenciaService, ConsolidadoEstoqueService consolidadoEstoqueService
) {
this.
vigenciaService = vigenciaService
;
this.
consolidadoEstoqueService = consolidadoEstoqueService
;
}
@
Override
public GenericService
<ConsolidacoesDTO
> getService
() {
return null;
}
@
Override
public ConsolidacoesDTO getId
() {
return null;
}
@
Override
public void preCarregamento
() {
limparEntidade
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new ConsolidacoesDTO
());
}
public List<VigenciaDTO
> getVigenciasDTO
() {
return vigenciasDTO
;
}
public void setVigenciasDTO
(List<VigenciaDTO
> vigenciasDTO
) {
this.
vigenciasDTO = vigenciasDTO
;
}
/**************************************************/
@PostConstruct
private void iniciarConsolidacoes
() {
setVigenciasDTO
(vigenciaService.
consultarVigenciasParaConsolidacao());
setEntidade
(new ConsolidacoesDTO
());
}
/**************************************************/
public void consolidarEstoque
(VigenciaDTO vigenciaDTO
) {
new VerificadorLancamentoException
().
tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean
() {
public void execute
() {
consolidadoEstoqueService.
consolidarEstoque(vigenciaDTO
);
LancadorMensagem.
lancarSucesso("ESTOQUE CONSOLIDADO COM SUCESSO");
iniciarConsolidacoes
();
}
});
}
}