package gcom.gui.cobranca; import gcom.arrecadacao.pagamento.FiltroPagamentoSituacao; import gcom.arrecadacao.pagamento.Pagamento; import gcom.arrecadacao.pagamento.PagamentoSituacao; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.FiltroClienteRelacaoTipo; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; 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; /** * < <Descri��o da Classe>> * * @author Fernanda Paiva */ public class ConsultarDebitoAction 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 a a��o de retorno ActionForward retorno = null; // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); ConsultarDebitoActionForm consultarDebitoActionForm = (ConsultarDebitoActionForm) actionForm; String codigoImovel = null; if (httpServletRequest.getParameter("codigoImovel") != null) { codigoImovel = httpServletRequest .getParameter("codigoImovel"); } else { codigoImovel = consultarDebitoActionForm.getCodigoImovel(); } String codigoClienteSuperior = consultarDebitoActionForm .getCodigoClienteSuperior(); String codigoCliente = consultarDebitoActionForm .getCodigoCliente(); Integer tipoRelacao = null; if (codigoCliente != null && !codigoCliente.trim().equals("")) { if (consultarDebitoActionForm.getTipoRelacao() != null && !consultarDebitoActionForm.getTipoRelacao().trim() .equals("-1")) { tipoRelacao = new Integer(consultarDebitoActionForm .getTipoRelacao()); } else { tipoRelacao = null; } } // Verifica se o usu�rio n�o digitou c�digo do cliente nem a matricula // do imovel if ((codigoImovel == null || codigoImovel.equals("")) && (codigoCliente == null || codigoCliente.equals("")) && (codigoClienteSuperior == null || codigoClienteSuperior .equals(""))) { throw new ActionServletException( "atencao.verificar.informado.imovel_cliente"); } boolean peloMenosUmParametroInformado = false; if (codigoImovel != null && !codigoImovel.trim().equals("")) { codigoImovel = codigoImovel.trim(); FiltroPagamentoSituacao filtroPagamentoSituacao = new FiltroPagamentoSituacao(); filtroPagamentoSituacao.adicionarParametro(new ParametroSimples(FiltroPagamentoSituacao.DESCRICAO_ABREVIADA, "NCONF")); PagamentoSituacao pagamentoSituacao = (PagamentoSituacao) Util.retonarObjetoDeColecao(fachada.pesquisar(filtroPagamentoSituacao, PagamentoSituacao.class.getName())); Object[] colecaoContasInconformes = fachada.pesquisarPagamentoInconformeImovel(codigoImovel.trim()); Collection<Pagamento> colecaoPagamentosInconformesAtuais = (Collection<Pagamento>) colecaoContasInconformes[0]; Collection<Pagamento> colecaoPagamentosInconformesPreteritas = (Collection<Pagamento>) colecaoContasInconformes[1]; Collection<Pagamento> colecaoPagamentosImovelContaInconformes = new ArrayList<Pagamento>(); colecaoPagamentosImovelContaInconformes.addAll(colecaoPagamentosInconformesAtuais); colecaoPagamentosImovelContaInconformes.addAll(colecaoPagamentosInconformesPreteritas); sessao.setAttribute("colecaoPagamentosImovelContaInconformes", colecaoPagamentosImovelContaInconformes); sessao.setAttribute("colecaoPagamentosInconformesAtuais", colecaoPagamentosInconformesAtuais); sessao.setAttribute("colecaoPagamentosInconformesPreteritos", colecaoPagamentosInconformesPreteritas); // Seta o retorno para a p�gina que vai detalhar o imovel retorno = actionMapping.findForward("exibirDebitoImovel"); peloMenosUmParametroInformado = true; } else if ((codigoCliente != null && !codigoCliente.trim().equals(""))) { codigoCliente = codigoCliente.trim(); // Seta o retorno para a p�gina que vai detalhar o cliente retorno = actionMapping.findForward("exibirDebitoCliente"); peloMenosUmParametroInformado = true; } else if ((codigoClienteSuperior != null && !codigoClienteSuperior .trim().equals(""))) { codigoClienteSuperior = codigoClienteSuperior.trim(); // Seta o retorno para a p�gina que vai detalhar o cliente retorno = actionMapping.findForward("exibirDebitoCliente"); peloMenosUmParametroInformado = true; } // ClienteRelacaoTipo tipoRelacaoSelecionada = null; // Verifica o tipo de rela��o if (tipoRelacao != null && !tipoRelacao.equals("") && tipoRelacao != ConstantesSistema.NUMERO_NAO_INFORMADO) { FiltroClienteRelacaoTipo filtroClienteRelacaoTipo = new FiltroClienteRelacaoTipo(); filtroClienteRelacaoTipo.adicionarParametro(new ParametroSimples( FiltroClienteRelacaoTipo.CLIENTE_RELACAO_TIPO_ID, tipoRelacao)); Collection<ClienteRelacaoTipo> collectionClienteRelacaoTipo = fachada .pesquisar(filtroClienteRelacaoTipo, ClienteRelacaoTipo.class.getName()); if (collectionClienteRelacaoTipo != null && collectionClienteRelacaoTipo.isEmpty()) { throw new ActionServletException( "atencao.collectionClienteRelacaoTipo_inexistente", null, "id"); } /* tipoRelacaoSelecionada = */sessao.setAttribute("tipoRelacao", collectionClienteRelacaoTipo .iterator().next()); } else { tipoRelacao = null; } // Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.selecionar.nenhum_parametro_informado"); } if (httpServletRequest.getParameter("ehPopup") != null) { sessao.setAttribute("ehPopup", "true"); } if (httpServletRequest.getParameter("caminhoRetornoTelaConsultaDebito") != null) { httpServletRequest.setAttribute("caminhoRetornoTelaConsultaDebito", httpServletRequest .getParameter("caminhoRetornoTelaConsultaDebito")); } return retorno; } }