package gcom.gui.seguranca.acesso.usuario; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuarioGrupo; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.Util; import java.util.ArrayList; 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; public class ExibirManterUsuarioAction 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) { // Inicializando Variaveis ActionForward retorno = actionMapping.findForward("manterUsuario"); HttpSession sessao = httpServletRequest.getSession(false); Collection collectionUsuariosGrupos = null; Short indicadorUsuarioBatch = (Short) sessao.getAttribute("indicadorUsuarioBatch"); Short indicadorUsuarioInternet = (Short) sessao.getAttribute("indicadorUsuarioInternet"); // Parte da verifica��o do filtro FiltroUsuarioGrupo filtroUsuarioGrupo = null; // Verifica se o filtro foi informado pela p�gina de filtragem de // cobranca crit�rio if (sessao.getAttribute("filtroUsuarioGrupo") != null) { filtroUsuarioGrupo = (FiltroUsuarioGrupo) sessao .getAttribute("filtroUsuarioGrupo"); } //Caso seja selecionado o indicador de Usuario batch ou internet n�o utilizar o FiltroUsuarioGrupo para fazer a busca if(indicadorUsuarioBatch == 1 || indicadorUsuarioInternet == 1){ String identificadorAtualizar = (String) sessao.getAttribute("indicadorAtualizar"); // 1� Passo - Pegar o total de registros atrav�s de um count da // consulta que aparecer� na tela Integer totalRegistros = 0; // 2� Passo - Obter a cole��o da consulta que aparecer� na tela // passando o numero de paginas // da pesquisa que est� no request collectionUsuariosGrupos = new ArrayList<Usuario>(); if(indicadorUsuarioBatch == 1){ Usuario userBatch = Fachada.getInstancia().pesquisarUsuarioRotinaBatch(); if(indicadorUsuarioInternet == 1){ Usuario userInternet = Fachada.getInstancia().pesquisarUsuarioInternet(); if(userBatch != null && userInternet != null && userBatch.getId().compareTo(userInternet.getId()) == 0){ collectionUsuariosGrupos.add(userBatch); } }else{ if(userBatch != null){ collectionUsuariosGrupos.add(userBatch); } } }else{ Usuario userInternet = Fachada.getInstancia().pesquisarUsuarioInternet(); if(userInternet != null ){ collectionUsuariosGrupos.add(userInternet); } } // [FS0003] Nenhum registro encontrado if (collectionUsuariosGrupos == null || collectionUsuariosGrupos.isEmpty()) { // Nenhum criterio de cobran�a cadastrada throw new ActionServletException( "atencao.pesquisa.nenhumresultado"); } totalRegistros = collectionUsuariosGrupos.size(); //3� Passo - Chamar a fun��o de Pagina��o passando o total de // registros retorno = this.controlarPaginacao(httpServletRequest, retorno, totalRegistros); if (totalRegistros == 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("atualizarUsuario"); Usuario usuarioParaAtualizar = (Usuario) Util .retonarObjetoDeColecao(collectionUsuariosGrupos); httpServletRequest.setAttribute("idRegistroAtualizacao", new Integer(usuarioParaAtualizar.getId()).toString()); httpServletRequest.setAttribute("atualizar", "1"); } else { sessao.setAttribute("collectionUsuariosGrupos", collectionUsuariosGrupos); } }else{ if ((retorno != null) && (retorno.getName().equalsIgnoreCase("manterUsuario"))) { String identificadorAtualizar = (String) sessao .getAttribute("indicadorAtualizar"); // 1� Passo - Pegar o total de registros atrav�s de um count da // consulta que aparecer� na tela Integer totalRegistros = Fachada.getInstancia() .totalRegistrosPesquisaUsuarioGrupo(filtroUsuarioGrupo); // 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 collectionUsuariosGrupos = Fachada.getInstancia() .pesquisarUsuariosDosGruposUsuarios( filtroUsuarioGrupo, ((Integer) httpServletRequest .getAttribute("numeroPaginasPesquisa"))); // [FS0003] Nenhum registro encontrado if (collectionUsuariosGrupos == null || collectionUsuariosGrupos.isEmpty()) { // Nenhum criterio de cobran�a cadastrada throw new ActionServletException( "atencao.pesquisa.nenhumresultado"); } if (totalRegistros == 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("atualizarUsuario"); Usuario usuarioParaAtualizar = (Usuario) Util .retonarObjetoDeColecao(collectionUsuariosGrupos); httpServletRequest.setAttribute("idRegistroAtualizacao", new Integer(usuarioParaAtualizar.getId()).toString()); httpServletRequest.setAttribute("atualizar", "1"); } else { sessao.setAttribute("collectionUsuariosGrupos", collectionUsuariosGrupos); } } } sessao.removeAttribute("desabilita"); return retorno; } }