package gcom.gui.cadastro.imovel; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoEsgotamento; import gcom.atendimentopublico.ligacaoesgoto.FiltroLigacaoEsgotoSituacao; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoEsgotamento; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao; import gcom.cadastro.imovel.AreaConstruidaFaixa; import gcom.cadastro.imovel.Despejo; import gcom.cadastro.imovel.FiltroAreaConstruidaFaixa; import gcom.cadastro.imovel.FiltroDespejo; import gcom.cadastro.imovel.FiltroFonteAbastecimento; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.FiltroImovelTipoCobertura; import gcom.cadastro.imovel.FiltroImovelTipoConstrucao; import gcom.cadastro.imovel.FiltroImovelTipoHabitacao; import gcom.cadastro.imovel.FiltroImovelTipoPropriedade; import gcom.cadastro.imovel.FiltroPavimentoCalcada; import gcom.cadastro.imovel.FiltroPavimentoRua; import gcom.cadastro.imovel.FiltroPiscinaVolumeFaixa; import gcom.cadastro.imovel.FiltroPocoTipo; import gcom.cadastro.imovel.FiltroReservatorioVolumeFaixa; import gcom.cadastro.imovel.FonteAbastecimento; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.imovel.ImovelTipoCobertura; import gcom.cadastro.imovel.ImovelTipoConstrucao; import gcom.cadastro.imovel.ImovelTipoHabitacao; import gcom.cadastro.imovel.ImovelTipoPropriedade; import gcom.cadastro.imovel.PavimentoCalcada; import gcom.cadastro.imovel.PavimentoRua; import gcom.cadastro.imovel.PiscinaVolumeFaixa; import gcom.cadastro.imovel.PocoTipo; import gcom.cadastro.imovel.ReservatorioVolumeFaixa; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroQuadraFace; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.QuadraFace; import gcom.cadastro.localidade.bean.IntegracaoQuadraFaceHelper; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoSituacaoHistorico; import gcom.faturamento.FiltroFaturamentoSituacaoHistorico; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ConectorOr; import gcom.util.filtro.MaiorQue; import gcom.util.filtro.MenorQue; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; 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; import org.apache.struts.validator.DynaValidatorForm; /** * Exibir os dados da Caracteristica do imovel * * @author Fl�vio, Rafael Santos * @since 07/02/2006 */ public class ExibirAtualizarImovelCaracteristicasAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("atualizarImovelCaracteristicas"); //Obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); sessao.removeAttribute("gis"); DynaValidatorForm atualizarImovelCaracteristicasActionForm = (DynaValidatorForm) actionForm; Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); //Cria filtros FiltroAreaConstruidaFaixa filtroAreaConstruida = new FiltroAreaConstruidaFaixa(); FiltroReservatorioVolumeFaixa filtroReservatorioVolumeFaixa = new FiltroReservatorioVolumeFaixa(); FiltroPiscinaVolumeFaixa filtroPiscinaVolumeFaixa = new FiltroPiscinaVolumeFaixa(); FiltroPavimentoCalcada filtroPavimentoCalcada = new FiltroPavimentoCalcada(); FiltroPavimentoRua filtroPavimentoRua = new FiltroPavimentoRua(); FiltroFonteAbastecimento filtroFonteAbastecimento = new FiltroFonteAbastecimento(); FiltroLigacaoAguaSituacao filtroLigacaoAguaSituacao = new FiltroLigacaoAguaSituacao(); FiltroLigacaoEsgotoSituacao filtroLigacaoEsgotoSituacao = new FiltroLigacaoEsgotoSituacao(); FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil(); FiltroPocoTipo filtroPocoTipo = new FiltroPocoTipo(); FiltroDespejo filtroDespejo = new FiltroDespejo(); FiltroImovelTipoHabitacao filtroImovelTipoHabitacao = new FiltroImovelTipoHabitacao(); FiltroImovelTipoPropriedade filtroImovelTipoPropriedade = new FiltroImovelTipoPropriedade(); FiltroImovelTipoConstrucao filtroImovelTipoConstrucao = new FiltroImovelTipoConstrucao(); FiltroImovelTipoCobertura filtroImovelTipoCobertura = new FiltroImovelTipoCobertura(); //Cria Cole�ao Collection areaContruidaFaixas = null; Collection reservatorioVolumeFaixas = null; Collection piscinaVolumeFaixas = null; Collection pavimetoCalcadas = null; Collection pavimentoRuas = null; Collection fonteAbastecimentos = null; Collection ligacaoEsgotoSituacaos = null; Collection ligacaoAguaSituacaos = null; Collection pocoTipos = null; Collection imovelPerfis = null; Collection despejos = null; Collection tipoHabitacao = new ArrayList(); Collection tipoPropriedade = new ArrayList(); Collection tipoConstrucao = new ArrayList(); Collection tipoCobertura = new ArrayList(); Collection colecaoLigacaoEsgotoEsgotamento = new ArrayList(); //Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); //Faz as pesuisas e testa se as colecoes estao vazias antes de jogalas // na sessao // Verifica permiss�o especial para // alterar area construida boolean temPermissaoAlterarAreaConstruida = fachada.verificarPermissaoEspecialAtiva(PermissaoEspecial.ALTERAR_AREA_CONSTRUIDA_IMOVEL, usuario); if(temPermissaoAlterarAreaConstruida){ httpServletRequest.setAttribute("temPermissaoAlterarAreaConstruida", temPermissaoAlterarAreaConstruida); } //CARREGA OS DADOS DA AREA CONSTRUIDA filtroAreaConstruida.adicionarParametro(new ParametroSimples( FiltroAreaConstruidaFaixa.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); areaContruidaFaixas = fachada.pesquisar(filtroAreaConstruida, AreaConstruidaFaixa.class.getName()); // if (areaContruidaFaixas == null || areaContruidaFaixas.isEmpty()) { // throw new ActionServletException("atencao.naocadastrado", null,"Area Construida Faixa"); // } //CARREGA OS DADOS DO RESERVATORIO filtroReservatorioVolumeFaixa.adicionarParametro(new ParametroSimples( FiltroReservatorioVolumeFaixa.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); reservatorioVolumeFaixas = fachada.pesquisar( filtroReservatorioVolumeFaixa, ReservatorioVolumeFaixa.class .getName()); if (reservatorioVolumeFaixas == null || reservatorioVolumeFaixas.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Reservatorio Volume Faixa"); } //CARREGA OS DADOS DE PISCINA filtroPiscinaVolumeFaixa.adicionarParametro(new ParametroSimples( FiltroPiscinaVolumeFaixa.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); piscinaVolumeFaixas = fachada.pesquisar(filtroPiscinaVolumeFaixa, PiscinaVolumeFaixa.class.getName()); if (piscinaVolumeFaixas == null || piscinaVolumeFaixas.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Piscina Volume Faixa"); } //CARREGA OS DADOS DE PAVIMENTO CAL�ADA filtroPavimentoCalcada.adicionarParametro(new ParametroSimples( FiltroPavimentoCalcada.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPavimentoCalcada.setCampoOrderBy(FiltroPavimentoCalcada.DESCRICAO); //filtro pavimento calcadas pavimetoCalcadas = fachada.pesquisar(filtroPavimentoCalcada, PavimentoCalcada.class.getName()); if (pavimetoCalcadas == null || pavimetoCalcadas.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Pavimento Cal�ada"); } //filtro pavimento rua filtroPavimentoRua.adicionarParametro(new ParametroSimples( FiltroPavimentoRua.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPavimentoRua.setCampoOrderBy(FiltroPavimentoRua.DESCRICAO); pavimentoRuas = fachada.pesquisar(filtroPavimentoRua, PavimentoRua.class.getName()); if (pavimentoRuas == null || pavimentoRuas.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Pavimento Rua"); } //CARREGAR OS DADOS DE FONTE DE ABASTECIMENTO filtroFonteAbastecimento.adicionarParametro(new ParametroSimples( FiltroFonteAbastecimento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroFonteAbastecimento.setCampoOrderBy(FiltroFonteAbastecimento.DESCRICAO); fonteAbastecimentos = fachada.pesquisar(filtroFonteAbastecimento, FonteAbastecimento.class.getName()); if (fonteAbastecimentos == null || fonteAbastecimentos.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Fonte Abastecimento"); } //CARREGAR OS DADOS DE PO�O TIPO filtroPocoTipo.setCampoOrderBy(FiltroPocoTipo.DESCRICAO); filtroPocoTipo.adicionarParametro(new ParametroSimples( FiltroPocoTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); pocoTipos = fachada.pesquisar(filtroPocoTipo, PocoTipo.class.getName()); if (pocoTipos == null || pocoTipos.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Po�o Tipo"); } Imovel imovel = null; if(sessao.getAttribute("imovelAtualizacao") != null){ imovel = (Imovel) sessao.getAttribute("imovelAtualizacao"); } //CARRGAR OS DADOS DE IMOVEL PERFIL -------------------------------- filtroImovelPerfil.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroImovelPerfil.adicionarParametro(new ParametroSimples( FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroImovelPerfil.adicionarParametro( new ParametroSimples(FiltroImovelPerfil.INDICADOR_GERACAO_AUTOMATICA, ImovelPerfil.NAO)); //Ana Maria 10/09/2008 //analista : Fabiola //Verifica se o usu�rio tem permiss�o para incluir o perfil do im�vel corporativo, grande telemedido e corporativo telemed. boolean temPermissaoAlterarPerfilCorporativoImovel = fachada.verificarPermissaoAlterarPerfilCorporativoImovel(usuario); if(temPermissaoAlterarPerfilCorporativoImovel){ //exibir imovelPerfil corporativo, grande telemedido e corporativo telemed. no combo if(imovel != null && (imovel.getImovelPerfil().getId().intValue() == ImovelPerfil.GRANDE_NO_MES.intValue())){ filtroImovelPerfil.adicionarParametro(new ParametroSimples(FiltroImovelPerfil.ID,ImovelPerfil.GRANDE_NO_MES,ConectorOr.CONECTOR_OR)); } if(!(imovel.getImovelPerfil() != null && imovel.getImovelPerfil().getId().equals(ConstantesSistema.INDICADOR_TARIFA_SOCIAL))) { filtroImovelPerfil.adicionarParametro(new ParametroSimples(FiltroImovelPerfil.INDICADOR_GERACAO_AUTOMATICA,ImovelPerfil.NAO)); } imovelPerfis = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName()); }else if(imovel != null && (imovel.getImovelPerfil().getId().intValue() == ImovelPerfil.CORPORATIVO.intValue())){ //exibir imovelPerfil corporativo no combo, mas n pode ser alterado imovelPerfis = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName()); }else if(imovel != null && (imovel.getImovelPerfil().getId().intValue() == ImovelPerfil.GRANDE_TELEMEDIDO.intValue())){ //exibir imovelPerfil grande telemedido no combo, mas n pode ser alterado imovelPerfis = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName()); }else if(imovel != null && (imovel.getImovelPerfil().getId().intValue() == ImovelPerfil.CORPORATIVO_TELEMED.intValue())){ //exibir imovelPerfil corporativo telemed. no combo, mas n pode ser alterado imovelPerfis = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName()); }else{ //se n�o tiver permiss�o especial e o imovelPerfil for diferente de corporativo, grande telemedido e corporativo telemed. //n�o exibir estes no combo if(!(imovel.getImovelPerfil() != null && imovel.getImovelPerfil().getId().equals(ConstantesSistema.INDICADOR_TARIFA_SOCIAL))) { imovelPerfis = fachada.pesquisarImovelPerfilDiferenteCorporativo(); }else{ imovelPerfis = fachada.pesquisarImovelPerfilTarifaSocialDiferenteCorporativo(); } } if (imovelPerfis == null || imovelPerfis.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Imovel Perfil"); } boolean bloqueaDadosSocial = false; if(imovel.getImovelPerfil() != null && (imovel.getImovelPerfil().getId().equals(ConstantesSistema.INDICADOR_TARIFA_SOCIAL))){ FiltroImovelPerfil filtroImovelPerfil2 = new FiltroImovelPerfil(); filtroImovelPerfil2.adicionarParametro(new ParametroSimples(FiltroImovelPerfil.ID, ConstantesSistema.INDICADOR_TARIFA_SOCIAL)); ImovelPerfil imovelPerfil = (ImovelPerfil) Util.retonarObjetoDeColecao(fachada.pesquisar(filtroImovelPerfil2, ImovelPerfil.class.getName())); if (imovelPerfil.getIndicadorBloqueaDadosSocial().equals(ConstantesSistema.SIM)){ bloqueaDadosSocial = true; } } if(bloqueaDadosSocial || (!temPermissaoAlterarPerfilCorporativoImovel && (imovel.getImovelPerfil().getId().equals(ImovelPerfil.CORPORATIVO)|| imovel.getImovelPerfil().getId().equals(ImovelPerfil.GRANDE_TELEMEDIDO) || imovel.getImovelPerfil().getId().equals(ImovelPerfil.CORPORATIVO_TELEMED)))) { // alterado por victor/chico pra pesquisar todos os imoveis perfis quando o // select estiver desabilitado filtroImovelPerfil = new FiltroImovelPerfil(); filtroImovelPerfil.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroImovelPerfil.adicionarParametro(new ParametroSimples( FiltroImovelPerfil.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); imovelPerfis = fachada.pesquisar(filtroImovelPerfil, ImovelPerfil.class.getName() ); httpServletRequest.setAttribute("habilitaImovelPerfil", "1"); } else { httpServletRequest.setAttribute("habilitaImovelPerfil", "0"); } // CRC3184 // Desenvolvedor:Hugo Amorim Analista:Rosana // Data: 15/12/2009 FiltroImovelPerfil filtroIP = new FiltroImovelPerfil(); filtroIP.setCampoOrderBy(FiltroImovelPerfil.DESCRICAO); filtroIP.adicionarParametro(new ParametroSimples( FiltroImovelPerfil.ID, imovel.getImovelPerfil().getId())); Collection collectionImovelPerfis = fachada.pesquisar(filtroIP, ImovelPerfil.class.getName()); ImovelPerfil imovelPerfil = (ImovelPerfil) Util.retonarObjetoDeColecao(collectionImovelPerfis); if(imovelPerfil.getIndicadorInserirManterPerfil().compareTo(new Short("1"))==0 && imovelPerfil.getIndicadorGeracaoAutomatica().compareTo(new Short("2"))==0){ httpServletRequest.removeAttribute("habilitaImovelPerfil"); httpServletRequest.setAttribute("habilitaImovelPerfil", "0"); } // Fim da Altera��o CRC3184 //----------------------------------------------------------------------------------- //CARREGAR OS DADOS DE DESPEJO filtroDespejo.setCampoOrderBy(FiltroDespejo.DESCRICAO); filtroDespejo.adicionarParametro(new ParametroSimples( FiltroDespejo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); despejos = fachada.pesquisar(filtroDespejo, Despejo.class.getName()); if (despejos == null || despejos.isEmpty()) { throw new ActionServletException("atencao.naocadastrado", null,"Despejo"); } //Imovel Tipo Habitacao filtroImovelTipoHabitacao.adicionarParametro( new ParametroSimples(FiltroImovelTipoHabitacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroImovelTipoHabitacao.setCampoOrderBy(FiltroImovelTipoHabitacao.DESCRICAO); tipoHabitacao = fachada.pesquisar(filtroImovelTipoHabitacao, ImovelTipoHabitacao.class.getName()); //Imovel Tipo Propriedade filtroImovelTipoPropriedade.adicionarParametro( new ParametroSimples(FiltroImovelTipoPropriedade.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroImovelTipoPropriedade.setCampoOrderBy(FiltroImovelTipoPropriedade.DESCRICAO); tipoPropriedade = fachada.pesquisar(filtroImovelTipoPropriedade, ImovelTipoPropriedade.class.getName()); //Imovel Tipo Construcao filtroImovelTipoConstrucao.adicionarParametro( new ParametroSimples(FiltroImovelTipoConstrucao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroImovelTipoConstrucao.setCampoOrderBy(FiltroImovelTipoConstrucao.DESCRICAO); tipoConstrucao = fachada.pesquisar(filtroImovelTipoConstrucao, ImovelTipoConstrucao.class.getName()); //Imovel Tipo Cobertura filtroImovelTipoCobertura.adicionarParametro( new ParametroSimples(FiltroImovelTipoCobertura.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroImovelTipoCobertura.setCampoOrderBy(FiltroImovelTipoCobertura.DESCRICAO); tipoCobertura = fachada.pesquisar(filtroImovelTipoCobertura, ImovelTipoCobertura.class.getName()); //IMOVEL QUE ESTA SENDO ATUALIZADO //Imovel imovel = (Imovel) sessao.getAttribute("imovelAtualizacao"); Quadra quadra = imovel.getQuadra(); String idQuadraFace = (String) atualizarImovelCaracteristicasActionForm.get("idQuadraFace"); /* * Integra��o com o conceito de face da quadra * * Caso a empresa utilize o conceito de face da quadra (PARM_ICQUADRAFACE = 1 da * tabela SISTEMA_PARAMETROS); os campos de INDICADOR_REDE_AGUA, INDICADOR_REDE_ESGOTO * DISTRITO_OPERACIONAL e BACIA ser�o obtidos a partir da face. */ IntegracaoQuadraFaceHelper integracaoQuadraFace = null; SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); if (sistemaParametro.getIndicadorQuadraFace().equals(ConstantesSistema.SIM)){ FiltroQuadraFace filtroQuadraFace = new FiltroQuadraFace(); filtroQuadraFace.adicionarParametro(new ParametroSimples(FiltroQuadraFace.ID, new Integer(idQuadraFace))); Collection colecaoQuadraFace = fachada.pesquisar(filtroQuadraFace, QuadraFace.class.getName()); if (colecaoQuadraFace != null && !colecaoQuadraFace.isEmpty()) { QuadraFace quadraFaceNaBase = ((QuadraFace) ((List) colecaoQuadraFace).get(0)); integracaoQuadraFace = new IntegracaoQuadraFaceHelper(); integracaoQuadraFace.setIndicadorRedeAgua(quadraFaceNaBase.getIndicadorRedeAgua()); integracaoQuadraFace.setIndicadorRedeEsgoto(quadraFaceNaBase.getIndicadorRedeEsgoto()); } } else{ FiltroQuadra filtroQuadra = new FiltroQuadra(); // filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidade))); // filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.ID_SETORCOMERCIAL, new Integer(idSetorComercial))); filtroQuadra.adicionarParametro(new ParametroSimples(FiltroQuadra.ID, quadra.getId())); Collection colecaoQuadra = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (colecaoQuadra != null && !colecaoQuadra.isEmpty()) { Quadra quadraNaBase = ((Quadra) ((List) colecaoQuadra).get(0)); integracaoQuadraFace = new IntegracaoQuadraFaceHelper(); integracaoQuadraFace.setIndicadorRedeAgua(quadraNaBase.getIndicadorRedeAgua()); integracaoQuadraFace.setIndicadorRedeEsgoto(quadraNaBase.getIndicadorRedeEsgoto()); } } //[FS008] - VERIFICAR SITUA��O DA LIGA��O AGUA - FACTIVEL e POTENCIAL //verifica a situa��o primeiro do imovel para depois caso n�o satisfa�a a condi��o faz em rela��o a quadra if(imovel.getLigacaoAguaSituacao() != null && (imovel.getLigacaoAguaSituacao().getId().intValue() != LigacaoAguaSituacao.FACTIVEL.intValue() & imovel.getLigacaoAguaSituacao().getId().intValue() != LigacaoAguaSituacao.POTENCIAL.intValue() ) ){ //carrega apenas a situa��o de agua do imovel Collection situacaoAguaImovel = new ArrayList(); situacaoAguaImovel.add(imovel.getLigacaoAguaSituacao()); ligacaoAguaSituacaos = situacaoAguaImovel; httpServletRequest.setAttribute("semSituacaoAgua", "true"); }else{ httpServletRequest.setAttribute("semSituacaoAgua", "false"); //CARREGAR OS DADOS DE LIGA��O SITUA��O AGUA //TESTE PARA SABER SE A QUADRA TEM OU N�O REDE DE AGUA if (integracaoQuadraFace.getIndicadorRedeAgua() != null && integracaoQuadraFace.getIndicadorRedeAgua().equals(Quadra.SEM_REDE)) { filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE_NAO)); filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } if (integracaoQuadraFace.getIndicadorRedeAgua() != null && integracaoQuadraFace.getIndicadorRedeAgua().equals(Quadra.COM_REDE)) { filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE_SIM)); filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } if (integracaoQuadraFace.getIndicadorRedeAgua() != null && integracaoQuadraFace.getIndicadorRedeAgua().equals(Quadra.REDE_PARCIAL)) { filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } filtroLigacaoAguaSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoAguaSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLigacaoAguaSituacao.setCampoOrderBy(FiltroLigacaoAguaSituacao.DESCRICAO); ligacaoAguaSituacaos = fachada.pesquisar(filtroLigacaoAguaSituacao, LigacaoAguaSituacao.class.getName()); if (Util.isVazioOrNulo(ligacaoAguaSituacaos)) { throw new ActionServletException("atencao.naocadastrado",null, "Liga��o �gua Situa��o"); } } //[FS009] - VERIFICAR SITUA��O DA LIGA��O ESGOTO - INDICADOR FATURAMENTO //verifica a situa��o primeiro do imovel para depois caso n�o satisfa�a a condi��o faz em rela��o a quadra if(imovel.getLigacaoEsgotoSituacao() != null && imovel.getLigacaoEsgotoSituacao().getIndicadorFaturamentoSituacao().equals(ConstantesSistema.SIM)){ //carrega apenas a situa��o do esgoto do imovel Collection situacaoEsgotoImovel = new ArrayList(); situacaoEsgotoImovel.add(imovel.getLigacaoEsgotoSituacao()); ligacaoEsgotoSituacaos = situacaoEsgotoImovel; httpServletRequest.setAttribute("semSituacaoEsgoto", "true"); }else{ httpServletRequest.setAttribute("semSituacaoEsgoto", "false"); //CARREGAR OS DADOS DE LIGA��O SITUA��O ESGOTO //TESTE PARA SABER SE A QUADRA TEM OU N�O REDE DE ESGOTO if (integracaoQuadraFace.getIndicadorRedeEsgoto() != null && integracaoQuadraFace.getIndicadorRedeEsgoto().equals(Quadra.SEM_REDE)) { filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOREXISTENCIAREDE, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE_NAO)); filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOREXISTENCIALIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } if (integracaoQuadraFace.getIndicadorRedeEsgoto() != null && integracaoQuadraFace.getIndicadorRedeEsgoto().equals(Quadra.COM_REDE)) { filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOREXISTENCIAREDE, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_REDE_SIM)); filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOREXISTENCIALIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } if (integracaoQuadraFace.getIndicadorRedeEsgoto() != null && integracaoQuadraFace.getIndicadorRedeEsgoto().equals(Quadra.REDE_PARCIAL)) { filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOREXISTENCIALIGACAO, LigacaoAguaSituacao.INDICADOR_EXISTENCIA_LIGACAO_NAO)); } filtroLigacaoEsgotoSituacao.adicionarParametro(new ParametroSimples( FiltroLigacaoEsgotoSituacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLigacaoEsgotoSituacao.setCampoOrderBy(FiltroLigacaoEsgotoSituacao.DESCRICAO); ligacaoEsgotoSituacaos = fachada.pesquisar(filtroLigacaoEsgotoSituacao, LigacaoEsgotoSituacao.class.getName()); if (Util.isVazioOrNulo(ligacaoEsgotoSituacaos)) { throw new ActionServletException("atencao.naocadastrado", null,"Liga��o Esgoto Situa��o"); } } //ESGOTAMENTO colecaoLigacaoEsgotoEsgotamento = this.verificarEsgotamento(fachada, imovel); //LOCAL QUE SETA OS DADOS NO REQUEST httpServletRequest.setAttribute("piscinaVolumeFaixas",piscinaVolumeFaixas); String piscina = (String) atualizarImovelCaracteristicasActionForm.get("piscina"); if(piscina != null && !piscina.equalsIgnoreCase("")){ // Seta o valor da faixa de piscina filtroPiscinaVolumeFaixa.adicionarParametro(new ParametroSimples(FiltroPiscinaVolumeFaixa.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPiscinaVolumeFaixa.adicionarParametro(new MaiorQue(FiltroPiscinaVolumeFaixa.VOLUME_MAIOR_FAIXA,new BigDecimal(piscina.replace(',','.')))); filtroPiscinaVolumeFaixa.adicionarParametro(new MenorQue(FiltroPiscinaVolumeFaixa.VOLUME_MENOR_FAIXA,new BigDecimal(piscina.replace(',','.')))); Collection piscinasFaixas = fachada.pesquisar(filtroPiscinaVolumeFaixa,PiscinaVolumeFaixa.class.getName()); PiscinaVolumeFaixa piscinaVolumeFaixa = null; if (piscinasFaixas != null && !piscinasFaixas.isEmpty()) { Iterator piscinasFaixasIterator = piscinasFaixas.iterator(); piscinaVolumeFaixa = (PiscinaVolumeFaixa) piscinasFaixasIterator.next(); atualizarImovelCaracteristicasActionForm.set("faixaPiscina",piscinaVolumeFaixa.getId().toString()); } } httpServletRequest.setAttribute("areaContruidaFaixas",areaContruidaFaixas); String areaConstruida = (String) atualizarImovelCaracteristicasActionForm.get("areaConstruida"); if(areaConstruida != null && !areaConstruida.equalsIgnoreCase("")){ //seta o valor da faixa da area construida filtroAreaConstruida.adicionarParametro(new ParametroSimples(FiltroAreaConstruidaFaixa.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroAreaConstruida.adicionarParametro(new MaiorQue(FiltroAreaConstruidaFaixa.MAIOR_FAIXA,new BigDecimal(areaConstruida.replace(',','.')))); filtroAreaConstruida.adicionarParametro(new MenorQue(FiltroAreaConstruidaFaixa.MENOR_FAIXA,new BigDecimal(areaConstruida.replace(',','.')))); Collection areasConstruidasFaixas = fachada.pesquisar(filtroAreaConstruida,AreaConstruidaFaixa.class.getName()); AreaConstruidaFaixa areaConstruidaFaixa = null; if (areasConstruidasFaixas != null && !areasConstruidasFaixas.isEmpty()) { Iterator areaContruidaFaixaIterator = areasConstruidasFaixas.iterator(); areaConstruidaFaixa = (AreaConstruidaFaixa) areaContruidaFaixaIterator.next(); atualizarImovelCaracteristicasActionForm.set("faixaAreaConstruida",areaConstruidaFaixa.getId().toString()); } } httpServletRequest.setAttribute("reservatorioVolumeFaixas",reservatorioVolumeFaixas); String reservatorioInferior = (String) atualizarImovelCaracteristicasActionForm.get("reservatorioInferior"); if(reservatorioInferior != null && !reservatorioInferior.equalsIgnoreCase("")){ //Seta o valor da faixa do reservatorio inferior filtroReservatorioVolumeFaixa.adicionarParametro(new ParametroSimples(FiltroReservatorioVolumeFaixa.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroReservatorioVolumeFaixa.adicionarParametro(new MaiorQue(FiltroReservatorioVolumeFaixa.VOLUME_MAIOR_FAIXA,new BigDecimal(reservatorioInferior.replace(',','.')))); filtroReservatorioVolumeFaixa.adicionarParametro(new MenorQue(FiltroReservatorioVolumeFaixa.VOLUME_MENOR_FAIXA,new BigDecimal(reservatorioInferior.replace(',','.')))); Collection inferioresFaixas = fachada.pesquisar(filtroReservatorioVolumeFaixa,ReservatorioVolumeFaixa.class.getName()); ReservatorioVolumeFaixa reservatorioVolumeFaixa = null; if (inferioresFaixas != null && !inferioresFaixas.isEmpty()) { Iterator inferioresFaixasIterator = inferioresFaixas.iterator(); reservatorioVolumeFaixa = (ReservatorioVolumeFaixa) inferioresFaixasIterator.next(); atualizarImovelCaracteristicasActionForm.set("faixaReservatorioInferior",reservatorioVolumeFaixa.getId().toString()); } } String reservatorioSuperior = (String) atualizarImovelCaracteristicasActionForm.get("reservatorioSuperior"); if(reservatorioSuperior != null && !reservatorioSuperior.equalsIgnoreCase("")){ //Seta o valor da faixa do reservatorio inferior filtroReservatorioVolumeFaixa.adicionarParametro(new ParametroSimples(FiltroReservatorioVolumeFaixa.INDICADOR_USO,ConstantesSistema.INDICADOR_USO_ATIVO)); filtroReservatorioVolumeFaixa.adicionarParametro(new MaiorQue(FiltroReservatorioVolumeFaixa.VOLUME_MAIOR_FAIXA,new BigDecimal(reservatorioSuperior.replace(',','.')))); filtroReservatorioVolumeFaixa.adicionarParametro(new MenorQue(FiltroReservatorioVolumeFaixa.VOLUME_MENOR_FAIXA,new BigDecimal(reservatorioSuperior.replace(',','.')))); ReservatorioVolumeFaixa reservatorioVolumeFaixa = null; Collection superiosFaixas = fachada.pesquisar(filtroReservatorioVolumeFaixa,ReservatorioVolumeFaixa.class.getName()); if (superiosFaixas != null && !superiosFaixas.isEmpty()) { Iterator superiosFaixasIterator = superiosFaixas.iterator(); reservatorioVolumeFaixa = (ReservatorioVolumeFaixa) superiosFaixasIterator.next(); atualizarImovelCaracteristicasActionForm.set("faixaResevatorioSuperior",reservatorioVolumeFaixa.getId().toString()); } } httpServletRequest.setAttribute("pavimetoCalcadas", pavimetoCalcadas); httpServletRequest.setAttribute("pavimentoRuas", pavimentoRuas); httpServletRequest.setAttribute("fonteAbastecimentos",fonteAbastecimentos); httpServletRequest.setAttribute("ligacaoAguaSituacaos",ligacaoAguaSituacaos); httpServletRequest.setAttribute("ligacaoEsgotoSituacaos",ligacaoEsgotoSituacaos); httpServletRequest.setAttribute("perfilImoveis", imovelPerfis); httpServletRequest.setAttribute("pocoTipos", pocoTipos); httpServletRequest.setAttribute("tipoDespejos", despejos); httpServletRequest.setAttribute("tipoHabitacao",tipoHabitacao); httpServletRequest.setAttribute("tipoPropriedade", tipoPropriedade); httpServletRequest.setAttribute("tipoConstrucao", tipoConstrucao); httpServletRequest.setAttribute("tipoCobertura", tipoCobertura); httpServletRequest.setAttribute("colecaoLigacaoEsgotoEsgotamento", colecaoLigacaoEsgotoEsgotamento); // Nathalia Santos 12/07/2011 // Analista: Romulo // Verifica se a empresa � a CAER, caso seja seta o atributo, caso n�o remove o atributo. if (sistemaParametro.getNomeAbreviadoEmpresa().equalsIgnoreCase(SistemaParametro.EMPRESA_CAER)){ httpServletRequest.setAttribute("apresentarIndicadorNivelInstalacaoEsgoto", true); httpServletRequest.setAttribute("indicadorNivelInstalacaoEsgoto", imovel.getIndicadorNivelInstalacaoEsgoto()); } else { httpServletRequest.removeAttribute("apresentarIndicadorNivelInstalacaoEsgoto"); httpServletRequest.removeAttribute("indicadorNivelInstalacaoEsgoto"); } return retorno; } private Collection verificarEsgotamento(Fachada fachada, Imovel imovel){ Collection retorno = new ArrayList(); FiltroFaturamentoSituacaoHistorico filtroFaturamentoSituacaoHistorico = new FiltroFaturamentoSituacaoHistorico(); filtroFaturamentoSituacaoHistorico.adicionarParametro(new ParametroSimples( FiltroFaturamentoSituacaoHistorico.ID_IMOVEL, imovel.getId())); filtroFaturamentoSituacaoHistorico.adicionarParametro(new ParametroNulo( FiltroFaturamentoSituacaoHistorico.ANO_MES_FATURAMENTO_RETIRADA)); Collection colecaoSituacaoEspecial = fachada.pesquisar(filtroFaturamentoSituacaoHistorico, FaturamentoSituacaoHistorico.class.getName()); FiltroLigacaoEsgotoEsgotamento filtroLigacaoEsgotoEsgotamento = null; if (colecaoSituacaoEspecial != null && !colecaoSituacaoEspecial.isEmpty()){ if (imovel.getLigacaoEsgoto() != null && imovel.getLigacaoEsgoto().getLigacaoEsgotoEsgotamento() != null){ retorno.add(imovel.getLigacaoEsgoto().getLigacaoEsgotoEsgotamento()); } else{ //Disponibilizar apenas as op��es de esgotamento que n�o geram situa��o especial filtroLigacaoEsgotoEsgotamento = new FiltroLigacaoEsgotoEsgotamento(FiltroLigacaoEsgotoEsgotamento.DESCRICAO); filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroNulo(FiltroLigacaoEsgotoEsgotamento.ID_FATURAMENTO_SITUACAO_MOTIVO)); filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroSimples(FiltroLigacaoEsgotoEsgotamento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLigacaoEsgotoEsgotamento.setCampoOrderBy(FiltroLigacaoEsgotoEsgotamento.DESCRICAO); retorno = fachada.pesquisar(filtroLigacaoEsgotoEsgotamento, LigacaoEsgotoEsgotamento.class.getName()); if (Util.isVazioOrNulo(retorno)) { throw new ActionServletException("atencao.naocadastrado", null,"Esgotamento"); } } } else{ //Filtro Esgotamento filtroLigacaoEsgotoEsgotamento = new FiltroLigacaoEsgotoEsgotamento(FiltroLigacaoEsgotoEsgotamento.DESCRICAO); filtroLigacaoEsgotoEsgotamento.adicionarParametro( new ParametroSimples(FiltroLigacaoEsgotoEsgotamento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); retorno = fachada.pesquisar(filtroLigacaoEsgotoEsgotamento, LigacaoEsgotoEsgotamento.class.getName()); if (Util.isVazioOrNulo(retorno)) { throw new ActionServletException("atencao.naocadastrado", null,"Esgotamento"); } } return retorno; } }