package gcom.gui.micromedicao.hidrometro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.hidrometro.FiltroHidrometroMovimentacao; import gcom.micromedicao.hidrometro.FiltroHidrometroMovimentado; import gcom.micromedicao.hidrometro.HidrometroMovimentacao; import gcom.micromedicao.hidrometro.HidrometroMovimentado; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; import java.util.Map; 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 Fernanda Paiva */ public class ExibirConsultarMovimentacaoHidrometroAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping .findForward("consultarMovimentacaoHidrometro"); // Obt�m a fachada Fachada fachada = Fachada.getInstancia(); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); // remove objetos da sess�o vindos do filtro sessao.removeAttribute("colecaoHidrometroMotivoMovimentacao"); sessao.removeAttribute("ManutencaoRegistroActionForm"); // Cria cole��o Collection colecaoHidrometroMovimentacao = null; Collection colecaoHidrometroMovimentado = null; FiltroHidrometroMovimentacao filtroHidrometroMovimentacao = (FiltroHidrometroMovimentacao) httpServletRequest .getAttribute("filtroMovimentacaoHidrometro"); if (sessao.getAttribute("fixo") != null && !sessao.getAttribute("fixo").equals("")) { String fixo = (String) sessao.getAttribute("fixo"); String faixaInicial = (String) sessao.getAttribute("faixaInicial"); String faixaFinal = (String) sessao.getAttribute("faixaFinal"); // 1� Passo - Pegar o total de registros atrav�s de um count da consulta // que aparecer� na tela Integer totalRegistros = this.getFachada().pesquisarNumeroHidrometroMovimentacaoPorFaixaCount(fixo, fixo + faixaInicial, fixo + faixaFinal); // 2� Passo - Chamar a fun��o de Pagina��o passando o total de registros retorno = this.controlarPaginacao(httpServletRequest, retorno,totalRegistros); colecaoHidrometroMovimentacao = this.getFachada().pesquisarNumeroHidrometroMovimentacaoPorFaixaPaginacao( fixo + faixaInicial, fixo + faixaFinal, ((Integer) httpServletRequest.getAttribute("numeroPaginasPesquisa"))); }else{ // Aciona o controle de pagina��o para que sejam pesquisados apenas // os registros que aparecem na p�gina Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroHidrometroMovimentacao, HidrometroMovimentacao.class.getName()); colecaoHidrometroMovimentacao = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); } if (!colecaoHidrometroMovimentacao.isEmpty()) { Iterator hidrometroMovimentacaoIterator = colecaoHidrometroMovimentacao .iterator(); while (hidrometroMovimentacaoIterator.hasNext()) { HidrometroMovimentacao hidrometroMovimentacao = (HidrometroMovimentacao) hidrometroMovimentacaoIterator .next(); FiltroHidrometroMovimentado filtroHidrometroMovimentado = new FiltroHidrometroMovimentado(); filtroHidrometroMovimentado .adicionarParametro(new ParametroSimples( FiltroHidrometroMovimentado.HIDROMETRO_MOVIMENTACAO_ID, hidrometroMovimentacao.getId())); colecaoHidrometroMovimentado = fachada.pesquisar( filtroHidrometroMovimentado, HidrometroMovimentado.class.getName()); Integer quantidade = colecaoHidrometroMovimentado.size(); hidrometroMovimentacao.setQuantidade(quantidade.toString()); } } // Caso a cole��o seja null if (colecaoHidrometroMovimentacao == null || colecaoHidrometroMovimentacao.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } // Envia objeto na sess�o sessao.setAttribute("colecaoHidrometroMovimentacao", colecaoHidrometroMovimentacao); // devolve o mapeamento de retorno return retorno; } }