package gcom.gui.cobranca; import gcom.cobranca.CobrancaSituacao; import gcom.cobranca.FiltroCobrancaSituacao; 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 FiltrarCobrancaSituacaoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("exibirManterCobrancaSituacao"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); FiltrarCobrancaSituacaoActionForm filtrarCobrancaSituacaoActionForm = (FiltrarCobrancaSituacaoActionForm) actionForm; FiltroCobrancaSituacao filtroCobrancaSituacao = new FiltroCobrancaSituacao(); boolean peloMenosUmParametroInformado = false; String id = filtrarCobrancaSituacaoActionForm.getId(); String contaMotivoRevisao = filtrarCobrancaSituacaoActionForm.getContaMotivoRevisao(); String descricao = filtrarCobrancaSituacaoActionForm.getDescricao(); String indicadorUso = filtrarCobrancaSituacaoActionForm.getIndicadorUso(); String indicadorExigenciaAdvogado = filtrarCobrancaSituacaoActionForm.getIndicadorExigenciaAdvogado(); String tipoPesquisa = filtrarCobrancaSituacaoActionForm.getTipoPesquisa(); String indicadorBloqueioParcelamento = filtrarCobrancaSituacaoActionForm.getIndicadorBloqueioParcelamento(); String indicadorBloqueioRetirada = filtrarCobrancaSituacaoActionForm.getIndicadorBloqueioRetirada(); String indicadorBloqueioInclusao = filtrarCobrancaSituacaoActionForm.getIndicadorBloqueioInclusao(); String profissao = filtrarCobrancaSituacaoActionForm.getProfissao(); String ramoAtividade = filtrarCobrancaSituacaoActionForm.getRamoAtividade(); String indicadorSelecaoApenasComPermissao = filtrarCobrancaSituacaoActionForm.getIndicadorSelecaoApenasComPermissao(); String indicadorPrescricaoImoveisParticulares = filtrarCobrancaSituacaoActionForm.getIndicadorPrescricaoImoveisParticulares(); //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; filtroCobrancaSituacao.adicionarParametro( new ParametroSimples( FiltroCobrancaSituacao.ID, id)); } } //Motivo da situacal especial de faturamento if (contaMotivoRevisao != null && !contaMotivoRevisao.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro( new ParametroSimples( FiltroCobrancaSituacao.CONTA_MOTIVO_REVISAO, contaMotivoRevisao)); } // Descricao if (descricao != null && !descricao.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroCobrancaSituacao .adicionarParametro(new ComparacaoTextoCompleto( FiltroCobrancaSituacao.DESCRICAO, descricao)); } else { filtroCobrancaSituacao.adicionarParametro(new ComparacaoTexto( FiltroCobrancaSituacao.DESCRICAO, descricao)); } } // Exige Advogado if (indicadorExigenciaAdvogado != null && !indicadorExigenciaAdvogado.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_EXIGENCIA_ADVOGADO, indicadorExigenciaAdvogado)); } //Bloqueia Parcelamento if (indicadorBloqueioParcelamento != null && !indicadorBloqueioParcelamento.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_BLOQUEIO_PARCELAMENTO, indicadorBloqueioParcelamento)); } //Bloqueia Retirada if ( indicadorBloqueioRetirada != null && !indicadorBloqueioRetirada.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_BLOQUEIO_RETIRADA, indicadorBloqueioRetirada)); } //Indicador Selecao Apenas Com Permissao if ( indicadorSelecaoApenasComPermissao != null && !indicadorSelecaoApenasComPermissao.trim().equals("") ) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_SELECAO_APENAS_COM_PERMISSAO, indicadorSelecaoApenasComPermissao)); } // Indicador Prescricao Imoveis Particulares if(indicadorPrescricaoImoveisParticulares != null && !indicadorPrescricaoImoveisParticulares.trim().equals("") ){ peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro( new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_PRESCRICAO_IMOVEIS_PARTICULARES, indicadorPrescricaoImoveisParticulares)); } //Bloqueia Retirada if ( indicadorBloqueioInclusao != null && !indicadorBloqueioInclusao.trim().equals("") ) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_BLOQUEIO_INCLUSAO, indicadorBloqueioInclusao)); } // Indicador uso if (indicadorUso != null && !indicadorUso.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro(new ParametroSimples( FiltroCobrancaSituacao.INDICADOR_USO, indicadorUso)); } //Profissao if (profissao != null && !profissao.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro( new ParametroSimples( FiltroCobrancaSituacao.PROFISSAO, profissao)); } //Ramo Atividade if (ramoAtividade != null && !ramoAtividade.equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroCobrancaSituacao.adicionarParametro( new ParametroSimples( FiltroCobrancaSituacao.RAMO_ATIVIDADE, ramoAtividade)); } filtroCobrancaSituacao.adicionarCaminhoParaCarregamentoEntidade("contaMotivoRevisao"); Collection <CobrancaSituacao> colecaoCobrancaSituacao = fachada .pesquisar(filtroCobrancaSituacao, CobrancaSituacao.class .getName()); // Filtragem sem parametros if (!peloMenosUmParametroInformado == true) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Pesquisa sem registros if (colecaoCobrancaSituacao == null || colecaoCobrancaSituacao.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "Situa��o de Cobran�a"); } else { httpServletRequest.setAttribute("colecaoCobrancaSituacao", colecaoCobrancaSituacao); CobrancaSituacao cobrancaSituacao= new CobrancaSituacao(); cobrancaSituacao = (CobrancaSituacao) Util .retonarObjetoDeColecao(colecaoCobrancaSituacao); String idRegistroAtualizar = cobrancaSituacao.getId().toString(); sessao.setAttribute("idRegistroAtualizar", idRegistroAtualizar); } sessao.setAttribute("filtroCobrancaSituacao", filtroCobrancaSituacao); httpServletRequest.setAttribute("filtroCobrancaSituacao", filtroCobrancaSituacao); return retorno; } }