package gcom.gui.micromedicao; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoGrupo; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; import gcom.micromedicao.consumo.FiltroConsumoHistorico; import gcom.micromedicao.medicao.FiltroMedicaoHistoricoSql; import gcom.micromedicao.medicao.MedicaoHistorico; import gcom.relatorio.micromedicao.FiltrarAnaliseExcecoesLeiturasHelper; import gcom.seguranca.acesso.FiltroGrupo; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.Intervalo; import gcom.util.filtro.MaiorQue; import gcom.util.filtro.MenorQue; import gcom.util.filtro.ParametroNaoNulo; 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; /** * < <Descri��o da Classe>> * * @author Administrador */ public class FiltrarExcecoesLeiturasConsumosAction 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 */ @SuppressWarnings("unchecked") public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); // Limpa os dados da sessao sessao.removeAttribute("totalRegistros"); // String nomeCaminhoMapping = (String) sessao // .getAttribute("nomeCaminhoMapping"); // ActionForward retorno = actionMapping.findForward(nomeCaminhoMapping); ActionForward retorno = null; LeituraConsumoActionForm leituraConsumoActionForm = (LeituraConsumoActionForm) actionForm; // obtem instancia da fachada Fachada fachada = Fachada.getInstancia(); // sessao.removeAttribute("leituraConsumoActionForm"); // ----------- Parte 1 - Pesquisar por Imovel subCategoria - 1.1 > 1.10 String localidade = leituraConsumoActionForm .getLocalidadeFiltro(); String setorComercial = leituraConsumoActionForm .getSetorComercialFiltro(); //String idSetorComercial = leituraConsumoActionForm.getSetorComercialID(); String nmQuadraInicial = leituraConsumoActionForm .getQuadraInicialFiltro(); String nmQuadraFinal = leituraConsumoActionForm .getQuadraFinalFiltro(); // Rota String nmRota = leituraConsumoActionForm.getRotaFiltro(); String matricula = leituraConsumoActionForm.getImovelFiltro(); String matriculaCondominio = leituraConsumoActionForm .getImovelCondominioFiltro(); String grupoFaturamento = leituraConsumoActionForm .getIdGrupoFaturamentoFiltro(); String idEmpresa = leituraConsumoActionForm .getIdEmpresaFiltro(); String indicadorImovelCondominio = null; if (leituraConsumoActionForm.getIndicadorImovelCondominioFiltro() != null && leituraConsumoActionForm .getIndicadorImovelCondominioFiltro().equalsIgnoreCase( "S")) { indicadorImovelCondominio = "1"; } else if (leituraConsumoActionForm .getIndicadorImovelCondominioFiltro() != null && leituraConsumoActionForm .getIndicadorImovelCondominioFiltro().equalsIgnoreCase( "N")) { indicadorImovelCondominio = "2"; } else { // if(leituraConsumoActionForm.getIndicadorImovelCondominio() != // null && leituraConsumoActionForm // .getIndicadorImovelCondominio().equalsIgnoreCase("T")){ indicadorImovelCondominio = "3"; } sessao.setAttribute("indicadorImovelCondominio",indicadorImovelCondominio); String[] perfilImovel = leituraConsumoActionForm .getPerfilImovelFiltro(); String categoria = leituraConsumoActionForm .getCategoriaImovelFiltro(); String qtdEconomias = leituraConsumoActionForm .getQuantidadeEconomiaFiltro(); // ----------- Parte 2 - Pesquisar Por Consumo Historico e Medicao // Historico String tipoMedicao = leituraConsumoActionForm .getTipoMedicaoFiltro(); String tipoLigacao = leituraConsumoActionForm .getTipoLigacaoFiltro(); String tipoAnormalidade = leituraConsumoActionForm .getTipoAnormalidadeFiltro(); String[] anormalidadeLeituraInformada = leituraConsumoActionForm .getAnormalidadeLeituraInformadaFiltro(); String[] anormalidadeLeituraFaturada = leituraConsumoActionForm .getAnormalidadeLeituraFaturadaFiltro(); String[] anormalidadeConsumo = leituraConsumoActionForm .getAnormalidadeConsumoFiltro(); String consumoFaturadoInicial = leituraConsumoActionForm .getConsumoFaturadoInicialFiltro(); String consumoFaturadoFinal = leituraConsumoActionForm .getConsumoFaturadoFinalFiltro(); String consumoMedidoInicial = leituraConsumoActionForm .getConsumoMedidoInicialFiltro(); String consumoMedidoFinal = leituraConsumoActionForm .getConsumoMedidoFinalFiltro(); String consumoMedioInicial = leituraConsumoActionForm .getConsumoMedioInicialFiltro(); String consumoMedioFinal = leituraConsumoActionForm .getConsumoMedioFinalFiltro(); String tipoApresentacao = leituraConsumoActionForm.getTipoApresentacao(); String indicadorDebitoAutomatico = leituraConsumoActionForm.getIndicadorDebitoAutomatico(); String indicadorAnalisado = leituraConsumoActionForm.getIndicadorAnalisado(); String loginUsuarioAlteracao = leituraConsumoActionForm.getLoginUsuarioAlteracao(); String leituraSituacaoAtual = leituraConsumoActionForm.getLeituraSituacaoAtualFiltro(); String valorAguaEsgotoInicialFiltro = leituraConsumoActionForm.getValorAguaEsgotoInicialFiltro(); String valorAguaEsgotoFinalFiltro = leituraConsumoActionForm.getValorAguaEsgotoFinalFiltro(); String mesAno = leituraConsumoActionForm.getMesAno(); sessao.setAttribute("mesAnoPesquisa", mesAno); sessao.setAttribute("tipoApresentacao", tipoApresentacao); sessao.setAttribute("valorAguaEsgotoInicial", valorAguaEsgotoInicialFiltro); sessao.setAttribute("valorAguaEsgotoFinal", valorAguaEsgotoFinalFiltro); if (tipoApresentacao.trim().equals("1")) { retorno = actionMapping.findForward("efetuarAnaliseExcecoesLeiturasConsumosResumido"); } else if (tipoApresentacao.trim().equals("2")) { retorno = actionMapping.findForward("gerarRelatorioAnaliseConsumo"); } else { retorno = actionMapping.findForward("gerarRelatorioAvisoAnormalidade"); } FiltroConsumoHistorico filtroConsumoHistorico = new FiltroConsumoHistorico(); FiltroMedicaoHistoricoSql filtroMedicaoHistoricoSql = new FiltroMedicaoHistoricoSql(); FiltrarAnaliseExcecoesLeiturasHelper filtrarAnaliseExcecoesLeiturasHelper = new FiltrarAnaliseExcecoesLeiturasHelper(); // --------------Verifica existencia // ---Imovel e Imovel Condominio // ===================================================================== if (matricula != null && !matricula.trim().equalsIgnoreCase("")) { String inscricao = fachada.pesquisarInscricaoImovel(new Integer( matricula)); if (inscricao == null) { boolean testeExclusao = fachada .confirmarImovelExcluido(new Integer(matricula)); if (testeExclusao) { throw new ActionServletException("atencao.imovel.excluido"); } throw new ActionServletException("atencao.naocadastrado","im�vel"); } } // ====================================================================== if (matriculaCondominio != null && !matriculaCondominio.trim().equalsIgnoreCase("")) { String condominio = fachada.pesquisarInscricaoImovel(new Integer( matriculaCondominio)); if (condominio == null || condominio.trim().equals("")) { throw new ActionServletException("atencao.naocadastrado","im�vel condominio"); } } // ---- Localidade FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); if (localidade != null && !localidade.trim().equalsIgnoreCase("")) { filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidade)); } Collection<Localidade> localidades = fachada.pesquisar( filtroLocalidade, Localidade.class.getName()); if (localidades.isEmpty()) { throw new ActionServletException("atencao.naocadastrado","localidade"); } // ---- Setor Comercial FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); if (setorComercial != null && !setorComercial.trim().equalsIgnoreCase("")) { // Verificamos se a localidade foi informada if ( localidade == null || localidade.equals("") ){ throw new ActionServletException("atencao.localidade_nao_informada", "Localidade"); } filtroSetorComercial .adicionarParametro(new ParametroSimples( FiltroSetorComercial.LOCALIDADE, localidade)); filtroSetorComercial .adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercial)); } Collection<SetorComercial> setorComerciais = fachada.pesquisar( filtroSetorComercial, SetorComercial.class.getName()); if (setorComerciais.isEmpty()) { throw new ActionServletException("atencao.naocadastrado","setor comercial"); } Integer idSetorComercial = setorComerciais.iterator().next().getId(); // ---- Quadra Inicial FiltroQuadra filtroQuadraInicial = new FiltroQuadra(); if (nmQuadraInicial != null && !nmQuadraInicial.trim().equalsIgnoreCase("")) { Integer quadraIni = new Integer(nmQuadraInicial); filtroQuadraInicial.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraIni)); if (setorComercial != null && !setorComercial.trim().equalsIgnoreCase("")) { // Adiciona o id do setor comercial que est� no formul�rio // para // compor a pesquisa. filtroQuadraInicial.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, setorComercial)); } filtroQuadraInicial.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Quadra> quadraIniciais = fachada.pesquisar( filtroQuadraInicial, Quadra.class.getName()); if (quadraIniciais.isEmpty()) { throw new ActionServletException("atencao.naocadastrado","Quadra Inicial"); } } // ---- Quadra Inicial FiltroQuadra filtroQuadraFinal = new FiltroQuadra(); if (nmQuadraFinal != null && !nmQuadraFinal.trim().equalsIgnoreCase("")) { Integer quadraFin = new Integer(nmQuadraFinal); filtroQuadraFinal.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraFin)); if (setorComercial != null && !setorComercial.trim().equalsIgnoreCase("")) { // Adiciona o id do setor comercial que est� no formul�rio // para // compor a pesquisa. filtroQuadraFinal.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, setorComercial)); } filtroQuadraFinal.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Quadra> quadraFinais = fachada.pesquisar( filtroQuadraFinal, Quadra.class.getName()); if (quadraFinais.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "Quadra Final"); } } // ---- Rota FiltroRota filtroRota = new FiltroRota(); if (nmRota != null && !nmRota.trim().equalsIgnoreCase("")) { // Verificamos se a localidade foi informada if ( localidade == null || localidade.equals("") ){ throw new ActionServletException("atencao.localidade_nao_informada", null, "Localidade"); } // Verificamos se o setor foi informada if ( setorComercial == null || setorComercial.equals("") ){ throw new ActionServletException("atencao.codigo_setor_comercial_nao_informado", null, "Localidade"); } // Validamos se a rota pertence aquela localidade/setorcomercial Integer rota = new Integer(nmRota); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.CODIGO_ROTA, rota) ); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.LOCALIDADE, localidade)); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.SETOR_COMERCIAL, idSetorComercial )); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Rota> rotas = fachada.pesquisar( filtroRota, Rota.class.getName()); if (rotas.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null, "Rota"); } } // ----- Fim verifica Existencia boolean peloMenosUmParametro = false; // -------- Parte 1 if (matricula != null && !matricula.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql .adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.IMOVEL_ID, new Integer( matricula))); filtrarAnaliseExcecoesLeiturasHelper.setIdImovel(matricula); } if (matriculaCondominio != null && !matriculaCondominio.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.IMOVEL_CONDOMINIO_ID, new Integer(matriculaCondominio))); filtrarAnaliseExcecoesLeiturasHelper.setIdImovelCondominio(matriculaCondominio); } String anoMesFaturamento = null; int anoMesFaturamentoGrupo = 0; if (grupoFaturamento != null && !grupoFaturamento.trim().equalsIgnoreCase( "" + +ConstantesSistema.NUMERO_NAO_INFORMADO) && !grupoFaturamento.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.GRUPO_FATURAMENTO, new Integer( grupoFaturamento))); filtrarAnaliseExcecoesLeiturasHelper.setIdFaturamentoGrupo(grupoFaturamento); FiltroGrupo filtroGrupo = new FiltroGrupo(); filtroGrupo.adicionarParametro(new ParametroSimples(FiltroGrupo.ID, grupoFaturamento)); Collection colecaoGrupo = fachada.pesquisar(filtroGrupo, FaturamentoGrupo.class.getName()); FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo)colecaoGrupo.iterator().next(); sessao.setAttribute("faturamentoGrupo", faturamentoGrupo); anoMesFaturamento = Util.formatarAnoMesParaMesAno(faturamentoGrupo.getAnoMesReferencia()); anoMesFaturamentoGrupo = faturamentoGrupo.getAnoMesReferencia().intValue(); } //se anomes diferente de ano mes do faturamento - bloqueia dados na tela(tela s� para consulta) if(anoMesFaturamento != null && mesAno.equalsIgnoreCase(anoMesFaturamento)){ sessao.removeAttribute("habilitaCampos"); }else{ sessao.setAttribute("habilitaCampos", true); } // caso o ano/m�s de refer�ncia informado seja igual a FTGR_AMREFERENCIA ? 1, // habilitar Bot�o de alterar Dados para Faturamento if(anoMesFaturamento != null && anoMesFaturamentoGrupo > 0){ int anoMesFaturamentoGrupoAnterior = Util.subtrairMesDoAnoMes(anoMesFaturamentoGrupo, 1); if(Util.formatarMesAnoParaAnoMesSemBarra(mesAno).equalsIgnoreCase(""+anoMesFaturamentoGrupoAnterior)){ sessao.setAttribute("habilitaBotaoAlterarDadosFaturamento", true); }else{ sessao.removeAttribute("habilitaBotaoAlterarDadosFaturamento"); } } if (idEmpresa != null && !idEmpresa.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.IMOVEL_EMPRESA, idEmpresa)); filtrarAnaliseExcecoesLeiturasHelper.setIdEmpresa(idEmpresa); } if (localidade != null && !localidade.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.LOCALIDADE_IMOVEL, new Integer( localidade))); filtrarAnaliseExcecoesLeiturasHelper.setIdLocalidade(localidade); } if (setorComercial != null && !setorComercial.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.SETOR_COMERCIAL_IMOVEL_CODIGO, new Integer(setorComercial))); filtrarAnaliseExcecoesLeiturasHelper.setCodigoSetorComercial(setorComercial); } if (nmQuadraInicial != null && !nmQuadraInicial.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; if (nmQuadraFinal == null || nmQuadraFinal.trim().equalsIgnoreCase("")) { nmQuadraFinal = nmQuadraInicial; } filtroMedicaoHistoricoSql.adicionarParametro(new Intervalo( FiltroMedicaoHistoricoSql.QUADRA_IMOVEL_NUMERO, new Integer(nmQuadraInicial), new Integer(nmQuadraFinal))); filtrarAnaliseExcecoesLeiturasHelper.setNumeroQuadraInicial(nmQuadraInicial); filtrarAnaliseExcecoesLeiturasHelper.setNumeroQuadraFinal(nmQuadraFinal); } if (nmRota != null && !nmRota.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.ROTA_QUADRA, new Integer(nmRota) ) ); filtrarAnaliseExcecoesLeiturasHelper.setCodigoRota(nmRota); } if (indicadorImovelCondominio != null && !indicadorImovelCondominio.trim().equalsIgnoreCase("")) { if (indicadorImovelCondominio.trim().equalsIgnoreCase("1")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql .adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.INDICADOR_IMOVEL_CONDOMINIO, new Short(indicadorImovelCondominio))); filtrarAnaliseExcecoesLeiturasHelper.setIndicadorImovelCondominio(indicadorImovelCondominio); } else if (indicadorImovelCondominio.trim().equalsIgnoreCase("2")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql .adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.INDICADOR_IMOVEL_CONDOMINIO, new Short(indicadorImovelCondominio))); filtrarAnaliseExcecoesLeiturasHelper.setIndicadorImovelCondominio(indicadorImovelCondominio); } } if(indicadorDebitoAutomatico != null && !indicadorDebitoAutomatico.trim().equals("")){ if(indicadorDebitoAutomatico.trim().equals("S")){ filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.INDICADOR_DEBITO_AUTOMATICO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtrarAnaliseExcecoesLeiturasHelper.setIndicadorDebitoAutomatico("" + ConstantesSistema.INDICADOR_USO_ATIVO); }else if(indicadorDebitoAutomatico.trim().equals("N")){ filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.INDICADOR_DEBITO_AUTOMATICO, ConstantesSistema.INDICADOR_USO_DESATIVO)); filtrarAnaliseExcecoesLeiturasHelper.setIndicadorDebitoAutomatico("" + ConstantesSistema.INDICADOR_USO_DESATIVO); } } if(indicadorAnalisado != null && !indicadorAnalisado.trim().equals("")){ peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_INDICADOR_ANALISADO, indicadorAnalisado)); String[] icAnalisado = new String[2]; if (indicadorAnalisado.equals("" + ConstantesSistema.INDICADOR_USO_ATIVO)) { icAnalisado[0] = "" + MedicaoHistorico.INDICADOR_ANALISADO_SIM; icAnalisado[1] = "" + MedicaoHistorico.INDICADOR_ANALISADO_ATUALIZADO; } else { icAnalisado[0] = "" + MedicaoHistorico.INDICADOR_ANALISADO_NAO; } filtrarAnaliseExcecoesLeiturasHelper.setIndicadorAnalisado(icAnalisado); } if (loginUsuarioAlteracao != null && !loginUsuarioAlteracao.trim().equals("")) { peloMenosUmParametro = true; Integer idUsuario = null; String idUsuarioAlteracao = leituraConsumoActionForm.getIdUsuarioAlteracao(); if (idUsuarioAlteracao != null && !idUsuarioAlteracao.trim().equals("")) { idUsuario = new Integer(idUsuarioAlteracao); } else { FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.LOGIN, loginUsuarioAlteracao)); Collection colecaoUsuario = fachada.pesquisar(filtroUsuario, Usuario.class.getName()); Usuario usuario = (Usuario) Util.retonarObjetoDeColecao(colecaoUsuario); idUsuario = usuario.getId(); } filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_USUARIO_ALTERACAO, idUsuario)); filtrarAnaliseExcecoesLeiturasHelper.setIdUsuarioAlteracao(idUsuario.toString()); } if (perfilImovel != null) { String valorPerfil = ""; for (int i = 0; i < perfilImovel.length; i++) { if (perfilImovel[i] != null && !perfilImovel[i].trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { valorPerfil = valorPerfil + perfilImovel[i] + ", "; } } if (valorPerfil != null && !valorPerfil.trim().equals("")) { peloMenosUmParametro = true; valorPerfil = Util.removerUltimosCaracteres(valorPerfil, 2); filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.PERFIL_IMOVEL, valorPerfil)); filtrarAnaliseExcecoesLeiturasHelper.setIdsImovelPerfil(perfilImovel); } } if (categoria != null && !categoria.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.IMOVEL_CATEGORIA, new Integer( categoria))); filtrarAnaliseExcecoesLeiturasHelper.setIdCategoria(categoria); } // ---- fim parte 1 // ---- parte 2 // ----Por Medicao Historico if (tipoMedicao != null && !tipoMedicao.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_MEDICAO_TIPO_ID, tipoMedicao)); filtrarAnaliseExcecoesLeiturasHelper.setIdMedicaoTipo(tipoMedicao); } if (tipoAnormalidade != null && !tipoAnormalidade.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { if (tipoAnormalidade.trim().equalsIgnoreCase( ConstantesSistema.ANORMALIDADE_LEITURA_INFORMADA)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql .adicionarParametro(new ParametroNaoNulo( FiltroMedicaoHistoricoSql.MH_ANORMALIDADE_INFORMADA)); filtrarAnaliseExcecoesLeiturasHelper.setIdTipoAnormalidade(FiltrarAnaliseExcecoesLeiturasHelper.ANORMALIDADE_LEITURA_INFORMADA); } else if (tipoAnormalidade.trim().equalsIgnoreCase( ConstantesSistema.ANORMALIDADE_LEITURA_FATURADA)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql .adicionarParametro(new ParametroNaoNulo( FiltroMedicaoHistoricoSql.MH_ANORMALIDADE_FATURADA)); filtrarAnaliseExcecoesLeiturasHelper.setIdTipoAnormalidade(FiltrarAnaliseExcecoesLeiturasHelper.ANORMALIDADE_LEITURA_FATURADA); } else if (tipoAnormalidade.trim().equalsIgnoreCase( ConstantesSistema.ANORMALIDADE_CONSUMO)) { peloMenosUmParametro = true; filtroConsumoHistorico.adicionarParametro(new ParametroNaoNulo( FiltroConsumoHistorico.ANORMALIDADE_CONSUMO)); filtrarAnaliseExcecoesLeiturasHelper.setIdTipoAnormalidade(FiltrarAnaliseExcecoesLeiturasHelper.ANORMALIDADE_CONSUMO); } } if (anormalidadeLeituraInformada != null) { String valor = ""; for (int i = 0; i < anormalidadeLeituraInformada.length; i++) { if (anormalidadeLeituraInformada[i] != null && !anormalidadeLeituraInformada[i].trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { valor = valor + anormalidadeLeituraInformada[i] + ", "; } } if (valor != null && !valor.trim().equals("")) { peloMenosUmParametro = true; valor = Util.removerUltimosCaracteres(valor, 2); filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_ANORMALIDADE_INFORMADA, valor)); filtrarAnaliseExcecoesLeiturasHelper.setIdsAnormalidadeLeituraInformada(anormalidadeLeituraInformada); } } if (anormalidadeLeituraFaturada != null) { String valor = ""; for (int i = 0; i < anormalidadeLeituraFaturada.length; i++) { if (anormalidadeLeituraFaturada[i] != null && !anormalidadeLeituraFaturada[i].trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { valor = valor + anormalidadeLeituraFaturada[i] + ", "; } } if (valor != null && !valor.trim().equals("")) { peloMenosUmParametro = true; valor = Util.removerUltimosCaracteres(valor, 2); filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_ANORMALIDADE_FATURADA, valor)); filtrarAnaliseExcecoesLeiturasHelper.setIdsAnormalidadeLeituraFaturada(anormalidadeLeituraFaturada); } } // ----- Por Consumo Historico if (tipoLigacao != null && !tipoLigacao.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_LIGACAO_TIPO, new Integer(tipoLigacao))); filtrarAnaliseExcecoesLeiturasHelper.setIdLigacaoTipo(tipoLigacao); } if (anormalidadeConsumo != null) { String valor = ""; for (int i = 0; i < anormalidadeConsumo.length; i++) { if (anormalidadeConsumo[i] != null && !anormalidadeConsumo[i].trim().equals("" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { valor = valor + anormalidadeConsumo[i] + ", "; } } if (valor != null && !valor.trim().equals("")) { peloMenosUmParametro = true; valor = Util.removerUltimosCaracteres(valor, 2); filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_ANORMALIDADE_CONSUMO, valor)); filtrarAnaliseExcecoesLeiturasHelper.setIdsAnormalidadeConsumo(anormalidadeConsumo); } } if ( ( consumoFaturadoInicial != null && !consumoFaturadoInicial.trim().equalsIgnoreCase("") ) || ( consumoFaturadoFinal != null && !consumoFaturadoFinal.trim().equalsIgnoreCase("") ) ) { peloMenosUmParametro = true; if (consumoFaturadoInicial == null || consumoFaturadoInicial.trim().equalsIgnoreCase("")) { consumoFaturadoFinal = "0"; } else if (consumoFaturadoFinal == null || consumoFaturadoFinal.trim().equalsIgnoreCase("")) { consumoFaturadoFinal = "999999"; } filtroMedicaoHistoricoSql.adicionarParametro(new MaiorQue( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_FATURADO_MES, consumoFaturadoInicial)); filtroMedicaoHistoricoSql.adicionarParametro(new MenorQue( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_FATURADO_MES, consumoFaturadoFinal)); filtrarAnaliseExcecoesLeiturasHelper.setConsumoFaturadoInicial(consumoFaturadoInicial); filtrarAnaliseExcecoesLeiturasHelper.setConsumoFaturadoFinal(consumoFaturadoFinal); } if ( ( consumoMedidoInicial != null && !consumoMedidoInicial.trim().equalsIgnoreCase("") ) || ( consumoMedidoFinal != null && !consumoMedidoFinal.trim().equalsIgnoreCase("") )) { peloMenosUmParametro = true; if (consumoMedidoInicial == null || consumoMedidoInicial.trim().equalsIgnoreCase("")) { consumoMedidoInicial = "0"; } else if (consumoMedidoFinal == null || consumoMedidoFinal.trim().equalsIgnoreCase("")) { consumoMedidoFinal = "999999"; } filtroMedicaoHistoricoSql.adicionarParametro(new MaiorQue( FiltroMedicaoHistoricoSql.MH_CONSUMO_MEDIDO_MES, consumoMedidoInicial)); filtroMedicaoHistoricoSql.adicionarParametro(new MenorQue( FiltroMedicaoHistoricoSql.MH_CONSUMO_MEDIDO_MES, consumoMedidoFinal)); filtrarAnaliseExcecoesLeiturasHelper.setConsumoMedidoInicial(consumoMedidoInicial); filtrarAnaliseExcecoesLeiturasHelper.setConsumoMedidoFinal(consumoMedidoFinal); } if (qtdEconomias != null && !qtdEconomias.trim().equalsIgnoreCase("")) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.MH_IMOVEL_QTD_ECONOMIAS, qtdEconomias)); filtrarAnaliseExcecoesLeiturasHelper.setQuantidadeEconomias(qtdEconomias); } if ( ( consumoMedioInicial != null && !consumoMedioInicial.trim().equalsIgnoreCase("") ) || ( consumoMedioFinal != null && !consumoMedioFinal.trim().equalsIgnoreCase("") ) ) { peloMenosUmParametro = true; if (consumoMedioInicial == null || consumoMedioInicial.trim().equalsIgnoreCase("")) { consumoMedioInicial = "0"; } else if (consumoMedioFinal == null || consumoMedioFinal.trim().equalsIgnoreCase("")) { consumoMedioFinal = "999999"; } filtroMedicaoHistoricoSql.adicionarParametro(new MaiorQue( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_CONSUMO_MEDIO, consumoMedioInicial)); filtroMedicaoHistoricoSql.adicionarParametro(new MenorQue( FiltroMedicaoHistoricoSql.CONSUMO_HISTORICO_CONSUMO_MEDIO, consumoMedioFinal)); filtrarAnaliseExcecoesLeiturasHelper.setConsumoMedioInicial(consumoMedioInicial); filtrarAnaliseExcecoesLeiturasHelper.setConsumoMedioFinal(consumoMedioFinal); } if (leituraSituacaoAtual != null && !leituraSituacaoAtual.trim().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametro = true; filtroMedicaoHistoricoSql.adicionarParametro( new ParametroSimples(FiltroMedicaoHistoricoSql.MH_LEITURA_SITUACAO_ATUAL, new Integer(leituraSituacaoAtual))); filtrarAnaliseExcecoesLeiturasHelper.setIdLeituraSituacaoAtual(leituraSituacaoAtual); } filtroMedicaoHistoricoSql.adicionarParametro(new ParametroSimples( FiltroMedicaoHistoricoSql.IMOVEL_INDICADOR_EXCLUSAO, ConstantesSistema.INDICADOR_IMOVEL_ATIVO)); // Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametro) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } sessao.setAttribute("leituraConsumoActionForm", leituraConsumoActionForm); sessao.setAttribute("filtroMedicaoHistoricoSql", filtroMedicaoHistoricoSql); sessao.setAttribute("filtrarAnaliseExcecoesLeiturasHelper", filtrarAnaliseExcecoesLeiturasHelper); return retorno; } }