package gcom.gui.faturamento; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.cadastro.cliente.EsferaPoder; import gcom.cadastro.cliente.FiltroEsferaPoder; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.CategoriaTipo; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroCategoriaTipo; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.FiltroSubCategoria; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.imovel.Subcategoria; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.FiltroUnidadeNegocio; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.ConsumoFaixaLigacao; import gcom.faturamento.FiltroConsumoFaixaLigacao; import gcom.faturamento.consumotarifa.ConsumoTarifa; import gcom.faturamento.consumotarifa.FiltroConsumoTarifa; 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 java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; 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; /** * [UC00601] Informar Dados para Emiss�o do Histograma de �gua * * @author Rafael Pinto * * @date 30/05/2007 */ public class EmissaoHistogramaAguaDadosInformarAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("emissaoHistogramaAguaDadosInformar"); // Form EmissaoHistogramaAguaDadosInformarActionForm form = (EmissaoHistogramaAguaDadosInformarActionForm) actionForm; String acao = httpServletRequest.getParameter("acao"); if(acao != null && !acao.equals("")){ String tipoConsumo = httpServletRequest.getParameter("tipoConsumo"); //Inserir Faixa - Mostrar Popup if(acao.equals("I")){ form.setTipoConsumo(tipoConsumo); if(tipoConsumo.equals("M")){ form.setTituloFaixaConsumo("Medido"); form.setSubTituloFaixaConsumo("medido"); }else{ form.setTituloFaixaConsumo("N�o Medido"); form.setSubTituloFaixaConsumo("n�o medido"); } form.setLimiteInferiorFaixa(null); form.setLimiteSuperiorFaixa(null); retorno = actionMapping.findForward("emissaoHistogramaAguaDadosInformarFaixa"); //Remover Faixa }else if(acao.equals("R")) { String idRemover = httpServletRequest.getParameter("idRemover"); form.setTipoConsumo(tipoConsumo); this.removeConsumoFaixaLigacao(form,Integer.parseInt(idRemover)); //Inserir Faixa - Insere na colecao }else if(acao.equals("A")) { this.validarInclusaoConsumoFaixaLigacao(form); } this.ordenaColecaoFaixaConsumoLigacao(form); } else { // Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter String objetoConsulta = httpServletRequest.getParameter("objetoConsulta"); //[UC0018] - Pesquisar Elo if (objetoConsulta != null && !objetoConsulta.trim().equals("") && objetoConsulta.trim().equals("1")) { // Faz a consulta do Elo P�lo this.pesquisarEloPolo(form); } //[UC0023] - Pesquisar Localidade if (objetoConsulta != null && !objetoConsulta.trim().equals("") && objetoConsulta.trim().equals("2")) { // Faz a consulta de Localidade this.pesquisarLocalidade(form); } //[UC0142] - Pesquisar Setor Comercial if (objetoConsulta != null && !objetoConsulta.trim().equals("") && objetoConsulta.trim().equals("3")) { // Faz a consulta de Setor Comercial this.pesquisarSetorComercial(form); } //[UC0143] - Pesquisar Quadra if (objetoConsulta != null && !objetoConsulta.trim().equals("") && objetoConsulta.trim().equals("4")) { // Faz a consulta de Quadra this.pesquisarQuadra(httpServletRequest,form); } if ( objetoConsulta != null && !objetoConsulta.trim().equals( "" ) ){ this.pesquisarSubcategoria( httpServletRequest,form ); } } //Monta os select�s do jsp this.pesquisarGerenciaRegional(httpServletRequest); this.pesquisarUnidadeNegocio(httpServletRequest,form); this.pesquisarCategoriaTipo(httpServletRequest); this.pesquisarCategoria(httpServletRequest,form); this.pesquisarConsumoTarifa(httpServletRequest); this.pesquisarPerfilImovel(httpServletRequest); this.pesquisarEsferaPoder(httpServletRequest); this.pesquisarLigacaoAguaSituacao(httpServletRequest); this.pesquisarIndicadorTarifaCategoria( httpServletRequest ); //Seta os request�s encontrados this.setaRequest(httpServletRequest,form); if ( form.getIndicadorTarifaCategoria() == null || form.getIndicadorTarifaCategoria().equals( "" ) ){ form.setIndicadorTarifaCategoria( "1" ); } httpServletRequest.setAttribute( "indicadorTarifaCategoria", form.getIndicadorTarifaCategoria() ); //Consulta o grip de Consumo Faixa Ligacao Medido e N�o Medido if(httpServletRequest.getParameter("menu") != null){ this.pesquisarConsumoFaixaLigacaoMedido(form,true); this.pesquisarConsumoFaixaLigacaoMedido(form,false); } return retorno; } /** * Pesquisa Elo P�lo * * @author Rafael Pinto * @date 31/05/2007 */ private void pesquisarEloPolo(EmissaoHistogramaAguaDadosInformarActionForm form) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro( new ParametroSimples(FiltroLocalidade.ID_ELO, form.getEloPolo())); filtroLocalidade.adicionarCaminhoParaCarregamentoEntidade("localidade"); // Recupera Elo P�lo Collection colecaoEloPolo = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoEloPolo != null && !colecaoEloPolo.isEmpty()) { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoEloPolo); localidade = localidade.getLocalidade(); form.setEloPolo(localidade.getId().toString()); form.setNomeEloPolo(localidade.getDescricao()); } else { form.setEloPolo(null); form.setNomeEloPolo("Localidade inexistente"); } } /** * Pesquisa Localidade * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarLocalidade(EmissaoHistogramaAguaDadosInformarActionForm form) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro( new ParametroSimples(FiltroLocalidade.ID, form.getLocalidade())); // Recupera Localidade Collection colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade != null && !colecaoLocalidade.isEmpty()) { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade); form.setLocalidade(localidade.getId().toString()); form.setNomeLocalidade(localidade.getDescricao()); } else { form.setLocalidade(null); form.setNomeLocalidade("Localidade inexistente"); } } /** * Pesquisa Setor comercial * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarSetorComercial(EmissaoHistogramaAguaDadosInformarActionForm form) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, form.getSetorComercial())); filtroSetorComercial.adicionarParametro( new ParametroSimples(FiltroSetorComercial.LOCALIDADE, form.getLocalidade())); // Recupera Setor Comercial Collection colecaoSetorComercial = this.getFachada().pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoSetorComercial != null && !colecaoSetorComercial.isEmpty()) { SetorComercial setorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoSetorComercial); form.setSetorComercial(""+setorComercial.getCodigo()); form.setNomeSetorComercial(setorComercial.getDescricao()); } else { form.setSetorComercial(null); form.setNomeSetorComercial("Setor Comercial inexistente"); } } /** * Pesquisa Quadra * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarQuadra(HttpServletRequest httpServletRequest, EmissaoHistogramaAguaDadosInformarActionForm form) { FiltroQuadra filtroQuadra = new FiltroQuadra(); filtroQuadra.adicionarParametro( new ParametroSimples(FiltroQuadra.NUMERO_QUADRA, form.getQuadra())); filtroQuadra.adicionarParametro( new ParametroSimples(FiltroQuadra.CODIGO_SETORCOMERCIAL, form.getSetorComercial())); // Recupera Quadra Collection colecaoQuadra = this.getFachada().pesquisar(filtroQuadra, Quadra.class.getName()); if (colecaoQuadra != null && !colecaoQuadra.isEmpty()) { Quadra quadra = (Quadra) Util.retonarObjetoDeColecao(colecaoQuadra); form.setQuadra(""+quadra.getNumeroQuadra()); //form.setNomeQuadra(quadra.getDescricao()); } else { form.setQuadra(null); httpServletRequest.setAttribute("msgQuadra", "QUADRA INEXISTENTE"); } } /** * Seta os request com os id encontrados * * @author Rafael Pinto * @date 30/05/2007 */ private void setaRequest(HttpServletRequest httpServletRequest, EmissaoHistogramaAguaDadosInformarActionForm form){ //Elo Polo if(form.getEloPolo() != null && !form.getEloPolo().equals("") && form.getNomeEloPolo() != null && !form.getNomeEloPolo().equals("")){ httpServletRequest.setAttribute("eloPoloEncontrado","true"); } //Localidade if(form.getLocalidade() != null && !form.getLocalidade().equals("") && form.getNomeLocalidade() != null && !form.getNomeLocalidade().equals("")){ httpServletRequest.setAttribute("localidadeEncontrada","true"); } //Setor Comercial if(form.getSetorComercial() != null && !form.getSetorComercial().equals("") && form.getNomeSetorComercial() != null && !form.getNomeSetorComercial().equals("")){ httpServletRequest.setAttribute("setorComercialEncontrado","true"); } //Quadra if(form.getNomeQuadra() != null && !form.getNomeQuadra().equals("")){ httpServletRequest.setAttribute("quadraNaoEncontrada","true"); } } /** * Pesquisa Gerencial Regional * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarGerenciaRegional(HttpServletRequest httpServletRequest){ FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.setConsultaSemLimites(true); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.NOME); filtroGerenciaRegional.adicionarParametro( new ParametroSimples(FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoGerenciaRegional = this.getFachada().pesquisar(filtroGerenciaRegional,GerenciaRegional.class.getName()); if (colecaoGerenciaRegional == null || colecaoGerenciaRegional.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Ger�ncia Regional"); } else { httpServletRequest.setAttribute("colecaoGerenciaRegional",colecaoGerenciaRegional); } } /** * Pesquisa Unidade Negocio * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarUnidadeNegocio(HttpServletRequest httpServletRequest, EmissaoHistogramaAguaDadosInformarActionForm form){ FiltroUnidadeNegocio filtroUnidadeNegocio = new FiltroUnidadeNegocio(); filtroUnidadeNegocio.setConsultaSemLimites(true); filtroUnidadeNegocio.setCampoOrderBy(FiltroUnidadeNegocio.NOME); if(form.getGerenciaRegional() != null && !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 colecaoUnidadeNegocio = this.getFachada().pesquisar(filtroUnidadeNegocio,UnidadeNegocio.class.getName()); if (colecaoUnidadeNegocio == null || colecaoUnidadeNegocio.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Unidade de Neg�cio"); } else { httpServletRequest.setAttribute("colecaoUnidadeNegocio",colecaoUnidadeNegocio); } } /** * Pesquisa Categoria Tipo * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarCategoriaTipo(HttpServletRequest httpServletRequest){ FiltroCategoriaTipo filtroCategoriaTipo = new FiltroCategoriaTipo(); filtroCategoriaTipo.setConsultaSemLimites(true); filtroCategoriaTipo.setCampoOrderBy(FiltroCategoriaTipo.DESCRICAO); Collection colecaoTipoCategoria = this.getFachada().pesquisar(filtroCategoriaTipo,CategoriaTipo.class.getName()); if (colecaoTipoCategoria == null || colecaoTipoCategoria.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Categoria Tipo"); } else { httpServletRequest.setAttribute("colecaoTipoCategoria",colecaoTipoCategoria); } } /** * Pesquisa Categoria * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarCategoria(HttpServletRequest httpServletRequest, EmissaoHistogramaAguaDadosInformarActionForm form){ FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.setConsultaSemLimites(true); filtroCategoria.setCampoOrderBy(FiltroCategoria.DESCRICAO); filtroCategoria.adicionarParametro( new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); if(form.getTipoCategoria() != null && !form.getTipoCategoria().equals(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ filtroCategoria.adicionarParametro( new ParametroSimples(FiltroCategoria.TIPO_CATEGORIA, form.getTipoCategoria())); } Collection colecaoCategoria = this.getFachada().pesquisar(filtroCategoria,Categoria.class.getName()); if (colecaoCategoria == null || colecaoCategoria.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Categoria"); } else { httpServletRequest.setAttribute("colecaoCategoria",colecaoCategoria); } } /** * Pesquisa Consumo Tarifa * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarConsumoTarifa(HttpServletRequest httpServletRequest){ FiltroConsumoTarifa filtroConsumoTarifa = new FiltroConsumoTarifa(); filtroConsumoTarifa.setConsultaSemLimites(true); filtroConsumoTarifa.setCampoOrderBy(FiltroConsumoTarifa.DESCRICAO); filtroConsumoTarifa.adicionarParametro( new ParametroSimples(FiltroConsumoTarifa.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoTarifa = this.getFachada().pesquisar(filtroConsumoTarifa,ConsumoTarifa.class.getName()); if (colecaoTarifa == null || colecaoTarifa.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Tarifa"); } else { httpServletRequest.setAttribute("colecaoTarifa",colecaoTarifa); } } /** * Pesquisa Perfil Imovel * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarPerfilImovel(HttpServletRequest httpServletRequest){ FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil(); filtroImovelPerfil.setConsultaSemLimites(true); filtroImovelPerfil.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroImovelPerfil.adicionarParametro( new ParametroSimples(FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoPerfilImovel = this.getFachada().pesquisar(filtroImovelPerfil,ImovelPerfil.class.getName()); if (colecaoPerfilImovel == null || colecaoPerfilImovel.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Perfil do Im�vel"); } else { httpServletRequest.setAttribute("colecaoPerfilImovel",colecaoPerfilImovel); } } /** * Pesquisa Esfera Poder * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarEsferaPoder(HttpServletRequest httpServletRequest){ FiltroEsferaPoder filtroEsferaPoder = new FiltroEsferaPoder(); filtroEsferaPoder.setConsultaSemLimites(true); filtroEsferaPoder.setCampoOrderBy(FiltroEsferaPoder.DESCRICAO); filtroEsferaPoder.adicionarParametro( new ParametroSimples(FiltroEsferaPoder.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoEsferaPoder = this.getFachada().pesquisar(filtroEsferaPoder,EsferaPoder.class.getName()); if (colecaoEsferaPoder == null || colecaoEsferaPoder.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Esfera Poder"); } else { httpServletRequest.setAttribute("colecaoEsferaPoder",colecaoEsferaPoder); } } /** * Pesquisa Situacao Ligacao Agua * * @author Rafael Pinto * @date 30/05/2007 */ private void pesquisarLigacaoAguaSituacao(HttpServletRequest httpServletRequest){ FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao(); filtroLigacaoAguaSituacao.setConsultaSemLimites(true); filtroLigacaoAguaSituacao.setCampoOrderBy(FiltroLigacaoAguaSituacao.DESCRICAO); filtroLigacaoAguaSituacao.adicionarParametro( new ParametroSimples(FiltroLigacaoAguaSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoSituacaoLigacaoAgua = this.getFachada().pesquisar(filtroLigacaoAguaSituacao,LigacaoAguaSituacao.class.getName()); if (colecaoSituacaoLigacaoAgua == null || colecaoSituacaoLigacaoAgua.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Liga��o de �gua"); } else { httpServletRequest.setAttribute("colecaoSituacaoLigacaoAgua",colecaoSituacaoLigacaoAgua); } } /** * Pesquisa Consumo Faixa Ligacao Medido * * @author Rafael Pinto * @date 01/06/2007 */ private void pesquisarConsumoFaixaLigacaoMedido(EmissaoHistogramaAguaDadosInformarActionForm form, boolean ehMedido){ FiltroConsumoFaixaLigacao filtro = new FiltroConsumoFaixaLigacao(); filtro.setConsultaSemLimites(true); filtro.setCampoOrderBy(FiltroConsumoFaixaLigacao.NUMERO_FAIXA_INICIO); Short indicador = ConstantesSistema.INDICADOR_USO_ATIVO; if(!ehMedido){ indicador = ConstantesSistema.INDICADOR_USO_DESATIVO; } filtro.adicionarParametro( new ParametroSimples(FiltroConsumoFaixaLigacao.INDICADOR_HIDROMETRO,indicador)); Collection colecaoConsumoFaixaLigacao = this.getFachada().pesquisar(filtro,ConsumoFaixaLigacao.class.getName()); if(!ehMedido){ form.setColecaoConsumoFaixaLigacaoNaoMedido(colecaoConsumoFaixaLigacao); form.setTamanhoColecaoNaoMedido(colecaoConsumoFaixaLigacao.size()+""); }else{ form.setColecaoConsumoFaixaLigacaoMedido(colecaoConsumoFaixaLigacao); form.setTamanhoColecaoMedido(colecaoConsumoFaixaLigacao.size()+""); } } /** * Remove Consumo Faixa Ligacao da Cole��o * * @author Rafael Pinto * @date 31/05/2007 * * @param inserirEquipeActionForm * @param equipeComponentes */ private void removeConsumoFaixaLigacao(EmissaoHistogramaAguaDadosInformarActionForm form,int idRemover) { Collection<ConsumoFaixaLigacao> novaColecaoConsumoFaixaLigacao = new ArrayList<ConsumoFaixaLigacao>(); Collection<ConsumoFaixaLigacao> colecaoParaIterar = null; String tipoConsumo = form.getTipoConsumo(); if(tipoConsumo.equals("M")){ colecaoParaIterar = form.getColecaoConsumoFaixaLigacaoMedido(); }else{ colecaoParaIterar = form.getColecaoConsumoFaixaLigacaoNaoMedido(); } int index = 0; for (Iterator iter = colecaoParaIterar.iterator(); iter.hasNext();) { index++; ConsumoFaixaLigacao element = (ConsumoFaixaLigacao) iter.next(); if (index != idRemover) { novaColecaoConsumoFaixaLigacao.add(element); } } if(tipoConsumo.equals("M")){ form.setColecaoConsumoFaixaLigacaoMedido(novaColecaoConsumoFaixaLigacao); form.setTamanhoColecaoMedido(novaColecaoConsumoFaixaLigacao.size()+""); }else{ form.setColecaoConsumoFaixaLigacaoNaoMedido(novaColecaoConsumoFaixaLigacao); form.setTamanhoColecaoNaoMedido(novaColecaoConsumoFaixaLigacao.size()+""); } } /** * Valida a faixa se ele j� existe outra faixa no intervalo * * @author Rafael Pinto * @date 21/06/2007 * * @param EmissaoHistogramaAguaDadosInformarActionForm */ private void validarInclusaoConsumoFaixaLigacao(EmissaoHistogramaAguaDadosInformarActionForm form){ boolean ehValido = true; Collection<ConsumoFaixaLigacao> colecaoFaixas = null; if(form.getTipoConsumo().equals("M")){ colecaoFaixas = form.getColecaoConsumoFaixaLigacaoMedido(); }else{ colecaoFaixas = form.getColecaoConsumoFaixaLigacaoNaoMedido(); } int numeroFaixaInicio = Integer.parseInt(form.getLimiteInferiorFaixa()); int numeroFaixaFim = Integer.parseInt(form.getLimiteSuperiorFaixa()); Iterator itera = colecaoFaixas.iterator(); while (itera.hasNext()) { ConsumoFaixaLigacao consumoExistente = (ConsumoFaixaLigacao) itera.next(); int numeroFaixaInicioExistente = consumoExistente.getNumeroFaixaInicio(); int numeroFaixaFimExistente = consumoExistente.getNumeroFaixaFim(); if((numeroFaixaInicio >= numeroFaixaInicioExistente && numeroFaixaInicio <= numeroFaixaFimExistente) || (numeroFaixaFim >= numeroFaixaInicioExistente && numeroFaixaInicio <= numeroFaixaFimExistente) ){ ehValido = false; } } if(ehValido){ ConsumoFaixaLigacao consumoFaixaLigacao = new ConsumoFaixaLigacao(); consumoFaixaLigacao.setNumeroFaixaInicio(numeroFaixaInicio); consumoFaixaLigacao.setNumeroFaixaFim(numeroFaixaFim); colecaoFaixas.add(consumoFaixaLigacao); if(form.getTipoConsumo().equals("M")){ form.setTamanhoColecaoMedido(colecaoFaixas.size()+""); }else{ form.setTamanhoColecaoNaoMedido(colecaoFaixas.size()+""); } }else{ throw new ActionServletException("atencao.consumo_faixa_ja_informada"); } } /** * Ordena a colecao de consumo faixa ligacao * * @author Rafael Pinto * @date 21/06/2007 * * @param EmissaoHistogramaAguaDadosInformarActionForm */ private void ordenaColecaoFaixaConsumoLigacao(EmissaoHistogramaAguaDadosInformarActionForm form) { Collection colecaoMedido = form.getColecaoConsumoFaixaLigacaoMedido(); Collection colecaoNaoMedido = form.getColecaoConsumoFaixaLigacaoNaoMedido(); Collections.sort((List) colecaoMedido, new Comparator() { public int compare(Object a, Object b) { ConsumoFaixaLigacao consumo1 = (ConsumoFaixaLigacao) a; ConsumoFaixaLigacao consumo2 = (ConsumoFaixaLigacao) b; Integer faixaInicio1 = consumo1.getNumeroFaixaInicio(); Integer faixaInicio2 = consumo2.getNumeroFaixaInicio(); return faixaInicio1.compareTo(faixaInicio2); } } ); Collections.sort((List) colecaoNaoMedido, new Comparator() { public int compare(Object a, Object b) { ConsumoFaixaLigacao consumo1 = (ConsumoFaixaLigacao) a; ConsumoFaixaLigacao consumo2 = (ConsumoFaixaLigacao) b; Integer faixaInicio1 = consumo1.getNumeroFaixaInicio(); Integer faixaInicio2 = consumo2.getNumeroFaixaInicio(); return faixaInicio1.compareTo(faixaInicio2); } } ); } /** * Pesquisa Tipo de Tarifa Por Categoria * * @author Bruno Barros * @date 11/11/2010 */ private void pesquisarIndicadorTarifaCategoria(HttpServletRequest httpServletRequest){ SistemaParametro sp = Fachada.getInstancia().pesquisarParametrosDoSistema(); int indicador = sp.getIndicadorTarifaCategoria(); httpServletRequest.setAttribute("indicadorTarifaCategoria", indicador); } /** * Pesquisa as subcategorias da categoria informada * * @author Bruno Barros * @date 11/11/2010 */ private void pesquisarSubcategoria(HttpServletRequest httpServletRequest, EmissaoHistogramaAguaDadosInformarActionForm form) { FiltroSubCategoria filtro = new FiltroSubCategoria(); filtro.adicionarParametro( new ParametroSimples( FiltroSubCategoria.CATEGORIA_ID, form.getCategoria()[0] ) ); filtro.setCampoOrderBy( FiltroSubCategoria.DESCRICAO ); Collection colecaoSubcategoria = this.getFachada().pesquisar( filtro, Subcategoria.class.getName() ); httpServletRequest.setAttribute("colecaoSubcategoria", colecaoSubcategoria); } }