package gcom.gui.atendimentopublico.registroatendimento; import gcom.arrecadacao.pagamento.FiltroPagamento; import gcom.arrecadacao.pagamento.Pagamento; import gcom.arrecadacao.pagamento.PagamentoSituacao; import gcom.atendimentopublico.registroatendimento.FiltroLocalOcorrencia; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoConta; import gcom.atendimentopublico.registroatendimento.FiltroRegistroAtendimentoPagamentoDuplicidade; import gcom.atendimentopublico.registroatendimento.FiltroSolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.LocalOcorrencia; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoConta; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoPagamentoDuplicidade; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoPagamentoDuplicidadePK; import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.bean.ObterDadosIdentificacaoLocalOcorrenciaHelper; import gcom.cadastro.geografico.Bairro; import gcom.cadastro.geografico.BairroArea; import gcom.cadastro.geografico.FiltroBairro; import gcom.cadastro.geografico.FiltroBairroArea; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.imovel.FiltroPavimentoCalcada; import gcom.cadastro.imovel.FiltroPavimentoRua; import gcom.cadastro.imovel.PavimentoCalcada; import gcom.cadastro.imovel.PavimentoRua; 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.cadastro.sistemaparametro.SistemaParametro; import gcom.faturamento.conta.Conta; import gcom.faturamento.conta.FiltroConta; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.integracao.GisHelper; import gcom.operacional.DivisaoEsgoto; import gcom.operacional.FiltroDivisaoEsgoto; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroNaoNulo; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; 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; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os * par�metros para realiza��o da Atualiza��o de um R.A (Aba n� 02 - Dados do * local de ocorr�ncia) * * @author S�vio Luiz * @date 10/08/2006 */ public class ExibirAtualizarRegistroAtendimentoDadosLocalOcorrenciaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("atualizarRegistroAtendimentoDadosLocalOcorrencia"); HttpSession sessao = httpServletRequest.getSession(false); Usuario usuarioLogado = (Usuario)sessao.getAttribute(Usuario.USUARIO_LOGADO); AtualizarRegistroAtendimentoActionForm atualizarRegistroAtendimentoActionForm = (AtualizarRegistroAtendimentoActionForm) actionForm; /* * GIS * ============================================================================================================== */ sessao.setAttribute("gis",true); GisHelper gisHelper = (GisHelper) sessao.getAttribute("gisHelper"); if(gisHelper!= null){ carregarDadosGis(gisHelper,atualizarRegistroAtendimentoActionForm,sessao); } /* * Carregamento inicial da tela respons�vel pelo recebimento das * informa��es referentes ao local da ocorr�ncia (ABA N� 02) * ============================================================================================================ */ List<RegistroAtendimentoConta> colecaoRAContasAtualizar = new ArrayList(); List<RegistroAtendimentoConta> colecaoRAContasRemover = new ArrayList(); if (sessao.getAttribute("colecaoRAContasAtualizar") != null && !sessao.getAttribute("colecaoRAContasAtualizar").equals("") && (httpServletRequest.getParameter("destino") == null || !httpServletRequest.getParameter("destino").equals("2"))){ colecaoRAContasAtualizar = (List<RegistroAtendimentoConta>) sessao.getAttribute("colecaoRAContasAtualizar"); } else { // Dados das Contas relacionados // Mariana Victor em 28/01/2011 FiltroRegistroAtendimentoConta filtroRegistroAtendimentoConta = new FiltroRegistroAtendimentoConta(); filtroRegistroAtendimentoConta.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoConta.REGISTRO_ATENDIMENTO_ID, atualizarRegistroAtendimentoActionForm.getNumeroRA())); filtroRegistroAtendimentoConta.adicionarCaminhoParaCarregamentoEntidade( FiltroRegistroAtendimentoConta.CONTA); filtroRegistroAtendimentoConta.adicionarCaminhoParaCarregamentoEntidade( FiltroRegistroAtendimentoConta.REGISTRO_ATENDIMENTO); colecaoRAContasAtualizar = (List<RegistroAtendimentoConta>) this.getFachada().pesquisar( filtroRegistroAtendimentoConta, RegistroAtendimentoConta.class.getName()); if (colecaoRAContasAtualizar != null && !colecaoRAContasAtualizar.isEmpty()) { sessao.setAttribute("colecaoRAContasAtualizar", colecaoRAContasAtualizar); } else { sessao.removeAttribute("colecaoRAContasAtualizar"); } } if (sessao.getAttribute("colecaoRAContasRemover") != null && !sessao.getAttribute("colecaoRAContasRemover").equals("")){ colecaoRAContasRemover = (List<RegistroAtendimentoConta>) sessao.getAttribute("colecaoRAContasRemover"); } /* * Adicionar endere�o */ String adicionarEndereco = httpServletRequest.getParameter("tipoPesquisaEndereco"); if (adicionarEndereco != null && !adicionarEndereco.trim().equalsIgnoreCase("")) { retorno = actionMapping.findForward("informarEndereco"); } else { /* * Divis�o de Esgoto - Carregando a cole��o que ir� ficar dispon�vel * para escolha do usu�rio * * [FS0003] - Verificar exist�ncia de dados */ Collection colecaoDivisaoEsgoto = (Collection) sessao.getAttribute("colecaoDivisaoEsgoto"); if (colecaoDivisaoEsgoto == null) { FiltroDivisaoEsgoto filtroDivisaoEsgoto = new FiltroDivisaoEsgoto(FiltroDivisaoEsgoto.DESCRICAO); filtroDivisaoEsgoto.adicionarParametro( new ParametroSimples( FiltroDivisaoEsgoto.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroDivisaoEsgoto.setConsultaSemLimites(true); colecaoDivisaoEsgoto = this.getFachada().pesquisar( filtroDivisaoEsgoto, DivisaoEsgoto.class.getName()); if (colecaoDivisaoEsgoto == null || colecaoDivisaoEsgoto.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "DIVISAO_ESGOTO"); } else { sessao.setAttribute("colecaoDivisaoEsgoto",colecaoDivisaoEsgoto); } } /* * Local de Ocorr�ncia - Carregando a cole��o que ir� ficar * dispon�vel para escolha do usu�rio * * [FS0003] - Verificar exist�ncia de dados */ Collection colecaoLocalOcorrencia = (Collection) sessao.getAttribute("colecaoLocalOcorrencia"); if (colecaoLocalOcorrencia == null) { FiltroLocalOcorrencia filtroLocalOcorrencia = new FiltroLocalOcorrencia( FiltroLocalOcorrencia.DESCRICAO); filtroLocalOcorrencia.adicionarParametro( new ParametroSimples( FiltroLocalOcorrencia.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLocalOcorrencia.setConsultaSemLimites(true); colecaoLocalOcorrencia = this.getFachada().pesquisar( filtroLocalOcorrencia, LocalOcorrencia.class.getName()); if (colecaoLocalOcorrencia == null || colecaoLocalOcorrencia.isEmpty()) { throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null, "LOCAL_OCORRENCIA"); } else { sessao.setAttribute("colecaoLocalOcorrencia",colecaoLocalOcorrencia); } } /* * Pavimento Rua - Carregando a cole��o que ir� ficar dispon�vel * para escolha do usu�rio * * [FS0003] - Verificar exist�ncia de dados */ Collection colecaoPavimentoRua = (Collection) sessao.getAttribute("colecaoPavimentoRua"); if (colecaoPavimentoRua == null) { FiltroPavimentoRua filtroPavimentoRua = new FiltroPavimentoRua(FiltroPavimentoRua.DESCRICAO); filtroPavimentoRua.adicionarParametro( new ParametroSimples(FiltroPavimentoRua.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPavimentoRua.setConsultaSemLimites(true); colecaoPavimentoRua = this.getFachada().pesquisar(filtroPavimentoRua, PavimentoRua.class.getName()); if (colecaoPavimentoRua == null || colecaoPavimentoRua.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "PAVIMENTO_RUA"); } else { sessao.setAttribute("colecaoPavimentoRua",colecaoPavimentoRua); } } /* * Pavimento Cal�ada - Carregando a cole��o que ir� ficar dispon�vel * para escolha do usu�rio * * [FS0003] - Verificar exist�ncia de dados */ Collection colecaoPavimentoCalcada = (Collection) sessao.getAttribute("colecaoPavimentoCalcada"); if (colecaoPavimentoCalcada == null) { FiltroPavimentoCalcada filtroPavimentoCalcada = new FiltroPavimentoCalcada( FiltroPavimentoCalcada.DESCRICAO); filtroPavimentoCalcada.adicionarParametro( new ParametroSimples( FiltroPavimentoCalcada.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPavimentoCalcada.setConsultaSemLimites(true); colecaoPavimentoCalcada = this.getFachada().pesquisar( filtroPavimentoCalcada, PavimentoCalcada.class.getName()); if (colecaoPavimentoCalcada == null || colecaoPavimentoCalcada.isEmpty()) { throw new ActionServletException( "atencao.entidade_sem_dados_para_selecao", null, "PAVIMENTO_CALCADA"); } else { sessao.setAttribute("colecaoPavimentoCalcada",colecaoPavimentoCalcada); } } // [SB0002] - Habilita/Desabilita Munic�pio, Bairro, �rea do Bairro // e // Divis�o de Esgoto ObterDadosIdentificacaoLocalOcorrenciaHelper habilitaGeograficoDivisaoEsgoto = this.getFachada().habilitarGeograficoDivisaoEsgoto( new Integer(atualizarRegistroAtendimentoActionForm.getTipoSolicitacao())); if (habilitaGeograficoDivisaoEsgoto != null) { if (habilitaGeograficoDivisaoEsgoto.isSolicitacaoTipoRelativoFaltaAgua()) { sessao.setAttribute("solicitacaoTipoRelativoFaltaAgua","SIM"); //Verificar carregamento do Munic�pio e Bairro de acordo com o tipo de solicita��o if (atualizarRegistroAtendimentoActionForm.getIdImovel() != null && !atualizarRegistroAtendimentoActionForm.getIdImovel().equalsIgnoreCase("")){ ObterDadosIdentificacaoLocalOcorrenciaHelper dadosIdentificacaoLocalOcorrencia = this.getFachada().obterDadosIdentificacaoLocalOcorrencia( new Integer(atualizarRegistroAtendimentoActionForm.getIdImovel()), new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao()), new Integer(atualizarRegistroAtendimentoActionForm.getTipoSolicitacao()), false); this.carregarMunicipioBairroParaImovel( habilitaGeograficoDivisaoEsgoto, dadosIdentificacaoLocalOcorrencia, atualizarRegistroAtendimentoActionForm, sessao); } } else { sessao.setAttribute("solicitacaoTipoRelativoFaltaAgua","NAO"); } if (habilitaGeograficoDivisaoEsgoto.isSolicitacaoTipoRelativoAreaEsgoto()) { sessao.setAttribute("solicitacaoTipoRelativoAreaEsgoto","SIM"); } else { if (atualizarRegistroAtendimentoActionForm.getIdImovel() == null || atualizarRegistroAtendimentoActionForm.getIdImovel().equals("")) { sessao.setAttribute("solicitacaoTipoRelativoAreaEsgoto", "NAO"); } else { sessao.setAttribute("solicitacaoTipoRelativoAreaEsgoto", "SIM"); } } } else { sessao.setAttribute("solicitacaoTipoRelativoFaltaAgua", "SIM"); sessao.setAttribute("solicitacaoTipoRelativoAreaEsgoto", "SIM"); } // [SB0030] � Habilita/Desabilita Conta short indicadorInformarPagamentoDuplicidade = ConstantesSistema.NAO; if (atualizarRegistroAtendimentoActionForm.getTipoSolicitacao() != null && !atualizarRegistroAtendimentoActionForm.getTipoSolicitacao().equals("") && !atualizarRegistroAtendimentoActionForm.getEspecificacao().equalsIgnoreCase(String.valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { FiltroSolicitacaoTipoEspecificacao filtroSolicitacaoTipoEspecificacao = new FiltroSolicitacaoTipoEspecificacao(); filtroSolicitacaoTipoEspecificacao.adicionarParametro( new ParametroSimples(FiltroSolicitacaoTipoEspecificacao.ID, new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao()))); // filtroSolicitacaoTipoEspecificacao.adicionarParametro(new ParametroSimples( // FiltroSolicitacaoTipoEspecificacao.INDICADOR_INFORMAR_CONTA_RA, // ConstantesSistema.SIM)); Collection colecao = this.getFachada().pesquisar( filtroSolicitacaoTipoEspecificacao, SolicitacaoTipoEspecificacao.class.getName()); if (colecao != null && !colecao.isEmpty()) { SolicitacaoTipoEspecificacao especificacao = (SolicitacaoTipoEspecificacao) Util.retonarObjetoDeColecao(colecao); indicadorInformarPagamentoDuplicidade = especificacao.getIndicadorInformarPagamentoDuplicidade(); short indicadorInformarRaConta = especificacao.getIndicadorInformarContaRA(); if(indicadorInformarPagamentoDuplicidade == ConstantesSistema.NAO.shortValue() && indicadorInformarRaConta == ConstantesSistema.SIM.shortValue()){ sessao.setAttribute("conta", "habilita"); }else{ sessao.removeAttribute("conta"); } } else { sessao.removeAttribute("conta"); } } /* * Fim do carregamento inicial * ============================================================================================================ * ============================================================================================================ */ /* * [FS0013] - Verificar compatibilidade entre divis�o de esgoto e * localidade/setor/quadra [SB0007] - Define Unidade Destino da * Divis�o de Esgoto */ String verificarCompatibilidade = httpServletRequest.getParameter("verificarCompatibilidade"); if (verificarCompatibilidade != null && !verificarCompatibilidade.equalsIgnoreCase("")) { this.verificarCompatibilidadeDefinirUnidadeDestinoDivisaoEsgoto(atualizarRegistroAtendimentoActionForm); httpServletRequest.setAttribute("nomeCampo", "idUnidadeDestino"); } /* * Removendo ColecaoBairroArea */ String removerColecaoBairroArea = httpServletRequest.getParameter("removerColecaoBairroArea"); if (removerColecaoBairroArea != null && !removerColecaoBairroArea.equalsIgnoreCase("")) { sessao.removeAttribute("colecaoBairroArea"); httpServletRequest.setAttribute("nomeCampo", httpServletRequest.getParameter("campoFoco")); } /* * Removendo endere�o */ String removerEndereco = httpServletRequest.getParameter("removerEndereco"); if (removerEndereco != null && !removerEndereco.trim().equalsIgnoreCase("")) { if (sessao.getAttribute("colecaoEnderecos") != null) { Collection enderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); if (!enderecos.isEmpty()) { enderecos.remove(enderecos.iterator().next()); } } } //Removendo Munic�pio Associado ao local de ocorr�ncia String removerMunicipioOcorrencia = httpServletRequest.getParameter("limparMunicipioOcorrencia"); if (removerMunicipioOcorrencia != null && !removerMunicipioOcorrencia.trim().equalsIgnoreCase("")) { sessao.removeAttribute("desabilitaMunicipioLocalidade"); } /* * Pesquisas realizadas a partir do ENTER * =========================================================================================================== */ /* * Dados da identifica��o do local de ocorr�ncia * * [FS0019] - Verificar endere�o do im�vel * */ // caso esses parametros forem nulos ent�o verifica os enter if (removerColecaoBairroArea == null && verificarCompatibilidade == null && removerEndereco == null) { String idImovel = atualizarRegistroAtendimentoActionForm.getIdImovel(); int indValidacaoMatriculaImovel = 0; if (atualizarRegistroAtendimentoActionForm.getIndValidacaoMatriculaImovel() == null || atualizarRegistroAtendimentoActionForm.getIndValidacaoMatriculaImovel().equals("")) { // [SB0024] - Verifica registro de Atendimento Sem // Identifica��o // do // Local da Ocorr�ncia if (idImovel != null && !idImovel.equals("")) { indValidacaoMatriculaImovel = this.getFachada().verificarRASemIdentificacaoLO( new Integer(idImovel), new Integer(atualizarRegistroAtendimentoActionForm.getNumeroRA())); atualizarRegistroAtendimentoActionForm.setIndValidacaoMatriculaImovel(""+indValidacaoMatriculaImovel); if (indValidacaoMatriculaImovel != 1) { ObterDadosIdentificacaoLocalOcorrenciaHelper dadosIdentificacaoLocalOcorrencia = this.getFachada().obterDadosIdentificacaoLocalOcorrenciaAtualizar( new Integer(atualizarRegistroAtendimentoActionForm.getIdImovel()), new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao()), new Integer(atualizarRegistroAtendimentoActionForm.getTipoSolicitacao()), new Integer(atualizarRegistroAtendimentoActionForm.getNumeroRA()), false); if (dadosIdentificacaoLocalOcorrencia.isHabilitarAlteracaoEndereco()) { sessao.setAttribute("habilitarAlteracaoEndereco", "SIM"); } else { sessao.setAttribute("habilitarAlteracaoEndereco", "NAO"); } if (dadosIdentificacaoLocalOcorrencia.getEnderecoDescritivo() != null && !dadosIdentificacaoLocalOcorrencia.getEnderecoDescritivo().equals("")) { sessao.setAttribute("desabilitarMunicipioBairro", "OK"); } } } } else { indValidacaoMatriculaImovel = Integer.parseInt(atualizarRegistroAtendimentoActionForm.getIndValidacaoMatriculaImovel()); } // caso seja a pesquisa do enter do im�vel ou o indicador de // valida��o de matr�cula do im�vel seja 1 if ((idImovel != null && !idImovel.equalsIgnoreCase("") ) || indValidacaoMatriculaImovel == 1) { /* * [SB0004] - Obt�m e Habilita/Desabilita Dados da * Identifica��o do Local da Ocorr�ncia e Dados do * Solicitante * * [FS0019] - Verificar endere�o do im�vel [FS0020] - * Verificar exist�ncia de registro de atendimento para o * im�vel com a mesma especifica��o * * [SB0020] - Verifica Situa��o do Im�vel e Especifica��o * * [SB0032] - Verifica se o im�vel informado tem d�bito * */ ObterDadosIdentificacaoLocalOcorrenciaHelper dadosIdentificacaoLocalOcorrencia = this.getFachada().obterDadosIdentificacaoLocalOcorrenciaAtualizar( new Integer(atualizarRegistroAtendimentoActionForm.getIdImovel()), new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao()), new Integer(atualizarRegistroAtendimentoActionForm.getTipoSolicitacao()), new Integer(atualizarRegistroAtendimentoActionForm.getNumeroRA()), false); if (dadosIdentificacaoLocalOcorrencia.getImovel() != null) { boolean msgAlert = false; // [SB0021] - Verifica Exist�ncia de Registro de // Atendimento // Pendente para o Im�vel boolean raPendente = this.getFachada().verificaExistenciaRAPendenteImovel(dadosIdentificacaoLocalOcorrencia.getImovel().getId()); if (raPendente) { httpServletRequest.setAttribute( "msgAlert", "Aten��o! " + "Existe Registro de Atendimento pendente para o im�vel " + dadosIdentificacaoLocalOcorrencia.getImovel().getId().toString()); msgAlert = true; } // [SB0020] - Verifica Situa��o do Im�vel e // Especifica��o this.getFachada().verificarSituacaoImovelEspecificacao( dadosIdentificacaoLocalOcorrencia.getImovel(), new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao())); //[SB0032] - Verifica se o im�vel informado tem d�bito this.getFachada().verificarImovelComDebitos( new Integer(atualizarRegistroAtendimentoActionForm.getEspecificacao()), dadosIdentificacaoLocalOcorrencia.getImovel().getId()); atualizarRegistroAtendimentoActionForm.setIdImovel( dadosIdentificacaoLocalOcorrencia.getImovel().getId().toString()); atualizarRegistroAtendimentoActionForm.setInscricaoImovel( dadosIdentificacaoLocalOcorrencia.getImovel().getInscricaoFormatada()); if (!dadosIdentificacaoLocalOcorrencia.isInformarEndereco()) { Collection colecaoEnderecos = new ArrayList(); colecaoEnderecos.add(dadosIdentificacaoLocalOcorrencia.getImovel()); sessao.setAttribute("colecaoEnderecos",colecaoEnderecos); sessao.setAttribute("enderecoPertenceImovel", "OK"); } else if (dadosIdentificacaoLocalOcorrencia.getEnderecoDescritivo() != null) { atualizarRegistroAtendimentoActionForm.setDescricaoLocalOcorrencia( dadosIdentificacaoLocalOcorrencia.getEnderecoDescritivo()); if (msgAlert) { httpServletRequest.setAttribute( "msgAlert2", "O Registro de Atendimento ficar� bloqueado at� que seja informado o logradouro para o im�vel"); } else { httpServletRequest.setAttribute( "msgAlert", "O Registro de Atendimento ficar� bloqueado at� que seja informado o logradouro para o im�vel"); } sessao.removeAttribute("colecaoEnderecos"); sessao.removeAttribute("enderecoPertenceImovel"); } else { sessao.removeAttribute("colecaoEnderecos"); sessao.removeAttribute("enderecoPertenceImovel"); } if (dadosIdentificacaoLocalOcorrencia.isHabilitarAlteracaoEndereco()) { sessao.setAttribute("habilitarAlteracaoEndereco","SIM"); } else { sessao.setAttribute("habilitarAlteracaoEndereco","NAO"); } this.carregarMunicipioBairroParaImovel( habilitaGeograficoDivisaoEsgoto, dadosIdentificacaoLocalOcorrencia, atualizarRegistroAtendimentoActionForm, sessao); Municipio municipio = dadosIdentificacaoLocalOcorrencia.getImovel().getLocalidade().getMunicipio(); if(municipio != null){ atualizarRegistroAtendimentoActionForm.setDescricaoMunicipioOcorrencia(municipio.getNome()); httpServletRequest.setAttribute("desabilitaMunicipioLocalidade", "OK"); } atualizarRegistroAtendimentoActionForm.setIdLocalidade( dadosIdentificacaoLocalOcorrencia.getImovel().getLocalidade().getId().toString()); atualizarRegistroAtendimentoActionForm.setDescricaoLocalidade( dadosIdentificacaoLocalOcorrencia.getImovel().getLocalidade().getDescricao()); atualizarRegistroAtendimentoActionForm.setIdSetorComercial( dadosIdentificacaoLocalOcorrencia.getImovel().getSetorComercial().getId().toString()); atualizarRegistroAtendimentoActionForm.setCdSetorComercial( String.valueOf(dadosIdentificacaoLocalOcorrencia.getImovel().getSetorComercial().getCodigo())); atualizarRegistroAtendimentoActionForm.setDescricaoSetorComercial( dadosIdentificacaoLocalOcorrencia.getImovel().getSetorComercial().getDescricao()); atualizarRegistroAtendimentoActionForm.setIdQuadra( String.valueOf(dadosIdentificacaoLocalOcorrencia.getImovel().getQuadra().getId())); atualizarRegistroAtendimentoActionForm.setNnQuadra( String.valueOf(dadosIdentificacaoLocalOcorrencia.getImovel().getQuadra().getNumeroQuadra())); sessao.setAttribute("desabilitarDescricaoLocalOcorrencia", "OK"); } else { atualizarRegistroAtendimentoActionForm.setIdImovel(""); atualizarRegistroAtendimentoActionForm.setInscricaoImovel("Im�vel Inexistente"); httpServletRequest.setAttribute("corImovel","exception"); httpServletRequest.setAttribute("nomeCampo", "idImovel"); } } String idMunicipio = atualizarRegistroAtendimentoActionForm.getIdMunicipio(); String descricaoMunicipio = atualizarRegistroAtendimentoActionForm.getDescricaoMunicipio(); if (idMunicipio != null && !idMunicipio.equalsIgnoreCase("") && (descricaoMunicipio == null || descricaoMunicipio.equals(""))) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro( new ParametroSimples( FiltroMunicipio.ID, atualizarRegistroAtendimentoActionForm.getIdMunicipio())); filtroMunicipio.adicionarParametro( new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoMunicipio = this.getFachada().pesquisar( filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio == null || colecaoMunicipio.isEmpty()) { atualizarRegistroAtendimentoActionForm.setIdMunicipio(""); atualizarRegistroAtendimentoActionForm.setDescricaoMunicipio("Munic�pio Inexistente"); httpServletRequest.setAttribute("corMunicipio","exception"); httpServletRequest.setAttribute("nomeCampo","idMunicipio"); } else { Municipio municipio = (Municipio) Util.retonarObjetoDeColecao(colecaoMunicipio); atualizarRegistroAtendimentoActionForm.setIdMunicipio(municipio.getId().toString()); atualizarRegistroAtendimentoActionForm.setDescricaoMunicipio(municipio.getNome()); httpServletRequest.setAttribute("nomeCampo", "cdBairro"); } } String codigoBairro = atualizarRegistroAtendimentoActionForm.getCdBairro(); String descricaoBairro = atualizarRegistroAtendimentoActionForm.getDescricaoBairro(); if (codigoBairro != null && !codigoBairro.equalsIgnoreCase("")) { if ((descricaoBairro == null || descricaoBairro.equals(""))) { FiltroBairro filtroBairro = new FiltroBairro(); filtroBairro.adicionarParametro( new ParametroSimples( FiltroBairro.CODIGO, atualizarRegistroAtendimentoActionForm.getCdBairro())); filtroBairro.adicionarParametro( new ParametroSimples( FiltroBairro.MUNICIPIO_ID, atualizarRegistroAtendimentoActionForm.getIdMunicipio())); filtroBairro.adicionarParametro( new ParametroSimples( FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoBairro = this.getFachada().pesquisar(filtroBairro, Bairro.class.getName()); if (colecaoBairro == null || colecaoBairro.isEmpty()) { atualizarRegistroAtendimentoActionForm.setCdBairro(""); atualizarRegistroAtendimentoActionForm.setDescricaoBairro("Bairro Inexistente"); httpServletRequest.setAttribute("corBairro","exception"); httpServletRequest.setAttribute("nomeCampo","cdBairro"); } else { Bairro bairro = (Bairro) Util.retonarObjetoDeColecao(colecaoBairro); atualizarRegistroAtendimentoActionForm.setCdBairro(String.valueOf(bairro.getCodigo())); atualizarRegistroAtendimentoActionForm.setCdBairro(String.valueOf(bairro.getId())); atualizarRegistroAtendimentoActionForm.setDescricaoBairro(bairro.getNome()); this.pesquisarBairroArea( new Integer(atualizarRegistroAtendimentoActionForm.getIdBairro()), sessao); } } } String pesquisarBairroArea = httpServletRequest.getParameter("pesquisarBairroArea"); if (pesquisarBairroArea != null && !pesquisarBairroArea.equalsIgnoreCase("") || (atualizarRegistroAtendimentoActionForm.getIdBairro() != null && !atualizarRegistroAtendimentoActionForm.getIdBairro().equals(""))) { this.pesquisarBairroArea( new Integer(atualizarRegistroAtendimentoActionForm.getIdBairro()), sessao); httpServletRequest.setAttribute("nomeCampo", "idBairroArea"); } String idLocalidade = atualizarRegistroAtendimentoActionForm.getIdLocalidade(); String descricaoLocalidade = atualizarRegistroAtendimentoActionForm.getDescricaoBairro(); if (idLocalidade != null && !idLocalidade.equalsIgnoreCase("") && (descricaoLocalidade == null || descricaoLocalidade.equals(""))) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro( new ParametroSimples( FiltroLocalidade.ID, atualizarRegistroAtendimentoActionForm.getIdLocalidade())); filtroLocalidade.adicionarParametro( new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoLocalidade = this.getFachada().pesquisar( filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade == null || colecaoLocalidade.isEmpty()) { atualizarRegistroAtendimentoActionForm.setIdLocalidade(""); atualizarRegistroAtendimentoActionForm.setDescricaoLocalidade("Localidade Inexistente"); httpServletRequest.setAttribute("corLocalidade","exception"); httpServletRequest.setAttribute("nomeCampo","idLocalidade"); } else { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade); atualizarRegistroAtendimentoActionForm.setIdLocalidade(localidade.getId().toString()); atualizarRegistroAtendimentoActionForm.setDescricaoLocalidade(localidade.getDescricao()); httpServletRequest.setAttribute("nomeCampo","cdSetorComercial"); } } String cdSetorComercial = atualizarRegistroAtendimentoActionForm.getCdSetorComercial(); String descricaoSetorComercial = atualizarRegistroAtendimentoActionForm.getDescricaoSetorComercial(); if (cdSetorComercial != null && !cdSetorComercial.equalsIgnoreCase("") && (descricaoSetorComercial == null || descricaoSetorComercial.equals(""))) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, atualizarRegistroAtendimentoActionForm.getIdLocalidade())); filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, atualizarRegistroAtendimentoActionForm.getCdSetorComercial())); filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoSetorComercial = this.getFachada().pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoSetorComercial == null || colecaoSetorComercial.isEmpty()) { atualizarRegistroAtendimentoActionForm.setIdSetorComercial(""); atualizarRegistroAtendimentoActionForm.setCdSetorComercial(""); atualizarRegistroAtendimentoActionForm.setDescricaoSetorComercial("Setor Comercial Inexistente"); httpServletRequest.setAttribute("corSetorComercial","exception"); httpServletRequest.setAttribute("nomeCampo","cdSetorComercial"); } else { SetorComercial setorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoSetorComercial); atualizarRegistroAtendimentoActionForm.setIdSetorComercial(setorComercial.getId().toString()); atualizarRegistroAtendimentoActionForm.setCdSetorComercial(String.valueOf(setorComercial.getCodigo())); atualizarRegistroAtendimentoActionForm.setDescricaoSetorComercial(setorComercial.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "nnQuadra"); } } String nnQuadra = atualizarRegistroAtendimentoActionForm.getNnQuadra(); String pesquisarQuadra = httpServletRequest.getParameter("pesquisarQuadra"); if (nnQuadra != null && !nnQuadra.equalsIgnoreCase("") && (pesquisarQuadra != null && pesquisarQuadra.equals(""))) { FiltroQuadra filtroQuadra = new FiltroQuadra(); filtroQuadra.adicionarParametro( new ParametroSimples( FiltroQuadra.ID_SETORCOMERCIAL, atualizarRegistroAtendimentoActionForm.getIdSetorComercial())); filtroQuadra.adicionarParametro( new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, atualizarRegistroAtendimentoActionForm.getNnQuadra())); filtroQuadra.adicionarParametro( new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoQuadra = this.getFachada().pesquisar( filtroQuadra, Quadra.class.getName()); if (colecaoQuadra == null || colecaoQuadra.isEmpty()) { atualizarRegistroAtendimentoActionForm.setIdQuadra(""); atualizarRegistroAtendimentoActionForm.setNnQuadra(""); httpServletRequest.setAttribute("msgQuadra","QUADRA INEXISTENTE"); httpServletRequest.setAttribute("nomeCampo", "nnQuadra"); } else { Quadra quadra = (Quadra) Util.retonarObjetoDeColecao(colecaoQuadra); atualizarRegistroAtendimentoActionForm.setIdQuadra(quadra.getId().toString()); atualizarRegistroAtendimentoActionForm.setNnQuadra(String.valueOf(quadra.getNumeroQuadra())); // [SB0006] - Obt�m Divis�o de Esgoto DivisaoEsgoto divisaoEsgoto = this.getFachada().obterDivisaoEsgoto( quadra.getId(), habilitaGeograficoDivisaoEsgoto.isSolicitacaoTipoRelativoAreaEsgoto()); if (divisaoEsgoto != null) { atualizarRegistroAtendimentoActionForm.setIdDivisaoEsgoto(divisaoEsgoto.getId().toString()); /* * [FS0013] - Verificar compatibilidade entre * divis�o de esgoto e localidade/setor/quadra * [SB0007] - Define Unidade Destino da Divis�o de * Esgoto */ this.verificarCompatibilidadeDefinirUnidadeDestinoDivisaoEsgoto(atualizarRegistroAtendimentoActionForm); } else { httpServletRequest.setAttribute("nomeCampo","idDivisaoEsgoto"); } } } } // Pesquisar Conta // Mariana Victor - 31/01/2011 String pesquisarConta = httpServletRequest.getParameter("pesquisarConta"); if (pesquisarConta != null && !pesquisarConta.equalsIgnoreCase("")) { RegistroAtendimentoConta registroAtendimentoConta = this.pesquisarConta(atualizarRegistroAtendimentoActionForm, sessao, usuarioLogado); if (registroAtendimentoConta != null && registroAtendimentoConta.getConta() != null) { atualizarRegistroAtendimentoActionForm.setIdConta(registroAtendimentoConta.getConta().getFormatarAnoMesParaMesAno() + ""); atualizarRegistroAtendimentoActionForm.setDescConta(registroAtendimentoConta.getConta().getFormatarAnoMesParaMesAno()); httpServletRequest.setAttribute("contaEncontrada", ""); } } //Pesquisar Localidade String pesquisarLocalidade = httpServletRequest.getParameter("pesquisarLocalidade"); if (pesquisarLocalidade != null && !pesquisarLocalidade.equalsIgnoreCase("")) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, atualizarRegistroAtendimentoActionForm.getIdLocalidade())); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLocalidade.adicionarCaminhoParaCarregamentoEntidade("municipio"); Collection colecaoLocalidade = this.getFachada().pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoLocalidade == null || colecaoLocalidade.isEmpty()) { atualizarRegistroAtendimentoActionForm.setIdLocalidade(""); atualizarRegistroAtendimentoActionForm.setDescricaoLocalidade("Localidade Inexistente"); httpServletRequest.setAttribute("corLocalidade", "exception"); httpServletRequest.setAttribute("nomeCampo", "idLocalidade"); } else { Localidade localidade = (Localidade) Util.retonarObjetoDeColecao(colecaoLocalidade); atualizarRegistroAtendimentoActionForm.setIdLocalidade(localidade.getId().toString()); atualizarRegistroAtendimentoActionForm.setDescricaoLocalidade(localidade.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "cdSetorComercial"); Municipio municipio = localidade.getMunicipio(); if(municipio != null){ atualizarRegistroAtendimentoActionForm.setDescricaoMunicipioOcorrencia(municipio.getNome()); httpServletRequest.setAttribute("desabilitaMunicipioLocalidade", "OK"); } httpServletRequest.setAttribute("desabilitarDescricaoLocalOcorrencia", "OK"); } } /* * Fim das pesquisas realizadas pelo ENTER * =========================================================================================================== * =========================================================================================================== */ /* * =========================================================================================================== * Adicionar Conta * Mariana Victor - 31/01/2011 * =========================================================================================================== */ String adicionarConta = httpServletRequest.getParameter("adicionarConta"); if (adicionarConta != null && !adicionarConta.equalsIgnoreCase("") && atualizarRegistroAtendimentoActionForm.getIdConta() != null && !atualizarRegistroAtendimentoActionForm.getIdConta().equals("")) { RegistroAtendimentoConta registroAtendimentoConta = this.pesquisarConta(atualizarRegistroAtendimentoActionForm, sessao, usuarioLogado); if (registroAtendimentoConta != null) { atualizarRegistroAtendimentoActionForm.setIdConta(""); atualizarRegistroAtendimentoActionForm.setDescConta(""); if (!this.adicionado(colecaoRAContasAtualizar, registroAtendimentoConta)) { colecaoRAContasAtualizar.add(registroAtendimentoConta); sessao.setAttribute("colecaoRAContasAtualizar", colecaoRAContasAtualizar); } } } /* * =========================================================================================================== * Remover Conta * Mariana Victor - 31/01/2011 * =========================================================================================================== */ String removerConta = httpServletRequest.getParameter("removerConta"); if (removerConta != null && !removerConta.equalsIgnoreCase("")) { Integer indice = new Integer(httpServletRequest.getParameter("removerConta")); if (colecaoRAContasAtualizar != null && !colecaoRAContasAtualizar.isEmpty() && colecaoRAContasAtualizar.size() >= indice) { if (colecaoRAContasAtualizar.get(indice-1).getUltimaAlteracao() != null){ colecaoRAContasRemover.add(colecaoRAContasAtualizar.get(indice-1)); sessao.setAttribute("colecaoRAContasRemover",colecaoRAContasRemover); } colecaoRAContasAtualizar.remove(indice-1); sessao.setAttribute("colecaoRAContasAtualizar", colecaoRAContasAtualizar); } } Integer idImovelPagamentoDuplicidade = (Integer) sessao.getAttribute("idImovelPagamentoDuplicidade"); Integer idImovelFormulario = null; if(atualizarRegistroAtendimentoActionForm.getIdImovel() != null && !atualizarRegistroAtendimentoActionForm.getIdImovel().equals("")){ idImovelFormulario = new Integer(atualizarRegistroAtendimentoActionForm.getIdImovel()); } if(idImovelFormulario != null && !idImovelFormulario.equals(idImovelPagamentoDuplicidade) || sessao.getAttribute("colecaoPagamentosDuplicidade") == null){ if(idImovelPagamentoDuplicidade != null && (idImovelFormulario != null && !idImovelFormulario.equals(idImovelPagamentoDuplicidade))){ boolean existePagamento = this.existePagamentoDuplicadoDevolvido(new Integer(atualizarRegistroAtendimentoActionForm.getNumeroRA())); if(!existePagamento){ Collection colecaoPagamento = this.pesquisaPagamentosEmDuplicidade(idImovelFormulario); if(colecaoPagamento != null && !colecaoPagamento.isEmpty()){ sessao.setAttribute("colecaoPagamentosDuplicidade",colecaoPagamento); sessao.setAttribute("idImovelPagamentoDuplicidade",idImovelFormulario); }else{ throw new ActionServletException("nao_exite_pagamento_duplicidade"); } }else{ throw new ActionServletException("existe_pagamento_duplicidade_ra"); } }else if (sessao.getAttribute("colecaoPagamentosDuplicidade") == null){ FiltroRegistroAtendimentoPagamentoDuplicidade filtroRegistroAtendimentoPagamentoDuplicidade = new FiltroRegistroAtendimentoPagamentoDuplicidade(); filtroRegistroAtendimentoPagamentoDuplicidade.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoPagamentoDuplicidade.REGISTRO_ATENDIMENTO, atualizarRegistroAtendimentoActionForm.getNumeroRA())); Collection colecaoRegistroAtendimentoPagamentoDuplicidade = (Collection) this.getFachada().pesquisar( filtroRegistroAtendimentoPagamentoDuplicidade, RegistroAtendimentoPagamentoDuplicidade.class.getName()); if(colecaoRegistroAtendimentoPagamentoDuplicidade != null && !colecaoRegistroAtendimentoPagamentoDuplicidade.isEmpty()){ sessao.setAttribute("idImovelPagamentoDuplicidade",idImovelFormulario); sessao.setAttribute("colecaoPagamentosDuplicidade",colecaoRegistroAtendimentoPagamentoDuplicidade); } } } String removerPagamento = httpServletRequest.getParameter("removerPagamento"); if (removerPagamento != null && !removerPagamento.equals("")) { Integer idPagamento = new Integer(httpServletRequest.getParameter("removerPagamento")); Collection colecaoPagamentosDuplicidade = (Collection) sessao.getAttribute("colecaoPagamentosDuplicidade"); Iterator itera = colecaoPagamentosDuplicidade.iterator(); while (itera.hasNext()) { RegistroAtendimentoPagamentoDuplicidade registroAtendimentoPagamentoDuplicidade = (RegistroAtendimentoPagamentoDuplicidade) itera.next(); if(registroAtendimentoPagamentoDuplicidade.getComp_id().getPagamentoId().intValue() == idPagamento.intValue()){ itera.remove(); break; } } } String atualizarPagamentosDuplicidade = httpServletRequest.getParameter("atualizarPagamentosDuplicidade"); if(atualizarPagamentosDuplicidade != null && !atualizarPagamentosDuplicidade.equals("")){ if(idImovelFormulario != null && !idImovelFormulario.equals("")){ Collection colecaoPagamentosDuplicidade = this.pesquisaPagamentosEmDuplicidade( new Integer(idImovelFormulario)); if(colecaoPagamentosDuplicidade != null && !colecaoPagamentosDuplicidade.isEmpty()){ sessao.setAttribute("colecaoPagamentosDuplicidade",colecaoPagamentosDuplicidade); }else{ throw new ActionServletException("nao_exite_pagamento_duplicidade"); } } } /* * Limpar Im�vel */ String limparImovel = httpServletRequest.getParameter("limparImovel"); if (limparImovel != null && !limparImovel.trim().equalsIgnoreCase("")) { this.limparImovel(atualizarRegistroAtendimentoActionForm,sessao, httpServletRequest); httpServletRequest.setAttribute("nomeCampo", "idImovel"); } } return retorno; } private boolean existePagamentoDuplicadoDevolvido(Integer idRa){ boolean existePagamento = false; FiltroRegistroAtendimentoPagamentoDuplicidade filtroRegistroAtendimentoPagamentoDuplicidade = new FiltroRegistroAtendimentoPagamentoDuplicidade(); filtroRegistroAtendimentoPagamentoDuplicidade.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoPagamentoDuplicidade.REGISTRO_ATENDIMENTO, idRa)); filtroRegistroAtendimentoPagamentoDuplicidade.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoPagamentoDuplicidade.INDICADOR_PAGAMENTO_DEVOLVIDO, ConstantesSistema.SIM)); Collection colecaoRegistroAtendimentoPagamentoDuplicidade = (Collection) this.getFachada().pesquisar( filtroRegistroAtendimentoPagamentoDuplicidade, RegistroAtendimentoPagamentoDuplicidade.class.getName()); if(colecaoRegistroAtendimentoPagamentoDuplicidade != null && !colecaoRegistroAtendimentoPagamentoDuplicidade.isEmpty()){ existePagamento = true; } return existePagamento; } /* * M�todos auxiliares * ============================================================================================================= */ public void verificarCompatibilidadeDefinirUnidadeDestinoDivisaoEsgoto( AtualizarRegistroAtendimentoActionForm atualizarRegistroAtendimentoActionForm) { this.getFachada().verificarCompatibilidadeDivisaoEsgotoLocalidadeSetorQuadra( Util.converterStringParaInteger(atualizarRegistroAtendimentoActionForm.getIdLocalidade()), Util.converterStringParaInteger(atualizarRegistroAtendimentoActionForm.getIdSetorComercial()), Util.converterStringParaInteger(atualizarRegistroAtendimentoActionForm.getIdQuadra()), Util.converterStringParaInteger(atualizarRegistroAtendimentoActionForm.getIdDivisaoEsgoto())); } public void pesquisarBairroArea(Integer idBairro, HttpSession sessao) { FiltroBairroArea filtroBairroArea = new FiltroBairroArea(); filtroBairroArea.adicionarParametro( new ParametroSimples( FiltroBairroArea.ID_BAIRRO, idBairro)); Collection colecaoBairroArea = this.getFachada().pesquisar( filtroBairroArea, BairroArea.class.getName()); if (colecaoBairroArea == null || colecaoBairroArea.isEmpty()) { throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null,"BAIRRO_AREA"); } else { sessao.setAttribute("colecaoBairroArea", colecaoBairroArea); } } public void carregarMunicipioBairroParaImovel( ObterDadosIdentificacaoLocalOcorrenciaHelper habilitaGeograficoDivisaoEsgoto, ObterDadosIdentificacaoLocalOcorrenciaHelper obterDadosIdentificacaoLocalOcorrenciaHelper, AtualizarRegistroAtendimentoActionForm atualizarRegistroAtendimentoActionForm, HttpSession sessao) { if (habilitaGeograficoDivisaoEsgoto != null && habilitaGeograficoDivisaoEsgoto.isSolicitacaoTipoRelativoFaltaAgua() && obterDadosIdentificacaoLocalOcorrenciaHelper.getEnderecoDescritivo() == null) { atualizarRegistroAtendimentoActionForm.setIdMunicipio( obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getMunicipio().getId().toString()); atualizarRegistroAtendimentoActionForm.setDescricaoMunicipio( obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getMunicipio().getNome()); atualizarRegistroAtendimentoActionForm.setIdBairro( obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getId().toString()); atualizarRegistroAtendimentoActionForm.setCdBairro( String.valueOf(obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getCodigo())); atualizarRegistroAtendimentoActionForm.setDescricaoBairro( obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getNome()); this.pesquisarBairroArea( obterDadosIdentificacaoLocalOcorrenciaHelper.getImovel().getLogradouroBairro().getBairro().getId(),sessao); sessao.setAttribute("desabilitarMunicipioBairro", "OK"); } else { atualizarRegistroAtendimentoActionForm.setIdMunicipio(""); atualizarRegistroAtendimentoActionForm.setDescricaoMunicipio(""); atualizarRegistroAtendimentoActionForm.setIdBairro(""); atualizarRegistroAtendimentoActionForm.setCdBairro(""); atualizarRegistroAtendimentoActionForm.setDescricaoBairro(""); sessao.removeAttribute("colecaoBairroArea"); sessao.removeAttribute("desabilitarMunicipioBairro"); } } private void limparImovel(AtualizarRegistroAtendimentoActionForm form, HttpSession sessao, HttpServletRequest httpServletRequest) { form.setIdImovel(""); form.setInscricaoImovel(""); form.setDescricaoLocalOcorrencia(""); form.setIdMunicipio(""); form.setDescricaoMunicipio(""); form.setIdBairro(""); form.setCdBairro(""); form.setDescricaoBairro(""); form.setIdLocalidade(""); form.setDescricaoLocalidade(""); form.setIdSetorComercial(""); form.setCdSetorComercial(""); form.setDescricaoSetorComercial(""); form.setIdQuadra(""); form.setNnQuadra(""); form.setIdPavimentoRua(""); form.setIdPavimentoCalcada(""); form.setPontoReferencia(""); form.setDescricaoMunicipioOcorrencia(""); sessao.removeAttribute("colecaoEnderecos"); sessao.removeAttribute("enderecoPertenceImovel"); sessao.removeAttribute("habilitarAlteracaoEndereco"); sessao.removeAttribute("colecaoBairroArea"); sessao.removeAttribute("colecaoPagamentosDuplicidade"); httpServletRequest.removeAttribute("desabilitaMunicipioLocalidade"); } //================================================================================================================= public void carregarDadosGis( GisHelper gisHelper, AtualizarRegistroAtendimentoActionForm atualizarRegistroAtendimentoActionForm, HttpSession sessao) { String nnCoordenadaNorte = gisHelper.getNnCoordenadaNorte(); String nnCoordenadaLeste = gisHelper.getNnCoordenadaLeste(); atualizarRegistroAtendimentoActionForm.setNnCoordenadaNorte(nnCoordenadaNorte); atualizarRegistroAtendimentoActionForm.setNnCoordenadaLeste(nnCoordenadaLeste); sessao.removeAttribute("gisHelper"); } private RegistroAtendimentoConta pesquisarConta(AtualizarRegistroAtendimentoActionForm form, HttpSession sessao, Usuario usuarioLogado) { Conta conta = null; RegistroAtendimentoConta registroAtendimentoConta = null; String anoMes = Util.formatarMesAnoParaAnoMesSemBarra(form.getIdConta()); FiltroConta filtroConta = new FiltroConta(); if (form.getIdContaPesquisada() != null && !form.getIdContaPesquisada().equals("")) { filtroConta.adicionarParametro( new ParametroSimples( FiltroConta.ID, form.getIdContaPesquisada())); } else { filtroConta.adicionarParametro( new ParametroSimples( FiltroConta.REFERENCIA, anoMes)); } filtroConta.adicionarParametro( new ParametroSimples( FiltroConta.IMOVEL_ID, form.getIdImovel())); filtroConta.adicionarCaminhoParaCarregamentoEntidade(FiltroConta.DEBITO_CREDITO_SITUACAO_ATUAL); Collection colecao = this.getFachada().pesquisar(filtroConta, Conta.class.getName()); // [FS0046] � Verificar exist�ncia da conta. if (colecao != null && !colecao.isEmpty()) { conta = this.retornaConta(colecao); // [FS0047] � Verificar se a conta pode ser associada. if (conta != null) { SistemaParametro sistemaParametro = this.getFachada().pesquisarParametrosDoSistema(); // Verifica se o usu�rio possua permiss�o especial boolean temPermissaoParaRetificarContaNorma = getFachada().verificarPermissaoEspecial(PermissaoEspecial.RETIFICAR_CONTA_NORMA_REVISAO_FATURAMENTO, usuarioLogado); // [FS0048] � Verificar prazo de vencimento das contas para associa��o if (temPermissaoParaRetificarContaNorma || Util.adcionarOuSubtrairMesesAData(conta.getDataVencimentoConta(), sistemaParametro.getNumeroMesesRetificarConta(), 0).compareTo(new Date()) != -1) { registroAtendimentoConta = new RegistroAtendimentoConta(); registroAtendimentoConta.setConta(conta); form.setIdConta(conta.getReferencia() + ""); form.setDescConta(conta.getFormatarAnoMesParaMesAno()); sessao.setAttribute("contaEncontrada", ""); return registroAtendimentoConta; } else { form.setIdConta(""); form.setDescConta("Conta com prazo para associa��o excedido!"); sessao.removeAttribute("contaEncontrada"); } } else { form.setIdConta(""); form.setDescConta("Conta n�o pode ser associada ao Registro de Atendimento!"); sessao.removeAttribute("contaEncontrada"); } } else { form.setIdConta(""); form.setDescConta("Conta n�o Localizada"); sessao.removeAttribute("contaEncontrada"); } return null; } /** * Caso a especificacao tenha o indicador de pagamento em duplicidade, * eh feita a pesquisa dos pagamentos em duplicidade * * @author Rafael Pinto * @date 15/03/2011 * * @param Integer idImovel * @return Collection colecao de pagamentos em duplicidade */ private Collection<RegistroAtendimentoPagamentoDuplicidade> pesquisaPagamentosEmDuplicidade(Integer idImovel){ FiltroPagamento filtro = new FiltroPagamento(FiltroPagamento.ANO_MES_REFERENCIA_PAGAMENTO); filtro.adicionarParametro( new ParametroSimples(FiltroPagamento.IMOVEL, idImovel)); filtro.adicionarParametro( new ParametroSimples(FiltroPagamento.PAGAMENTO_SITUACAO_ATUAL_ID, PagamentoSituacao.PAGAMENTO_EM_DUPLICIDADE)); filtro.adicionarParametro( new ParametroNaoNulo(FiltroPagamento.ANO_MES_REFERENCIA_PAGAMENTO)); filtro.adicionarParametro(new ParametroNulo(FiltroPagamento.GUIA_PAGAMENTO)); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroPagamento.IMOVEL); Collection colecaoPagamento = (Collection) this.getFachada().pesquisar(filtro,Pagamento.class.getName()); Collection<RegistroAtendimentoPagamentoDuplicidade> colecaoRegistroAtendimentoPagamentoDuplicidade = new ArrayList(); if(colecaoPagamento != null && !colecaoPagamento.isEmpty()){ Iterator itera = colecaoPagamento.iterator(); while (itera.hasNext()) { Pagamento paga = (Pagamento) itera.next(); RegistroAtendimentoPagamentoDuplicidade registro = new RegistroAtendimentoPagamentoDuplicidade(); RegistroAtendimentoPagamentoDuplicidadePK registroAtendimentoPagamentoDuplicidadePK = new RegistroAtendimentoPagamentoDuplicidadePK(); registroAtendimentoPagamentoDuplicidadePK.setPagamentoId(paga.getId()); registro.setComp_id(registroAtendimentoPagamentoDuplicidadePK); registro.setPagamento(paga); registro.setValorPagamento(paga.getValorPagamento()); registro.setDataPagamento(paga.getDataPagamento()); registro.setAnoMesReferenciaPagamento(paga.getAnoMesReferenciaPagamento()); colecaoRegistroAtendimentoPagamentoDuplicidade.add(registro); } } return colecaoRegistroAtendimentoPagamentoDuplicidade; } private boolean adicionado(Collection<RegistroAtendimentoConta> colecaoRegistroAtendimentoConta, RegistroAtendimentoConta registroAtendimentoConta) { Iterator iterator = colecaoRegistroAtendimentoConta.iterator(); while(iterator.hasNext()) { RegistroAtendimentoConta RAContaAdicionado = (RegistroAtendimentoConta) iterator.next(); if (RAContaAdicionado.getConta().getId().equals(registroAtendimentoConta.getConta().getId()) && (RAContaAdicionado.getRegistroAtendimento() == null || registroAtendimentoConta.getRegistroAtendimento() == null || RAContaAdicionado.getRegistroAtendimento().getId().equals(registroAtendimentoConta.getRegistroAtendimento().getId()))) { return true; } } return false; } private Conta retornaConta(Collection colecao) { Iterator iterator = colecao.iterator(); while(iterator.hasNext()) { Conta conta = (Conta) iterator.next(); if (conta.getDebitoCreditoSituacaoAtual() != null && (conta.getDebitoCreditoSituacaoAtual().getId().equals(ConstantesSistema.DEBITO_CREDITO_SITUACAO_NORMAL) || conta.getDebitoCreditoSituacaoAtual().getId().equals(ConstantesSistema.DEBITO_CREDITO_SITUACAO_RETIFICADA) || conta.getDebitoCreditoSituacaoAtual().getId().equals(ConstantesSistema.DEBITO_CREDITO_SITUACAO_INCLUIDA))) { return conta; } } return null; } }