package gcom.gui.arrecadacao; import gcom.arrecadacao.Devolucao; import gcom.arrecadacao.FiltroAvisoBancario; import gcom.arrecadacao.FiltroDevolucao; import gcom.arrecadacao.FiltroDevolucaoHistorico; import gcom.arrecadacao.aviso.AvisoBancario; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.sistemaparametro.FiltroSistemaParametro; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.cobranca.DocumentoTipo; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ConectorOr; import gcom.util.filtro.Intervalo; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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; public class FiltrarDevolucaoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = null; Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); FiltrarDevolucaoActionForm filtrarDevolucaoActionForm = (FiltrarDevolucaoActionForm) actionForm; Collection colecaoClientesDevolucoes = null; Collection colecaoClientesDevolucoesHistorico = null; // Collection colecaoClientesContasDevolucoes = null; // Collection colecaoClientesGuiasPagamentosDevolucoes = null; // Collection colecaoClientesDebitosACobrarDevolucoes = null; Collection colecaoImoveisDevolucoes = null; Collection colecaoImoveisDevolucoesHistorico = null; // Collection colecaoImoveisContasDevolucoes = null; // Collection colecaoImoveisGuiasPagamentosDevolucoes = null; // Collection colecaoImoveisDebitosACobrarDevolucoes = null; Collection colecaoAvisosBancariosDevolucoes = null; Collection colecaoAvisosBancariosDevolucoesHistorico = null; // Collection colecaoAvisosBancariosContasDevolucoes = null; // Collection colecaoAvisosBancariosGuiasPagamentosDevolucoes = null; // Collection colecaoAvisosBancariosDebitosACobrarDevolucoes = null; Collection colecaoLocalidadeDevolucoes = null; Collection colecaoLocalidadeDevolucoesHistorico = null; // Recupera os par�metros do form String idImovel = filtrarDevolucaoActionForm.getIdImovel(); String idCliente = filtrarDevolucaoActionForm.getIdCliente(); String idTipoRelacao = filtrarDevolucaoActionForm.getClienteRelacaoTipo(); String idLocalidadeInicial = filtrarDevolucaoActionForm.getIdLocalidadeInicial(); String idLocalidadeFinal = filtrarDevolucaoActionForm.getIdLocalidadeFinal(); String idAvisoBancario = filtrarDevolucaoActionForm.getIdAvisoBancario(); String periodoArrecadacaoInicial = filtrarDevolucaoActionForm.getPeriodoArrecadacaoInicio(); String periodoArrecadacaoFinal = filtrarDevolucaoActionForm.getPeriodoArrecadacaoFim(); String dataDevolucaoInicial = filtrarDevolucaoActionForm.getDataDevolucaoInicio(); String dataDevolucaoFinal = filtrarDevolucaoActionForm.getDataDevolucaoFim(); String[] idsDevolucoesSituacoes = filtrarDevolucaoActionForm.getDevolucaoSituacao(); String[] idsCreditosTipos = filtrarDevolucaoActionForm.getCreditoTipo(); String[] idsDocumentosTipos = filtrarDevolucaoActionForm.getDocumentoTipo(); String atualizar = httpServletRequest.getParameter("atualizar"); String indicadorOpcaoDevolucao = "" + filtrarDevolucaoActionForm .getIndicadorOpcaoDevolucao(); String tela = (String) sessao.getAttribute("tela"); Boolean telaConsultaDevolucaoAtual = false; Boolean telaConsultaDevolucaoHistorico = false; if ((tela == null || tela.equals("") &&(indicadorOpcaoDevolucao != null && !indicadorOpcaoDevolucao.equals("")))) { //filtrar vai para tela de Consultar Devolu��es if (indicadorOpcaoDevolucao.equals("1")){ //consulta a tabela devolucao telaConsultaDevolucaoAtual = true; }else if (indicadorOpcaoDevolucao.equals("2")){ //consulta a tabela devolucao_historico telaConsultaDevolucaoHistorico = true; }else{ //consulta as tabelas devolucao e devolucao_historico telaConsultaDevolucaoAtual = true; telaConsultaDevolucaoHistorico = true; } }else{ //filtrar vai para tela de Manter Devolu��es telaConsultaDevolucaoAtual = true; } // Alterado para verificar se o mes ano da data inicial ou final � maior que o mes ano do faturamento corrente. // Fernanda Paiva 30/08/2006 FiltroSistemaParametro filtroSistemaParametro = new FiltroSistemaParametro(); Collection<SistemaParametro> colecaoSistemaParametro = fachada.pesquisar(filtroSistemaParametro, SistemaParametro.class.getName()); SistemaParametro sistemaParametro = colecaoSistemaParametro.iterator().next(); Integer mesAnoFaturamento = sistemaParametro.getAnoMesFaturamento(); Integer mesAnoDataInicial = null; Integer mesAnoDataFinal = null; if(filtrarDevolucaoActionForm.getDataDevolucaoInicio() != null && !filtrarDevolucaoActionForm.getDataDevolucaoInicio().equalsIgnoreCase("")) { mesAnoDataInicial = new Integer(filtrarDevolucaoActionForm.getDataDevolucaoInicio().substring(6,10)+filtrarDevolucaoActionForm.getDataDevolucaoInicio().substring(3,5)); if(Util.compararAnoMesReferencia(mesAnoDataInicial,mesAnoFaturamento,">")) { throw new ActionServletException( "atencao.mes.ano.inicial.maior.mes.ano.faturamento.corrente", null,Util.formatarAnoMesParaMesAno(mesAnoFaturamento.toString())); } } if(filtrarDevolucaoActionForm.getDataDevolucaoFim() != null && !filtrarDevolucaoActionForm.getDataDevolucaoFim().equalsIgnoreCase("")) { mesAnoDataFinal = new Integer(filtrarDevolucaoActionForm.getDataDevolucaoFim().substring(6,10)+filtrarDevolucaoActionForm.getDataDevolucaoFim().substring(3,5)); if(Util.compararAnoMesReferencia(mesAnoDataFinal,mesAnoFaturamento,">")) { throw new ActionServletException( "atencao.mes.ano.final.maior.mes.ano.faturamento.corrente", null,Util.formatarAnoMesParaMesAno(mesAnoFaturamento.toString())); } } // [FS0003] - Verificar se um dos campos obrigat�rios foi informado // Caso o usu�rio n�o tenha informado nenhum desses campos faz um // cr�tica solicitando que ele digite algum deles FiltroDevolucao filtroDevolucao = new FiltroDevolucao(); FiltroDevolucaoHistorico filtroDevolucaoHistorico = new FiltroDevolucaoHistorico(); int flag = 0; if(sessao.getAttribute("telaManter") == null) { if ((idImovel == null || idImovel.trim().equals("")) && (idCliente == null || idCliente.trim().equals("")) && (idAvisoBancario == null || idAvisoBancario.trim() .equals("")) && ((idLocalidadeInicial == null || idLocalidadeInicial.trim() .equals("")) || (idLocalidadeFinal == null || idLocalidadeFinal .trim().equals("")))) { throw new ActionServletException( "atencao.parametros.obrigatorios.nao.informados"); } // cria o filtro para Tabela Auxiliar boolean peloMenosUmParametroInformado = false; // Per�odo Arrecada��o if (periodoArrecadacaoInicial != null && !periodoArrecadacaoInicial.equals("")) { peloMenosUmParametroInformado = true; if (periodoArrecadacaoFinal == null || periodoArrecadacaoFinal.equals("")) { periodoArrecadacaoFinal = periodoArrecadacaoInicial; } String periodoArrecadacaoInicialFormatado = Util .formatarMesAnoParaAnoMesSemBarra(periodoArrecadacaoInicial); String periodoArrecadacaoFinalFormatado = Util .formatarMesAnoParaAnoMesSemBarra(periodoArrecadacaoFinal); if (telaConsultaDevolucaoAtual){ filtroDevolucao.adicionarParametro(new Intervalo( FiltroDevolucao.ANO_MES_REFERENCIA_ARRECADACAO, periodoArrecadacaoInicialFormatado, periodoArrecadacaoFinalFormatado)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico.adicionarParametro(new Intervalo( FiltroDevolucao.ANO_MES_REFERENCIA_ARRECADACAO, periodoArrecadacaoInicialFormatado, periodoArrecadacaoFinalFormatado)); } } // Per�odo Data Devolu��o if (dataDevolucaoInicial != null && !dataDevolucaoInicial.equals("")) { peloMenosUmParametroInformado = true; if (dataDevolucaoFinal == null || dataDevolucaoFinal.equals("")) { dataDevolucaoFinal = dataDevolucaoInicial; } Date dataDevolucaoInicialFormatada = Util .converteStringParaDate(dataDevolucaoInicial); String data1 = Util.recuperaDataInvertida(dataDevolucaoInicialFormatada); if (data1 != null && !data1.equals("") && data1.trim().length() == 8) { data1 = data1.substring(0, 4) + "-" + data1.substring(4, 6) + "-" + data1.substring(6, 8); } Date dataDevolucaoFinalFormatada = Util .converteStringParaDate(dataDevolucaoFinal); String data2 = Util.recuperaDataInvertida(dataDevolucaoFinalFormatada); if (data2 != null && !data2.equals("") && data2.trim().length() == 8) { data2 = data2.substring(0, 4) + "-" + data2.substring(4, 6) + "-" + data2.substring(6, 8); } if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new Intervalo( FiltroDevolucao.DATA_DEVOLUCAO, data1, data2)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new Intervalo( FiltroDevolucao.DATA_DEVOLUCAO, data1, data2)); } /*filtroDevolucao .adicionarParametro(new Intervalo( FiltroDevolucao.DATA_DEVOLUCAO, dataDevolucaoInicial, dataDevolucaoFinal));*/ } // Situa��o da Devolu��o int i = 0; if (idsDevolucoesSituacoes != null) { while (i < idsDevolucoesSituacoes.length) { if (!idsDevolucoesSituacoes[i].equals("")) { peloMenosUmParametroInformado = true; if (i + 1 < idsDevolucoesSituacoes.length) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_SITUACAO_ATUAL_ID, idsDevolucoesSituacoes[i], ConectorOr.CONECTOR_OR, (idsDevolucoesSituacoes.length))); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_SITUACAO_ATUAL_ID, idsDevolucoesSituacoes[i], ConectorOr.CONECTOR_OR, (idsDevolucoesSituacoes.length))); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_SITUACAO_ATUAL_ID, idsDevolucoesSituacoes[i])); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_SITUACAO_ATUAL_ID, idsDevolucoesSituacoes[i])); } } } i++; } } // Tipo de Cr�dito i = 0; if (idsCreditosTipos != null) { while (i < idsCreditosTipos.length) { if (!idsCreditosTipos[i].equals("")) { peloMenosUmParametroInformado = true; if (i + 1 < idsCreditosTipos.length) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_CREDITO_TIPO_ID, idsCreditosTipos[i], ConectorOr.CONECTOR_OR, (idsCreditosTipos.length))); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_CREDITO_TIPO_ID, idsCreditosTipos[i], ConectorOr.CONECTOR_OR, (idsCreditosTipos.length))); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_CREDITO_TIPO_ID, idsCreditosTipos[i])); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_CREDITO_TIPO_ID, idsCreditosTipos[i])); } } } i++; } } // Cliente if (idCliente != null && !idCliente.trim().equalsIgnoreCase("")) { FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, idCliente)); filtroCliente .adicionarCaminhoParaCarregamentoEntidade("clienteTipo"); filtroCliente.adicionarCaminhoParaCarregamentoEntidade("profissao"); filtroCliente .adicionarCaminhoParaCarregamentoEntidade("ramoAtividade"); Collection colecaoClientes = fachada.pesquisar(filtroCliente, Cliente.class.getName()); if (colecaoClientes != null && !colecaoClientes.isEmpty()) { Cliente cliente = (Cliente) ((List) colecaoClientes).get(0); sessao.setAttribute("cliente", cliente); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "C�digo de Cliente"); } peloMenosUmParametroInformado = true; if (telaConsultaDevolucaoAtual){ filtroDevolucao.adicionarParametro(new ParametroSimples( FiltroDevolucao.CLIENTE_ID, idCliente)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico.adicionarParametro(new ParametroSimples( FiltroDevolucao.CLIENTE_ID, idCliente)); } i = 0; if (idsDocumentosTipos != null) { while (i < idsDocumentosTipos.length) { if (!idsDocumentosTipos[i].equals("")) { if (i + 1 < idsDocumentosTipos.length) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, (idsDocumentosTipos.length))); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, (idsDocumentosTipos.length))); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } } // Cliente com Documento Tipo = Conta if (idsDocumentosTipos[i].equals(DocumentoTipo.CONTA)) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_CONTA_CLIENTE_CONTAS_CLIENTE_ID, idCliente)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_CONTA_CLIENTE_CONTAS_CLIENTE_ID, idCliente)); } if (idTipoRelacao != null && !idTipoRelacao.trim().equalsIgnoreCase( "")) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_CONTA_CLIENTE_CONTAS_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_CONTA_CLIENTE_CONTAS_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } } } // Cliente com Documento Tipo = Guia de Pagamento else if (idsDocumentosTipos[i] .equals(DocumentoTipo.GUIA_PAGAMENTO)) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_CLIENTE_ID, idCliente)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_CLIENTE_ID, idCliente)); } if (idTipoRelacao != null && !idTipoRelacao.trim().equalsIgnoreCase( "")) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_GUIA_PAGAMENTO_ID, idTipoRelacao)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_GUIA_DEVOLUCAO_GUIA_PAGAMENTO_CLIENTE_GUIA_PAGAMENTO_GUIA_PAGAMENTO_ID, idTipoRelacao)); } } } // Cliente com Documento Tipo = D�bito a Cobrar else if (idsDocumentosTipos[i] .equals(DocumentoTipo.DEBITO_A_COBRAR)) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_IMOVEL_CLIENTE_IMOVEIS_CLIENTE_ID, idCliente)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_IMOVEL_CLIENTE_IMOVEIS_CLIENTE_ID, idCliente)); } if (idTipoRelacao != null && !idTipoRelacao.trim().equalsIgnoreCase( "")) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_IMOVEL_CLIENTE_IMOVEIS_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.DEVOLUCAO_IMOVEL_CLIENTE_IMOVEIS_CLIENTE_RELACAO_TIPO_ID, idTipoRelacao)); } } } } i++; } } if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucao.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucao.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); colecaoClientesDevolucoes = fachada .pesquisarDevolucao(filtroDevolucao); if (colecaoClientesDevolucoes != null && !colecaoClientesDevolucoes.isEmpty()) { sessao.setAttribute("colecaoClientesDevolucoes", colecaoClientesDevolucoes); } } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucaoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucaoHistorico.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); colecaoClientesDevolucoesHistorico = fachada .pesquisarDevolucaoHistorico(filtroDevolucaoHistorico); if (colecaoClientesDevolucoesHistorico != null && !colecaoClientesDevolucoesHistorico.isEmpty()) { sessao.setAttribute("colecaoClientesDevolucoesHistorico", colecaoClientesDevolucoesHistorico); } } } // Im�vel if (idImovel != null && !idImovel.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples( FiltroImovel.ID, idImovel)); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTipo"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTitulo"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("enderecoReferencia"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("logradouroBairro.bairro.municipio.unidadeFederacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.cep"); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("setorComercial.municipio.unidadeFederacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTipo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTitulo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTipo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTitulo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoAguaSituacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoEsgotoSituacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("quadra"); Collection colecaoImoveis = fachada.pesquisar(filtroImovel, Imovel.class.getName()); if (colecaoImoveis != null && !colecaoImoveis.isEmpty()) { Imovel imovel = (Imovel) ((List) colecaoImoveis).get(0); sessao.setAttribute("imovel", imovel); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Matr�cula"); } if (telaConsultaDevolucaoAtual){ filtroDevolucao.adicionarParametro(new ParametroSimples( FiltroDevolucao.IMOVEL_ID, idImovel)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico.adicionarParametro(new ParametroSimples( FiltroDevolucao.IMOVEL_ID, idImovel)); } i = 0; if (idsDocumentosTipos != null) { while (i < idsDocumentosTipos.length) { if (!idsDocumentosTipos[i].equals("")) { if (i + 1 < idsDocumentosTipos.length) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, idsDocumentosTipos.length)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, idsDocumentosTipos.length)); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } } } i++; } } if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); filtroDevolucao.adicionarCaminhoParaCarregamentoEntidade("cliente"); colecaoImoveisDevolucoes = fachada.pesquisarDevolucao(filtroDevolucao); if (colecaoImoveisDevolucoes != null && !colecaoImoveisDevolucoes.isEmpty()) { sessao.setAttribute("colecaoImoveisDevolucoes", colecaoImoveisDevolucoes); } } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); filtroDevolucaoHistorico.adicionarCaminhoParaCarregamentoEntidade("cliente"); colecaoImoveisDevolucoesHistorico = fachada.pesquisarDevolucaoHistorico(filtroDevolucaoHistorico); if (colecaoImoveisDevolucoesHistorico != null && !colecaoImoveisDevolucoesHistorico.isEmpty()) { sessao.setAttribute("colecaoImoveisDevolucoesHistorico", colecaoImoveisDevolucoesHistorico); } } } // Aviso Banc�rio if (idAvisoBancario != null && !idAvisoBancario.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; FiltroAvisoBancario filtroAvisoBancario = new FiltroAvisoBancario(); filtroAvisoBancario.adicionarParametro(new ParametroSimples( FiltroAvisoBancario.ID, idAvisoBancario)); filtroAvisoBancario .adicionarCaminhoParaCarregamentoEntidade("arrecadador.cliente"); Collection colecaoAvisoBancarios = fachada.pesquisar( filtroAvisoBancario, AvisoBancario.class.getName()); if (colecaoAvisoBancarios != null && !colecaoAvisoBancarios.isEmpty()) { AvisoBancario avisoBancario = (AvisoBancario) ((List) colecaoAvisoBancarios) .get(0); sessao.setAttribute("avisoBancario", avisoBancario); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "aviso bancario"); } if (telaConsultaDevolucaoAtual){ filtroDevolucao.adicionarParametro(new ParametroSimples( FiltroDevolucao.AVISO_BANCARIO_ID, idAvisoBancario)); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico.adicionarParametro(new ParametroSimples( FiltroDevolucao.AVISO_BANCARIO_ID, idAvisoBancario)); } i = 0; if (idsDocumentosTipos != null) { while (i < idsDocumentosTipos.length) { if (!idsDocumentosTipos[i].equals("")) { if (i + 1 < idsDocumentosTipos.length) { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, (idsDocumentosTipos.length))); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i], ConectorOr.CONECTOR_OR, (idsDocumentosTipos.length))); } } else { if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarParametro(new ParametroSimples( FiltroDevolucao.GUIA_DEVOLUCAO_DOCUMENTO_TIPO_ID, idsDocumentosTipos[i])); } } } i++; } } if (telaConsultaDevolucaoAtual){ filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucao .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); colecaoAvisosBancariosDevolucoes = fachada .pesquisarDevolucao(filtroDevolucao); if (colecaoAvisosBancariosDevolucoes != null && !colecaoAvisosBancariosDevolucoes.isEmpty()) { sessao.setAttribute("colecaoAvisosBancariosDevolucoes", colecaoAvisosBancariosDevolucoes); } } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("avisoBancario.arrecadador"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.documentoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.guiaPagamento.debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.conta"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAtual"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("devolucaoSituacaoAnterior"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.debitoTipo"); filtroDevolucaoHistorico .adicionarCaminhoParaCarregamentoEntidade("guiaDevolucao.debitoACobrarGeral.debitoACobrar.imovel"); colecaoAvisosBancariosDevolucoesHistorico = fachada .pesquisarDevolucaoHistorico(filtroDevolucaoHistorico); if (colecaoAvisosBancariosDevolucoesHistorico != null && !colecaoAvisosBancariosDevolucoesHistorico.isEmpty()) { sessao.setAttribute("colecaoAvisosBancariosDevolucoesHistorico", colecaoAvisosBancariosDevolucoesHistorico); } } } // Localidade if (idLocalidadeInicial != null && !idLocalidadeInicial.trim().equals("")) { if (idLocalidadeFinal == null || idLocalidadeFinal.trim().equals("")) { throw new ActionServletException("atencao.required", null, "Localidade Final"); } if (new Integer(idLocalidadeInicial).compareTo(new Integer( idLocalidadeFinal)) > 0) { throw new ActionServletException( "atencao.localidade.inicial.maior.localidade.final"); } // Cria um filtro para verificar se a localidade inicial digitada // pelo o usu�rio existe FiltroLocalidade filtroLocalidadeInicial = new FiltroLocalidade(); filtroLocalidadeInicial.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidadeInicial)); Collection colecaoLocalidadeInicial = fachada.pesquisar( filtroLocalidadeInicial, Localidade.class.getName()); if (colecaoLocalidadeInicial == null || colecaoLocalidadeInicial.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Localidade Inicial"); } // Cria um filtro para verificar se a localidade final digitada pelo // o usu�rio existe FiltroLocalidade filtroLocalidadeFinal = new FiltroLocalidade(); filtroLocalidadeFinal.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidadeFinal)); Collection colecaoLocalidadeFinal = fachada.pesquisar( filtroLocalidadeFinal, Localidade.class.getName()); if (colecaoLocalidadeFinal == null || colecaoLocalidadeFinal.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Localidade Final"); } peloMenosUmParametroInformado = true; // Passa uma flag para ser verificado no // ExibirConsultarDevolucaoAction e caso esteja presente setar o // retorno para um relat�rio requisitado pelo caso de uso. httpServletRequest.setAttribute("localidadePresente", true); if (telaConsultaDevolucaoAtual){ filtroDevolucao.adicionarParametro(new Intervalo( FiltroDevolucao.LOCALIDADE_ID, idLocalidadeInicial, idLocalidadeFinal)); filtroDevolucao.limparCamposOrderBy(); filtroDevolucao.setCampoOrderBy(FiltroDevolucao.LOCALIDADE_ID); filtroDevolucao.setCampoOrderBy(FiltroDevolucao.IMOVEL_ID); httpServletRequest.setAttribute("filtroDevolucao", filtroDevolucao); colecaoLocalidadeDevolucoes = fachada .pesquisarDevolucao(filtroDevolucao); } if (telaConsultaDevolucaoHistorico){ filtroDevolucaoHistorico.adicionarParametro(new Intervalo( FiltroDevolucaoHistorico.LOCALIDADE_ID, idLocalidadeInicial, idLocalidadeFinal)); filtroDevolucaoHistorico.limparCamposOrderBy(); filtroDevolucaoHistorico.setCampoOrderBy(FiltroDevolucaoHistorico.LOCALIDADE_ID); filtroDevolucaoHistorico.setCampoOrderBy(FiltroDevolucaoHistorico.IMOVEL_ID); httpServletRequest.setAttribute("filtroDevolucaoHistorico", filtroDevolucaoHistorico); colecaoLocalidadeDevolucoesHistorico = fachada .pesquisarDevolucaoHistorico(filtroDevolucaoHistorico); } } // Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); }else{ if (telaConsultaDevolucaoAtual){ httpServletRequest.setAttribute("filtroDevolucao", filtroDevolucao); } if (telaConsultaDevolucaoHistorico){ httpServletRequest.setAttribute("filtroDevolucaoHistorico", filtroDevolucaoHistorico); } } if ((colecaoClientesDevolucoes == null || colecaoClientesDevolucoes.isEmpty()) && (colecaoImoveisDevolucoes == null || colecaoImoveisDevolucoes.isEmpty()) && (colecaoAvisosBancariosDevolucoes == null || colecaoAvisosBancariosDevolucoes.isEmpty()) && (colecaoLocalidadeDevolucoes == null || colecaoLocalidadeDevolucoes.isEmpty()) &&(colecaoClientesDevolucoesHistorico == null || colecaoClientesDevolucoesHistorico.isEmpty()) && (colecaoImoveisDevolucoesHistorico == null || colecaoImoveisDevolucoesHistorico.isEmpty()) && (colecaoAvisosBancariosDevolucoesHistorico == null || colecaoAvisosBancariosDevolucoesHistorico.isEmpty()) && (colecaoLocalidadeDevolucoesHistorico == null || colecaoLocalidadeDevolucoesHistorico.isEmpty())) { // Nenhuma devolu��o cadastrada throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } else{ Collection colecaoDevolucao = (Collection) fachada.pesquisar(filtroDevolucao, Devolucao.class.getName()); if (colecaoDevolucao != null && !colecaoDevolucao.isEmpty()) { if (atualizar != null && colecaoDevolucao.size() == 1) { Devolucao devolucao = (Devolucao) colecaoDevolucao.iterator().next(); httpServletRequest.setAttribute("idRegistroAtualizacao", devolucao.getId()); retorno = actionMapping .findForward("exibirAtualizarDevolucao"); flag = 1; } } } if (filtrarDevolucaoActionForm.getIdLocalidadeInicial() != null && !filtrarDevolucaoActionForm.getIdLocalidadeInicial().equals( "")) { sessao.setAttribute("colecaoLocalidadeDevolucoes", colecaoLocalidadeDevolucoes); sessao.setAttribute("colecaoLocalidadeDevolucoesHistorico", colecaoLocalidadeDevolucoesHistorico); } // Devolve o mapeamento de retorno }else{ filtroDevolucao = (FiltroDevolucao)sessao.getAttribute("filtroDevolucao"); sessao.setAttribute("filtroDevolucao",filtroDevolucao); sessao.removeAttribute("telaManter"); } // String tela = (String) sessao.getAttribute("tela"); if (tela != null && !tela.equals("")) { if (tela.equals("manterDevolucao") && flag == 0) { retorno = actionMapping.findForward("manterDevolucao"); } } else if (flag == 0){ retorno = actionMapping.findForward("consultarDevolucao"); if (filtrarDevolucaoActionForm.getIdLocalidadeInicial() != null && !filtrarDevolucaoActionForm.getIdLocalidadeInicial() .equals("")) { retorno = actionMapping.findForward("gerarRelatorioDevolucao"); sessao.setAttribute("filtroDevolucao", filtroDevolucao); sessao.setAttribute("filtroDevolucaoHistorico", filtroDevolucaoHistorico); sessao.setAttribute("colecaoLocalidadeDevolucoes", colecaoLocalidadeDevolucoes); sessao.setAttribute("colecaoLocalidadeDevolucoesHistorico", colecaoLocalidadeDevolucoesHistorico); } } //sessao.removeAttribute("tela"); sessao.setAttribute("filtrar_manter", "filtrar_manter"); return retorno; } }