package br.com.ec.controller;
import java.io.Serializable;
import java.util.ArrayList;
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.DataUtils;
import br.com.ec.domain.dto.FuncionarioDTO;
import br.com.ec.domain.dto.FuncionarioFeriasDTO;
import br.com.ec.domain.model.FuncionarioFerias;
import br.com.ec.domain.service.FuncionarioFeriasService;
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 FeriasBean
extends AbstractBean
<FuncionarioFeriasDTO
> implements Serializable {
private static final long serialVersionUID = 1L
;
private List<FuncionarioFeriasDTO
> feriasProvisionadasDTO
;
private FuncionarioFeriasDTO funcionarioFeriasSelecionada
;
private FuncionarioFeriasService funcionarioFeriasService
;
@Inject
public FeriasBean
(FuncionarioFeriasService funcionarioFeriasService
) {
this.
funcionarioFeriasService = funcionarioFeriasService
;
}
@
Override
public GenericService
<FuncionarioFeriasDTO
> getService
() {
return null;
}
@
Override
public FuncionarioFeriasDTO getId
() {
return null;
}
@
Override
public void preCarregamento
() {
limparEntidade
();
consultarFeriasProvisionadas
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new FuncionarioFeriasDTO
());
}
public List<FuncionarioFeriasDTO
> getFeriasProvisionadasDTO
() {
return feriasProvisionadasDTO
;
}
public void setFeriasProvisionadasDTO
(List<FuncionarioFeriasDTO
> feriasProvisionadasDTO
) {
this.
feriasProvisionadasDTO = feriasProvisionadasDTO
;
}
public FuncionarioFeriasDTO getFuncionarioFeriasSelecionada
() {
return funcionarioFeriasSelecionada
;
}
public void setFuncionarioFeriasSelecionada
(FuncionarioFeriasDTO funcionarioFeriasSelecionada
) {
this.
funcionarioFeriasSelecionada = funcionarioFeriasSelecionada
;
}
/*******************************************/
public void consultarFeriasProvisionadas
() {
setFeriasProvisionadasDTO
(funcionarioFeriasService.
consultarFeriasProvisionadas());
}
public void provisionarFerias
(FuncionarioFeriasDTO funcionarioFeriasDTO
) {
setFuncionarioFeriasSelecionada
(funcionarioFeriasDTO
);
}
public void confirmarProvisao
() {
new VerificadorLancamentoException
().
tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean
() {
public void execute
() {
funcionarioFeriasService.
confirmarProvisao(getFuncionarioFeriasSelecionada
());
consultarFeriasProvisionadas
();
LancadorMensagem.
lancarSucesso("FÉRIAS PROVISIONADA COM SUCESSO!");
}
});
}
/*******************************************/
}