package gcom.gui.arrecadacao.pagamento; import gcom.arrecadacao.ArrecadacaoForma; import gcom.arrecadacao.FiltroArrecadacaoForma; import gcom.arrecadacao.FiltroAvisoBancario; import gcom.arrecadacao.aviso.AvisoBancario; import gcom.arrecadacao.pagamento.FiltroPagamentoSituacao; import gcom.arrecadacao.pagamento.PagamentoSituacao; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.cliente.FiltroClienteRelacaoTipo; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.Localidade; import gcom.cobranca.DocumentoTipo; import gcom.cobranca.FiltroDocumentoTipo; import gcom.fachada.Fachada; import gcom.faturamento.debito.DebitoTipo; import gcom.faturamento.debito.FiltroDebitoTipo; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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; /** * Cria um filtro que ser� usado na pesquisa de pagamentos * * [UC0255] Filtrar Pagamentos * * @author Tiago Moreno, Roberta Costa ,Vivianne Sousa,Rafael Santos * @date 31/01/2006, 05/05/2003,07/10/2006 */ public class ExibirFiltrarPagamentoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("filtrarPagamento"); // Instacia a fachada Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Pega o formul�rio ConsultarPagamentoActionForm consultarPagamentoActionForm = (ConsultarPagamentoActionForm) actionForm; String tela = httpServletRequest.getParameter("tela"); // Verifica se o im�vel � v�lido String idImovel = consultarPagamentoActionForm.getIdImovel(); if (idImovel != null && !idImovel.equals("")) { FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("setorComercial"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTipo"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTitulo"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("enderecoReferencia"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroBairro.bairro.municipio.unidadeFederacao"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("quadra"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroCep.cep"); filtroImovel.adicionarParametro(new ParametroSimples( FiltroImovel.ID, idImovel)); Collection imoveis = fachada.pesquisar(filtroImovel, Imovel.class .getName()); if (imoveis != null && !imoveis.isEmpty()) { Imovel imovel = (Imovel) ((List) imoveis).get(0); httpServletRequest.setAttribute("imovel", imovel); consultarPagamentoActionForm.setInscricao(imovel .getInscricaoFormatada()); } else { httpServletRequest.setAttribute("matriculaInexistente", "true"); consultarPagamentoActionForm.setIdImovel(""); consultarPagamentoActionForm .setInscricao("MATR�CULA INEXISTENTE"); } } else if (idImovel != null && idImovel.equals("") && consultarPagamentoActionForm.getInscricao() .equalsIgnoreCase("MATR�CULA INEXISTENTE")) { httpServletRequest.setAttribute("matriculaInexistente", "true"); } // Verifica se o CLIENTE � v�lido String idCliente = consultarPagamentoActionForm.getIdCliente(); if (idCliente != null && !idCliente.equals("")) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, idCliente)); Collection clientes = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (clientes != null && !clientes.isEmpty()) { Cliente cliente = (Cliente) ((List) clientes).get(0); consultarPagamentoActionForm.setNomeCliente(cliente.getNome()); sessao.setAttribute("cliente", cliente); } else { httpServletRequest.setAttribute("clienteInexistente", "true"); consultarPagamentoActionForm.setIdCliente(""); consultarPagamentoActionForm .setNomeCliente("C�DIGO DE CLIENTE INEXISTENTE"); } } else if (idCliente != null && idCliente.equals("") && consultarPagamentoActionForm.getNomeCliente() .equalsIgnoreCase("C�DIGO DE CLIENTE INEXISTENTE")) { httpServletRequest.setAttribute("clienteInexistente", "true"); } // Verifica se a LOCALIDADE � v�lida String idLocalidadeInicial = consultarPagamentoActionForm.getLocalidadeInicial(); if (idLocalidadeInicial != null && !idLocalidadeInicial.trim().equals("")) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidadeInicial)); Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) { Localidade localidade = (Localidade) colecaoLocalidade .iterator().next(); consultarPagamentoActionForm.setLocalidadeInicial(idLocalidadeInicial); consultarPagamentoActionForm .setDescricaoLocalidadeInicial(localidade.getDescricao()); } else { consultarPagamentoActionForm.setLocalidadeInicial(""); consultarPagamentoActionForm .setDescricaoLocalidadeInicial("LOCALIDADE INEXISTENTE"); httpServletRequest.setAttribute("localidadeInexistente", true); } } String idLocalidadeFinal = consultarPagamentoActionForm.getLocalidadeFinal(); if (idLocalidadeFinal != null && !idLocalidadeFinal.trim().equals("")) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidadeFinal)); Collection colecaoLocalidade = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) { Localidade localidade = (Localidade) colecaoLocalidade .iterator().next(); consultarPagamentoActionForm.setLocalidadeFinal(idLocalidadeFinal); consultarPagamentoActionForm .setDescricaoLocalidadeFinal(localidade.getDescricao()); } else { consultarPagamentoActionForm.setLocalidadeFinal(""); consultarPagamentoActionForm .setDescricaoLocalidadeFinal("LOCALIDADE INEXISTENTE"); httpServletRequest.setAttribute("localidadeInexistente", true); } } String idAvisoBancario = consultarPagamentoActionForm.getIdAvisoBancario(); if (idAvisoBancario != null && !idAvisoBancario.trim().equals("")) { FiltroAvisoBancario filtroAvisoBancario = new FiltroAvisoBancario(); filtroAvisoBancario.adicionarCaminhoParaCarregamentoEntidade(FiltroAvisoBancario.ARRECADADOR); filtroAvisoBancario.adicionarParametro(new ParametroSimples(FiltroAvisoBancario.ID, idAvisoBancario)); Collection colecaoAvisoBancario = fachada.pesquisar(filtroAvisoBancario, AvisoBancario.class.getName()); if (colecaoAvisoBancario != null && !colecaoAvisoBancario.isEmpty()) { AvisoBancario avisoBancario = (AvisoBancario) Util.retonarObjetoDeColecao(colecaoAvisoBancario); consultarPagamentoActionForm.setCodigoAgenteArrecadador( avisoBancario.getArrecadador().getCodigoAgente().toString()); consultarPagamentoActionForm.setDataLancamentoAviso( Util.formatarData(avisoBancario.getDataLancamento()) ); consultarPagamentoActionForm.setNumeroSequencialAviso( avisoBancario.getNumeroSequencial().toString() ); } else { consultarPagamentoActionForm.setCodigoAgenteArrecadador( ""); consultarPagamentoActionForm.setDataLancamentoAviso( "AVISO INEXISTENTE" ); consultarPagamentoActionForm.setNumeroSequencialAviso( "" ); consultarPagamentoActionForm.setIdAvisoBancario( "" ); httpServletRequest.setAttribute("avisoInexistente", true); } } // Pegando valores pra o combo Tipo de Relacao do Cliente FiltroClienteRelacaoTipo filtroClienteRelacaoTipo = new FiltroClienteRelacaoTipo( FiltroClienteRelacaoTipo.DESCRICAO); filtroClienteRelacaoTipo .adicionarParametro(new ParametroSimples( FiltroClienteRelacaoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoClienteRelacaoTipo = fachada .pesquisar(filtroClienteRelacaoTipo, ClienteRelacaoTipo.class.getName()); sessao.setAttribute("colecaoClienteRelacaoTipo", colecaoClienteRelacaoTipo); // Pegando valores pra o combo Tipo de Situacao de Pagamentos FiltroPagamentoSituacao filtroPagamentoSituacao = new FiltroPagamentoSituacao( FiltroPagamentoSituacao.DESCRICAO); Collection colecaoPagamentoSituacao = fachada .pesquisar(filtroPagamentoSituacao, PagamentoSituacao.class.getName()); sessao.setAttribute("colecaoPagamentoSituacao", colecaoPagamentoSituacao); // Pegando valores pra o combo FORMA DE ARRECADACAO FiltroArrecadacaoForma filtroArrecadacaoForma = new FiltroArrecadacaoForma( FiltroArrecadacaoForma.DESCRICAO); Collection colecaoArrecadacaoForma = fachada .pesquisar(filtroArrecadacaoForma, ArrecadacaoForma.class.getName()); sessao.setAttribute("colecaoArrecadacaoForma", colecaoArrecadacaoForma); // Pegando valores pra o combo Tipo de D�bito FiltroDebitoTipo filtroDebitoTipo = new FiltroDebitoTipo( FiltroDebitoTipo.DESCRICAO); filtroDebitoTipo.setConsultaSemLimites(true); Collection colecaoDebitoTipo = fachada .pesquisar(filtroDebitoTipo, DebitoTipo.class.getCanonicalName()); sessao.setAttribute("colecaoDebitoTipo", colecaoDebitoTipo); //Pegando valores pra o combo Tipo de Documento FiltroDocumentoTipo filtroDocumentoTipo = new FiltroDocumentoTipo( FiltroDocumentoTipo.DESCRICAO); Collection colecaoDocumentoTipo = fachada .pesquisar(filtroDocumentoTipo, DocumentoTipo.class.getName()); sessao.setAttribute("colecaoDocumentoTipo", colecaoDocumentoTipo); if (httpServletRequest.getParameter("tela") != null) { sessao.setAttribute("tela",tela); String primeiraVez = httpServletRequest.getParameter("menu"); if (primeiraVez != null && !primeiraVez.equals("")) { sessao.setAttribute("indicadorAtualizar","1"); } } //se voltou da tela de Atualizar Pagamento if (sessao.getAttribute("voltar") != null && sessao.getAttribute("voltar").equals("filtrar")){ sessao.setAttribute("indicadorAtualizar","1"); } //seta o valor para a op��o de pagamento if(consultarPagamentoActionForm.getOpcaoPagamento() == null){ consultarPagamentoActionForm.setOpcaoPagamento("atual"); } return retorno; } }