package gcom.gui.micromedicao;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import gcom.micromedicao.consumo.ConsumoAnormalidade;
import gcom.micromedicao.consumo.FiltroConsumoAnormalidade;
import gcom.util.filtro.ParametroSimples;
import java.util.Collection;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* Descri��o da classe
*
* @author Vin�cius Medeiros
* @date 02/06/2008
*/
public class InserirConsumoAnormalidadeAction extends GcomAction {
/**
* Este caso de uso permite a inclus�o de uma anormalidade de Consumo
*
* [UC0807] Inserir Anormalidade de Consumo
*
*
* @author Vin�cius Medeiros
* @date 02/06/2008
*
* @param actionMapping
* @param actionForm
* @param httpServletRequest
* @param httpServletResponse
* @return
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping.findForward("telaSucesso");
InserirConsumoAnormalidadeActionForm inserirConsumoAnormalidadeActionForm = (InserirConsumoAnormalidadeActionForm) actionForm;
HttpSession sessao = httpServletRequest.getSession(false);
Fachada fachada = Fachada.getInstancia();
String descricao = inserirConsumoAnormalidadeActionForm.getDescricao();
String descricaoAbreviada = inserirConsumoAnormalidadeActionForm
.getDescricaoAbreviada();
String mensagemConta = inserirConsumoAnormalidadeActionForm
.getMensagemConta().toUpperCase();
String indicadorRevisaoPermissaoEspecial = inserirConsumoAnormalidadeActionForm
.getIndicadorRevisaoComPermissaoEspecial();
ConsumoAnormalidade consumoAnormalidade = new ConsumoAnormalidade();
Collection colecaoPesquisa = null;
// Descri��o
if (!"".equals(inserirConsumoAnormalidadeActionForm.getDescricao())) {
consumoAnormalidade.setDescricao(inserirConsumoAnormalidadeActionForm
.getDescricao());
} else {
throw new ActionServletException("atencao.required", null,
"descri��o");
}
consumoAnormalidade.setUltimaAlteracao(new Date());
Short iu = 1;
consumoAnormalidade.setIndicadorUso(iu);
consumoAnormalidade.setIndicadorRevisaoPermissaoEspecial(new Short(indicadorRevisaoPermissaoEspecial));
FiltroConsumoAnormalidade filtroConsumoAnormalidade = new FiltroConsumoAnormalidade();
filtroConsumoAnormalidade.adicionarParametro(new ParametroSimples(
FiltroConsumoAnormalidade.DESCRICAO, consumoAnormalidade.getDescricao()));
colecaoPesquisa = (Collection) fachada.pesquisar(
filtroConsumoAnormalidade, ConsumoAnormalidade.class.getName());
if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) {
//
throw new ActionServletException(
"atencao.consumo_anormalidade_ja_cadastrada", null,
consumoAnormalidade.getDescricao());
} else {
consumoAnormalidade.setDescricao(descricao);
consumoAnormalidade.setDescricaoAbreviada(descricaoAbreviada);
consumoAnormalidade.setMensagemConta(mensagemConta);
Integer idConsumoAnormalidade = (Integer) fachada
.inserir(consumoAnormalidade);
montarPaginaSucesso(httpServletRequest,
"Anormalidade de Consumo " + descricao
+ " inserida com sucesso.",
"Inserir outra Anormalidade de Consumo",
"exibirInserirConsumoAnormalidadeAction.do?menu=sim",
"exibirAtualizarConsumoAnormalidadeAction.do?idRegistroAtualizacao="
+ idConsumoAnormalidade,
"Atualizar Anormalidade de Consumo Inserida");
sessao.removeAttribute("InserirConsumoAnormalidadeActionForm");
return retorno;
}
}
}