package gcom.gui.relatorio.cadastro.imovel; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.EsferaPoder; import gcom.cadastro.cliente.FiltroCliente; import gcom.cadastro.cliente.FiltroClienteRelacaoTipo; import gcom.cadastro.cliente.FiltroEsferaPoder; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.cobranca.CobrancaSituacao; import gcom.cobranca.FiltroCobrancaSituacao; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC0726] Gerar Relat�rio de Im�veis com Faturas em Atraso * * @author Bruno Barros * * @date 03/12/2007 */ public class ExibirGerarRelatorioImoveisFaturasAtrasoAction extends GcomAction { // private static final String CRITERIO_FILTRO_LOCALIZACAO_GEOGRAFICA = "1"; // private static final String RESPONSAVEL_ATUAL_IMOVEL = "1"; // private static final String TIPO_AGRUPADA = "A"; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { GerarRelatorioImoveisFaturasAtrasoActionForm form = (GerarRelatorioImoveisFaturasAtrasoActionForm) actionForm; if(Util.verificarNaoVazio(httpServletRequest.getParameter("menu"))){ form.setTipo("A"); form.setCriterioFiltro("1"); form.setResponsavel("1"); } pesquisarLocalidadeOuSetorComercialOuCLiente(form, httpServletRequest); carregarComboboxEListbox(form); definirLocalidadeSetorClienteEncontrados(form,httpServletRequest); return actionMapping.findForward("exibirGerarRelatorioImoveisFaturasAtraso"); } /** * Esse m�todo tem a l�gica que verifica qual entidade consultar: * Localidade,Setor Comercialou Cliente. Em seguida, chama o m�todo respons�vel * por realizar a consulta correta. * *@since 25/08/2009 *@author Marlon Patrick */ private void pesquisarLocalidadeOuSetorComercialOuCLiente( GerarRelatorioImoveisFaturasAtrasoActionForm form, HttpServletRequest httpServletRequest) { String objetoConsulta = httpServletRequest.getParameter("objetoConsulta"); if ( Util.verificarNaoVazio(objetoConsulta)){ if(isConsultarLocalidade(objetoConsulta)){ this.pesquisarLocalidade(form,objetoConsulta); } if(isConsultarSetorComercial(objetoConsulta)){ this.pesquisarSetorComercial(form,objetoConsulta); } if(isConsultarCliente(objetoConsulta)){ this.pesquisarCliente(form,objetoConsulta); } } } /** * * Esse m�todo invoca os m�todos respons�veis por carregar as cole��es de * todos os combo boxes e list boxes a serem exibidos na tela. * *@since 25/08/2009 *@author Marlon Patrick */ private void carregarComboboxEListbox(GerarRelatorioImoveisFaturasAtrasoActionForm form) { carregarColecaoGerenciasRegionais(form); carregarColecaoUnidadesNegocios(form); carregarColecaoLigacoesAguaSituacao(form); carregarColecaoCategorias(form); carregarColecaoPerfisImovel(form); carregarColecaoEsferasPoder(form); carregarColecaoSituacoesCobranca(form); carregarColecaoTiposRelacoes(form); } /** *Caso o parametro tenha valor 5 ou 6 retorna true. * *@since 26/08/2009 *@author Marlon Patrick */ private boolean isConsultarCliente(String objetoConsulta) { return objetoConsulta.trim().equals("5") || objetoConsulta.trim().equals("6"); } /** *Caso o parametro tenha valor 2 ou 4 retorna true. * *@since 25/08/2009 *@author Marlon Patrick */ private boolean isConsultarSetorComercial(String objetoConsulta) { return objetoConsulta.trim().equals("2") || objetoConsulta.trim().equals("4"); } /** *Caso o parametro tenha valor 1 ou 3 retorna true. * *@since 25/08/2009 *@author Marlon Patrick */ private boolean isConsultarLocalidade(String objetoConsulta) { return objetoConsulta.trim().equals("1")|| objetoConsulta.trim().equals("3"); } /** * Este m�todo faz a consulta para verificar a existencia do Cliente informado pelo usu�rio, * seja ele superior ou n�o. * * @author Marlon Patrick * @since 26/08/2009 */ private void pesquisarCliente(GerarRelatorioImoveisFaturasAtrasoActionForm form,String objetoConsulta){ boolean isConsultarClienteSuperior = objetoConsulta.trim().equals("5"); String idCliente = form.getCodigoCliente(); if(isConsultarClienteSuperior){ idCliente = form.getCodigoClienteSuperior(); } FiltroCliente filtroCliente = new FiltroCliente(); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.ID, idCliente)); filtroCliente.adicionarParametro(new ParametroSimples( FiltroCliente.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Cliente> colecaoCliente = getFachada().pesquisar(filtroCliente, Cliente.class.getName()); if ( Util.isVazioOrNulo(colecaoCliente)) { if(isConsultarClienteSuperior){ form.setCodigoClienteSuperior(null); form.setNomeClienteSuperior(ConstantesSistema.CODIGO_CLIENTE_INEXISTENTE); }else{ form.setCodigoCliente(null); form.setNomeCliente(ConstantesSistema.CODIGO_CLIENTE_INEXISTENTE); } return; } Cliente cliente = colecaoCliente.iterator().next(); if(isConsultarClienteSuperior){ form.setCodigoClienteSuperior(cliente.getId().toString()); form.setNomeClienteSuperior(cliente.getNome()); }else{ form.setCodigoCliente(cliente.getId().toString()); form.setNomeCliente(cliente.getNome()); } } /** * Este m�todo faz a consulta para verificar a existencia da Localidade informada pelo usu�rio, * seja ela inicial ou final. * * @ultimaModifica��o Marlon Patrick * @author Bruno Barros * @since 28/11/2007 */ private void pesquisarLocalidade(GerarRelatorioImoveisFaturasAtrasoActionForm form,String objetoConsulta){ boolean isConsultarLocalidadeInicial = objetoConsulta.trim().equals("1"); String idLocalidade = form.getLocalidadeFinal(); if(isConsultarLocalidadeInicial){ idLocalidade = form.getLocalidadeInicial(); } FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples(FiltroLocalidade.ID,idLocalidade)); Collection<Localidade> colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if ( Util.isVazioOrNulo(colecaoLocalidade)) { if(isConsultarLocalidadeInicial){ form.setLocalidadeInicial(null); form.setNomeLocalidadeInicial("Localidade Inicial inexistente"); form.setLocalidadeFinal(null); form.setNomeLocalidadeFinal(null); }else{ form.setLocalidadeFinal(null); form.setNomeLocalidadeFinal("Localidade Final inexistente"); } return; } Localidade localidade = colecaoLocalidade.iterator().next(); if(isConsultarLocalidadeInicial){ form.setLocalidadeInicial(localidade.getId().toString()); form.setNomeLocalidadeInicial(localidade.getDescricao()); } form.setLocalidadeFinal(localidade.getId().toString()); form.setNomeLocalidadeFinal(localidade.getDescricao()); } /** * Este m�todo faz a consulta para verificar a existencia do Setor Comercial informado pelo usu�rio, * seja ele inicial ou final. * * @ultimaModifica��o Marlon Patrick * @author Bruno Barros * @since 28/11/2007 */ private void pesquisarSetorComercial(GerarRelatorioImoveisFaturasAtrasoActionForm form, String objetoConsulta) { boolean isConsultarSetorComercialInicial = objetoConsulta.trim().equals("2"); String idLocalidade = form.getLocalidadeFinal(); String idSetorComercial = form.getSetorComercialFinal(); if(isConsultarSetorComercialInicial){ idLocalidade = form.getLocalidadeInicial(); idSetorComercial = form.getSetorComercialInicial(); } FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,idSetorComercial)); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.LOCALIDADE,idLocalidade)); Collection<SetorComercial> colecaoSetorComercial = this.getFachada().pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if ( Util.isVazioOrNulo(colecaoSetorComercial)) { if(isConsultarSetorComercialInicial){ form.setSetorComercialInicial(null); form.setNomeSetorComercialInicial("Setor Comercial Inicial inexistente"); form.setSetorComercialFinal(null); form.setNomeSetorComercialFinal(null); }else{ form.setSetorComercialFinal(null); form.setNomeSetorComercialFinal("Setor Comercial Final inexistente"); } return; } SetorComercial setorComercial = colecaoSetorComercial.iterator().next(); if(isConsultarSetorComercialInicial){ form.setSetorComercialInicial(""+setorComercial.getCodigo()); form.setNomeSetorComercialInicial(setorComercial.getDescricao()); } form.setSetorComercialFinal(""+setorComercial.getCodigo()); form.setNomeSetorComercialFinal(setorComercial.getDescricao()); } /** * M�todo consulta as Gerencias Regionais ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @ultimaModifrica��o Marlon Patrick * @author Bruno Barros * @date 28/11/2007 */ private void carregarColecaoGerenciasRegionais(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setConsultaSemLimites(true); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME); filtroGerenciaRegional.adicionarParametro( new ParametroSimples(FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<GerenciaRegional> colecaoGerenciaRegional = this.getFachada().pesquisar(filtroGerenciaRegional,GerenciaRegional.class.getName()); if ( Util.isVazioOrNulo(colecaoGerenciaRegional)) { throw new ActionServletException("atencao.naocadastrado", null,"Ger�ncia Regional"); } form.setColecaoGerenciasRegionais(colecaoGerenciaRegional); } /** * M�todo consulta as Unidades de Neg�cio ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @ultimaModifrica��o Marlon Patrick * @author Bruno Barros * @since 28/11/2007 */ private void carregarColecaoUnidadesNegocios(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); if(Util.verificarNaoVazio(form.getGerenciaRegional()) && !form.getGerenciaRegional().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.ID_GERENCIA, form.getGerenciaRegional())); } filtroUnidadeNegocio.adicionarParametro( new ParametroSimples(FiltroUnidadeNegocio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<UnidadeNegocio> colecaoUnidadeNegocio = this.getFachada().pesquisar(filtroUnidadeNegocio,UnidadeNegocio.class.getName()); if ( Util.isVazioOrNulo(colecaoUnidadeNegocio)) { throw new ActionServletException("atencao.naocadastrado", null,"Unidade de Neg�cio"); } form.setColecaoUnidadesNegocios(colecaoUnidadeNegocio); } /** * M�todo consulta as Situa��es de Liga��o de �gua ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @ultimaModifrica��o Marlon Patrick * @author Bruno Barros * @since 28/11/2007 */ private void carregarColecaoLigacoesAguaSituacao(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao(); filtroLigacaoAguaSituacao.setConsultaSemLimites(true); filtroLigacaoAguaSituacao.setCampoOrderBy(FiltroLigacaoAguaSituacao.DESCRICAO); filtroLigacaoAguaSituacao.adicionarParametro( new ParametroSimples(FiltroLigacaoAguaSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<LigacaoAguaSituacao> colecaoSituacaoLigacaoAgua = this.getFachada().pesquisar(filtroLigacaoAguaSituacao,LigacaoAguaSituacao.class.getName()); if ( Util.isVazioOrNulo(colecaoSituacaoLigacaoAgua)) { throw new ActionServletException("atencao.naocadastrado", null,"Liga�ao de �gua"); } form.setColecaoSituacoesLigacaoAgua(colecaoSituacaoLigacaoAgua); } /** * M�todo consulta as Situa��es de Cobran�a ativas * e seta essa cole��o no FORM para que seja exibida na tela. * *@since 25/08/2009 *@author Marlon Patrick */ private void carregarColecaoSituacoesCobranca(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroCobrancaSituacao filtroSituacaoCobranca = new FiltroCobrancaSituacao(); filtroSituacaoCobranca.setConsultaSemLimites(true); filtroSituacaoCobranca.setCampoOrderBy(FiltroCobrancaSituacao.DESCRICAO); filtroSituacaoCobranca.adicionarParametro( new ParametroSimples(FiltroCobrancaSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<CobrancaSituacao> colecaoSituacoesCobranca = this.getFachada().pesquisar(filtroSituacaoCobranca, CobrancaSituacao.class.getName()); if ( Util.isVazioOrNulo(colecaoSituacoesCobranca)) { throw new ActionServletException("atencao.naocadastrado", null,"Situa��o de Cobran�a"); } form.setColecaoSituacoesCobranca(colecaoSituacoesCobranca); } /** * M�todo consulta as Situa��es de Cobran�a ativas * e seta essa cole��o no FORM para que seja exibida na tela. * *@since 25/08/2009 *@author Marlon Patrick */ private void carregarColecaoTiposRelacoes(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroClienteRelacaoTipo filtroClienteRelacaoTipo = new FiltroClienteRelacaoTipo(); filtroClienteRelacaoTipo.setConsultaSemLimites(true); filtroClienteRelacaoTipo.setCampoOrderBy(FiltroClienteRelacaoTipo.DESCRICAO); filtroClienteRelacaoTipo.adicionarParametro( new ParametroSimples(FiltroClienteRelacaoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<ClienteRelacaoTipo> colecaoTiposRelacoes = this.getFachada().pesquisar(filtroClienteRelacaoTipo, ClienteRelacaoTipo.class.getName()); if ( Util.isVazioOrNulo(colecaoTiposRelacoes)) { throw new ActionServletException("atencao.naocadastrado", null,"Situa��o de Cobran�a"); } form.setColecaoTiposRelacoes(colecaoTiposRelacoes); } /** * M�todo consulta as categorias ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @ultimaModifrica��o Marlon Patrick * @author Bruno Barros * @since 04/12/2007 */ private void carregarColecaoCategorias(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.setConsultaSemLimites(true); filtroCategoria.setCampoOrderBy(FiltroCategoria.DESCRICAO); filtroCategoria.adicionarParametro( new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Categoria> colecaoCategoria = this.getFachada().pesquisar(filtroCategoria, Categoria.class.getName()); if ( Util.isVazioOrNulo(colecaoCategoria)) { throw new ActionServletException("atencao.naocadastrado", null,"Categoria"); } form.setColecaoCategorias(colecaoCategoria); } /** * M�todo que consulta os perfis dos im�veis * e seta essa cole��o no FORM para que seja exibida na tela. * * @author Diogo Peixoto * @since 11/03/2011 */ private void carregarColecaoPerfisImovel(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroImovelPerfil filtroPerfisImovel = new FiltroImovelPerfil(); filtroPerfisImovel.setConsultaSemLimites(true); filtroPerfisImovel.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroPerfisImovel.adicionarParametro( new ParametroSimples(FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<ImovelPerfil> colecaoPerfisImovel = this.getFachada().pesquisar(filtroPerfisImovel, ImovelPerfil.class.getName()); if ( Util.isVazioOrNulo(colecaoPerfisImovel)) { throw new ActionServletException("atencao.naocadastrado", null,"Perfil Im�vel"); } form.setColecaoPerfisImovel(colecaoPerfisImovel); } /** * M�todo consulta as esferas do poder ativas * e seta essa cole��o no FORM para que seja exibida na tela. * * @ultimaModifrica��o Marlon Patrick * @author Fl�vio Leonardo * @since 28/11/2007 */ private void carregarColecaoEsferasPoder(GerarRelatorioImoveisFaturasAtrasoActionForm form){ FiltroEsferaPoder filtroEsferaPoder = new FiltroEsferaPoder(); filtroEsferaPoder.setConsultaSemLimites(true); filtroEsferaPoder.setCampoOrderBy(FiltroEsferaPoder.DESCRICAO); filtroEsferaPoder.adicionarParametro( new ParametroSimples(FiltroEsferaPoder.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<EsferaPoder> colecaoEsferaPoder = this.getFachada().pesquisar(filtroEsferaPoder,EsferaPoder.class.getName()); if ( Util.isVazioOrNulo(colecaoEsferaPoder)) { throw new ActionServletException("atencao.naocadastrado", null,"Esfera de Poder"); } form.setColecaoEsferasPoder(colecaoEsferaPoder); } /** * O m�todo seta no request os atributos que a JSP usar� para identificar * se a Localidade, Setor e Cliente foram encontrados ou n�o. * * @ultimaModifica��o Marlon Patrick * @author Bruno Barros * @date 28/11/2007 */ private void definirLocalidadeSetorClienteEncontrados(GerarRelatorioImoveisFaturasAtrasoActionForm form, HttpServletRequest httpServletRequest){ if( Util.verificarNaoVazio(form.getLocalidadeInicial()) && Util.verificarNaoVazio(form.getNomeLocalidadeInicial())){ httpServletRequest.setAttribute("localidadeInicialEncontrada","true"); } if(Util.verificarNaoVazio(form.getLocalidadeFinal()) && Util.verificarNaoVazio(form.getNomeLocalidadeFinal())){ httpServletRequest.setAttribute("localidadeFinalEncontrada","true"); } if(Util.verificarNaoVazio(form.getSetorComercialInicial()) && Util.verificarNaoVazio(form.getNomeSetorComercialInicial())){ httpServletRequest.setAttribute("setorComercialInicialEncontrado","true"); } if(Util.verificarNaoVazio(form.getSetorComercialFinal()) && Util.verificarNaoVazio(form.getNomeSetorComercialFinal())){ httpServletRequest.setAttribute("setorComercialFinalEncontrado","true"); } if(Util.verificarNaoVazio(form.getCodigoClienteSuperior()) && Util.verificarNaoVazio(form.getNomeClienteSuperior())){ httpServletRequest.setAttribute("codigoClienteSuperiorEncontrado","true"); } if(Util.verificarNaoVazio(form.getCodigoCliente()) && Util.verificarNaoVazio(form.getNomeCliente())){ httpServletRequest.setAttribute("codigoClienteEncontrado","true"); } } }