package gcom.gui.atendimentopublico; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoEsgotamento; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoEsgotamento; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ComparacaoTextoCompleto; import gcom.util.filtro.ParametroSimples; 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; /** * [UC0838]FILTRAR LIGACAO DE ESGOTO ESGOTAMENTO * * @author Arthur Carvalho * @date 25/08/08 */ public class FiltrarLigacaoEsgotoEsgotamentoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("exibirManterLigacaoEsgotoEsgotamento"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); FiltrarLigacaoEsgotoEsgotamentoActionForm filtrarLigacaoEsgotoEsgotamentoActionForm = (FiltrarLigacaoEsgotoEsgotamentoActionForm) actionForm; FiltroLigacaoEsgotoEsgotamento filtroLigacaoEsgotoEsgotamento = new FiltroLigacaoEsgotoEsgotamento(); boolean peloMenosUmParametroInformado = false; String id = filtrarLigacaoEsgotoEsgotamentoActionForm.getId(); String quantidadeMesesSituacaoEspecial = filtrarLigacaoEsgotoEsgotamentoActionForm.getQuantidadeMesesSituacaoEspecial(); String descricao = filtrarLigacaoEsgotoEsgotamentoActionForm.getDescricao(); String indicadorUso = filtrarLigacaoEsgotoEsgotamentoActionForm.getIndicadorUso(); String faturamentoSituacaoTipo = filtrarLigacaoEsgotoEsgotamentoActionForm.getFaturamentoSituacaoTipo(); String tipoPesquisa = filtrarLigacaoEsgotoEsgotamentoActionForm.getTipoPesquisa(); String faturamentoSituacaoMotivo = filtrarLigacaoEsgotoEsgotamentoActionForm.getFaturamentoSituacaoMotivo(); //Indicador Atualizar String indicadorAtualizar = httpServletRequest.getParameter("indicadorAtualizar"); if (indicadorAtualizar != null && !indicadorAtualizar.equals("")) { sessao.setAttribute("indicadorAtualizar", indicadorAtualizar); } else { sessao.removeAttribute("indicadorAtualizar"); } //CODIGO if (id != null && !id.trim().equals("")) { boolean achou = fachada.verificarExistenciaAgente(new Integer(id)); if (achou) { peloMenosUmParametroInformado = true; filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroSimples( FiltroLigacaoEsgotoEsgotamento.ID, id)); } } //Motivo da situacal especial de faturamento if (faturamentoSituacaoMotivo != null && !faturamentoSituacaoMotivo.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroSimples( FiltroLigacaoEsgotoEsgotamento.FATURAMENTO_SITUACAO_MOTIVO_ID, faturamentoSituacaoMotivo)); } //Tipo de situacao especial de faturamento if (faturamentoSituacaoTipo != null && !faturamentoSituacaoTipo.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroSimples( FiltroLigacaoEsgotoEsgotamento.FATURAMENTO_SITUACAO_TIPO_ID, faturamentoSituacaoTipo)); } // Descricao if (descricao != null && !descricao.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroLigacaoEsgotoEsgotamento .adicionarParametro(new ComparacaoTextoCompleto( FiltroLigacaoEsgotoEsgotamento.DESCRICAO, descricao)); } else { filtroLigacaoEsgotoEsgotamento.adicionarParametro(new ComparacaoTexto( FiltroLigacaoEsgotoEsgotamento.DESCRICAO, descricao)); } } //Quantidade de meses para situacao especial de faturamento if (quantidadeMesesSituacaoEspecial != null && !quantidadeMesesSituacaoEspecial.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroLigacaoEsgotoEsgotamento .adicionarParametro(new ComparacaoTextoCompleto( FiltroLigacaoEsgotoEsgotamento.QUANTIDADE_MESES_SITUACAO_ESPECIAL, quantidadeMesesSituacaoEspecial)); } else { filtroLigacaoEsgotoEsgotamento.adicionarParametro(new ComparacaoTexto( FiltroLigacaoEsgotoEsgotamento.QUANTIDADE_MESES_SITUACAO_ESPECIAL, quantidadeMesesSituacaoEspecial)); } } // Indicador uso if (indicadorUso != null && !indicadorUso.trim().equals("")) { peloMenosUmParametroInformado = true; filtroLigacaoEsgotoEsgotamento.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoEsgotamento.INDICADOR_USO, indicadorUso)); } filtroLigacaoEsgotoEsgotamento.adicionarCaminhoParaCarregamentoEntidade("faturamentoSituacaoTipo"); filtroLigacaoEsgotoEsgotamento.adicionarCaminhoParaCarregamentoEntidade("faturamentoSituacaoMotivo"); Collection <LigacaoEsgotoEsgotamento> colecaoLigacaoEsgotoEsgotamento = fachada .pesquisar(filtroLigacaoEsgotoEsgotamento, LigacaoEsgotoEsgotamento.class .getName()); // Verificar a existencia de um Grupo de cadastro if (colecaoLigacaoEsgotoEsgotamento.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null,"Liga��o de Esgoto Esgotamento"); } // Filtragem sem parametros if (!peloMenosUmParametroInformado == true) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Pesquisa sem registros if (colecaoLigacaoEsgotoEsgotamento == null || colecaoLigacaoEsgotoEsgotamento.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "Liga��o de Esgoto Esgotamento"); } else { httpServletRequest.setAttribute("colecaoLigacaoEsgotoEsgotamento", colecaoLigacaoEsgotoEsgotamento); LigacaoEsgotoEsgotamento ligacaoEsgotoEsgotamento= new LigacaoEsgotoEsgotamento(); ligacaoEsgotoEsgotamento = (LigacaoEsgotoEsgotamento) Util .retonarObjetoDeColecao(colecaoLigacaoEsgotoEsgotamento); String idRegistroAtualizar = ligacaoEsgotoEsgotamento.getId().toString(); sessao.setAttribute("idRegistroAtualizar", idRegistroAtualizar); } sessao.setAttribute("filtroLigacaoEsgotoEsgotamento", filtroLigacaoEsgotoEsgotamento); httpServletRequest.setAttribute("filtroLigacaoEsgotoEsgotamento", filtroLigacaoEsgotoEsgotamento); return retorno; } }