package gcom.gui.cadastro.unidade; import gcom.cadastro.unidade.FiltroUnidadeOrganizacional; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import java.util.Collection; 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; /** * Action de exibir manter unidade oraganizacional * @author Ana Maria * @created 21/11/2006 */ public class ExibirManterUnidadeOrganizacionalAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("manterUnidadeOrganizacional"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); Collection colecaoUnidadeOrganizacional = null; FiltroUnidadeOrganizacional filtroUnidadeOrganizacional = new FiltroUnidadeOrganizacional(); if (sessao.getAttribute("filtroUnidadeOrganizacional") != null) { filtroUnidadeOrganizacional = (FiltroUnidadeOrganizacional) sessao .getAttribute("filtroUnidadeOrganizacional"); // 1� Passo - Pegar o total de registros atrav�s de um count da // consulta que aparecer� na tela Integer totalRegistros = fachada .pesquisarUnidadeOrganizacionalFiltroCount(filtroUnidadeOrganizacional); // 2� Passo - Chamar a fun��o de Pagina��o passando o total de // registros retorno = this.controlarPaginacao(httpServletRequest, retorno, totalRegistros); // 3� Passo - Obter a cole��o da consulta que aparecer� na tela // passando o numero de paginas // da pesquisa que est� no request colecaoUnidadeOrganizacional = fachada .pesquisarUnidadeOrganizacionalFiltro(filtroUnidadeOrganizacional, (Integer) httpServletRequest .getAttribute("numeroPaginasPesquisa")); // [FS0003] Nenhum registro encontrado if (colecaoUnidadeOrganizacional == null || colecaoUnidadeOrganizacional.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado"); } String identificadorAtualizar = (String)sessao.getAttribute("indicadorAtualizar"); if (colecaoUnidadeOrganizacional.size()== 1 && identificadorAtualizar != null){ // caso o resultado do filtro s� retorne um registro // e o check box Atualizar estiver selecionado //o sistema n�o exibe a tela de manter, exibe a de atualizar retorno = actionMapping.findForward("atualizarUnidadeOrganizacional"); UnidadeOrganizacional unidadeOrganizacional = (UnidadeOrganizacional)colecaoUnidadeOrganizacional.iterator().next(); sessao.setAttribute("idRegistroAtualizacao", new Integer (unidadeOrganizacional.getId()).toString()); sessao.removeAttribute("manter"); }else{ sessao.setAttribute("collectionUnidadeOrganizacional", colecaoUnidadeOrganizacional); sessao.setAttribute("manter", "manter"); } sessao.setAttribute("collectionUnidadeOrganizacional", colecaoUnidadeOrganizacional); sessao.setAttribute("totalRegistros", totalRegistros); sessao.setAttribute("numeroPaginasPesquisa",httpServletRequest .getAttribute("numeroPaginasPesquisa")); } /*// Parte da verifica��o do filtro FiltroUnidadeOrganizacional filtroUnidadeOrganizacional = null; // Verifica se o filtro foi informado pela p�gina de filtragem de unidade organizacional if (sessao.getAttribute("filtroUnidadeOrganizacional") != null) { filtroUnidadeOrganizacional = (FiltroUnidadeOrganizacional) sessao .getAttribute("filtroUnidadeOrganizacional"); } if ((retorno != null)&&(retorno.getName().equalsIgnoreCase("manterUnidadeOrganizacional"))) { filtroUnidadeOrganizacional.adicionarCaminhoParaCarregamentoEntidade("unidadeTipo"); filtroUnidadeOrganizacional.setCampoOrderBy(FiltroUnidadeOrganizacional.ID,FiltroUnidadeOrganizacional.DESCRICAO); Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroUnidadeOrganizacional, UnidadeOrganizacional.class.getName()); collectionUnidadeOrganizacional = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); // [FS0003] Nenhum registro encontrado if (collectionUnidadeOrganizacional == null || collectionUnidadeOrganizacional.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado"); } String identificadorAtualizar = (String)sessao.getAttribute("indicadorAtualizar"); if (collectionUnidadeOrganizacional.size()== 1 && identificadorAtualizar != null){ // caso o resultado do filtro s� retorne um registro // e o check box Atualizar estiver selecionado //o sistema n�o exibe a tela de manter, exibe a de atualizar retorno = actionMapping.findForward("atualizarUnidadeOrganizacional"); UnidadeOrganizacional unidadeOrganizacional = (UnidadeOrganizacional)collectionUnidadeOrganizacional.iterator().next(); sessao.setAttribute("idRegistroAtualizacao", new Integer (unidadeOrganizacional.getId()).toString()); sessao.removeAttribute("manter"); }else{ sessao.setAttribute("collectionUnidadeOrganizacional", collectionUnidadeOrganizacional); sessao.setAttribute("manter", "manter"); } } */ sessao.removeAttribute("UseCase"); return retorno; } }