package gcom.gui.cadastro.imovel; import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoEsgotamento; import gcom.cadastro.endereco.Cep; import gcom.cadastro.endereco.EnderecoReferencia; import gcom.cadastro.endereco.Logradouro; import gcom.cadastro.endereco.LogradouroCep; import gcom.cadastro.funcionario.Funcionario; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.Despejo; import gcom.cadastro.imovel.FiltroSubCategoria; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelContaEnvio; import gcom.cadastro.imovel.ImovelSubcategoria; import gcom.cadastro.imovel.ImovelTipoCobertura; import gcom.cadastro.imovel.ImovelTipoConstrucao; import gcom.cadastro.imovel.ImovelTipoHabitacao; import gcom.cadastro.imovel.ImovelTipoPropriedade; import gcom.cadastro.imovel.PiscinaVolumeFaixa; import gcom.cadastro.imovel.PocoTipo; import gcom.cadastro.imovel.ReservatorioVolumeFaixa; import gcom.cadastro.imovel.Subcategoria; import gcom.cadastro.imovel.bean.ImovelAbaCaracteristicasHelper; import gcom.cadastro.imovel.bean.ImovelAbaCaracteristicasRetornoHelper; import gcom.cadastro.imovel.bean.ImovelAbaConclusaoHelper; import gcom.cadastro.imovel.bean.ImovelAbaConclusaoRetornoHelper; import gcom.cadastro.imovel.bean.ImovelAbaEnderecoHelper; import gcom.cadastro.imovel.bean.ImovelAbaLocalidadeHelper; import gcom.cadastro.imovel.bean.ImovelAbaLocalidadeRetornoHelper; import gcom.cadastro.imovel.bean.InserirImovelHelper; import gcom.fachada.Fachada; import gcom.faturamento.consumotarifa.ConsumoTarifa; 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.ParametroSimples; import java.math.BigDecimal; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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; import gcom.seguranca.acesso.Funcionalidade; /** * Classe respon�vel pela conclus�o do cadastro de um im�vel * * @author Raphael Rossiter * @date 11/05/2009 */ public class InserirImovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // localiza o action no objeto actionmapping ActionForward retorno = actionMapping.findForward("telaSucesso"); // Obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm inserirImovelActionForm = (DynaValidatorForm) sessao .getAttribute("InserirImovelActionForm"); Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // Cria Variaveis String idLocalidade = (String) inserirImovelActionForm.get("idLocalidade"); String idSetorComercial = (String) inserirImovelActionForm.get("idSetorComercial"); String idQuadra = (String) inserirImovelActionForm.get("idQuadra"); String idQuadraFace = (String) inserirImovelActionForm.get("idQuadraFace"); String lote = (String) inserirImovelActionForm.get("lote"); String subLote = (String) inserirImovelActionForm.get("subLote"); String testadaLote = (String) inserirImovelActionForm.get("testadaLote"); String areaConstruida = (String) inserirImovelActionForm.get("areaConstruida"); String faixaAreaConstruida = (String) inserirImovelActionForm.get("faixaAreaConstruida"); String volumeReservatorioSuperior = (String) inserirImovelActionForm.get("reservatorioSuperior"); String faixaVolumeReservatorioSuperior = (String) inserirImovelActionForm.get("faixaResevatorioSuperior"); String volumeReservatorioInferior = (String) inserirImovelActionForm.get("reservatorioInferior"); String faixaVolumeReservaotirio = (String) inserirImovelActionForm.get("faixaReservatorioInferior"); String piscina = (String) inserirImovelActionForm.get("piscina"); String jardim = (String) inserirImovelActionForm.get("jardim"); String faixaPiscina = (String) inserirImovelActionForm.get("faixaPiscina"); String pavimentoCalcada = (String) inserirImovelActionForm.get("pavimentoCalcada"); String pavimentoRua = (String) inserirImovelActionForm.get("pavimentoRua"); String fonteAbastecimento = (String) inserirImovelActionForm.get("fonteAbastecimento"); String situacaoLigacaoAgua = (String) inserirImovelActionForm.get("situacaoLigacaoAgua"); String situacaoLigacaoEsgoto = (String) inserirImovelActionForm.get("situacaoLigacaoEsgoto"); String perfilImovel = (String) inserirImovelActionForm.get("perfilImovel"); String poco = (String) inserirImovelActionForm.get("poco"); String idLigacaoEsgotoEsgotamento = (String) inserirImovelActionForm.get("idLigacaoEsgotoEsgotamento"); String tipoHabitacao = (String) inserirImovelActionForm.get("imovelTipoHabitacao"); String tipoPropriedade = (String) inserirImovelActionForm.get("imovelTipoPropriedade"); String tipoConstrucao = (String) inserirImovelActionForm.get("imovelTipoConstrucao"); String tipoCobertura = (String) inserirImovelActionForm.get("imovelTipoCobertura"); String pontoUtilizaco = (String) inserirImovelActionForm.get("numeroPontos"); String numeroMoradores = (String) inserirImovelActionForm.get("numeroMoradores"); String numeroIptu = (String) inserirImovelActionForm.get("numeroIptu"); String numeroContratoCelpe = (String) inserirImovelActionForm.get("numeroContratoCelpe"); String imovelContaEnvioForm = (String) inserirImovelActionForm.get("imovelContaEnvio"); String cordenadasX = (String) inserirImovelActionForm.get("cordenadasUtmX"); String cordenadasY = (String) inserirImovelActionForm.get("cordenadasUtmY"); String extratoResponsavel = (String) inserirImovelActionForm.get("extratoResponsavel"); // String nomeContaForm = (String) inserirImovelActionForm // .get("tipoOcupacao"); String tipoDespejo = (String) inserirImovelActionForm.get("tipoDespejo"); String idImovelPrincipal = (String) inserirImovelActionForm.get("idImovel"); String sequencialRota = (String) inserirImovelActionForm.get("sequencialRota"); String sequencialRotaEntrega = (String) inserirImovelActionForm.get("sequencialRotaEntrega"); String idRotaEntrega = (String) inserirImovelActionForm.get("idRota"); String idRotaAlternativa = (String) inserirImovelActionForm.get("idRotaAlternativa"); String idFuncionario = (String) inserirImovelActionForm.get("idFuncionario"); String numeroMedidorEnergia = (String) inserirImovelActionForm.get("numeroMedidorEnergia"); String dataVisitaComercialInformada = (String) inserirImovelActionForm.get("dataVisitaComercial"); String numeroQuadraEntrega = (String) inserirImovelActionForm.get("numeroQuadraEntrega"); String informacoesComplementares = (String) inserirImovelActionForm.get("informacoesComplementares"); String indicadorNivelInstalacaoEsgoto = (String) inserirImovelActionForm.get("indicadorNivelInstalacaoEsgoto"); // Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); Imovel imovel = new Imovel(); // ABA LOCALIDADE ImovelAbaLocalidadeHelper helperLocalidade = new ImovelAbaLocalidadeHelper(); helperLocalidade.setIdLocalidade(idLocalidade); helperLocalidade.setCodigoSetorComercial(idSetorComercial); helperLocalidade.setNumeroQuadra(idQuadra); helperLocalidade.setIdQuadraFace(idQuadraFace); helperLocalidade.setLote(lote); helperLocalidade.setSublote(subLote); ImovelAbaLocalidadeRetornoHelper resultadoAbaLocalidade = fachada.validarImovelAbaLocalidade(helperLocalidade); imovel.setLocalidade(resultadoAbaLocalidade.getLocalidade()); imovel.setSetorComercial(resultadoAbaLocalidade.getSetorComercial()); imovel.setQuadra(resultadoAbaLocalidade.getQuadra()); imovel.setQuadraFace(resultadoAbaLocalidade.getQuadraFace()); imovel.setLote(new Short(lote).shortValue()); imovel.setSubLote(new Short(subLote).shortValue()); if (naoVazio(testadaLote)) { imovel.setTestadaLote(new Short(testadaLote).shortValue()); } if (naoVazio(sequencialRota)) { imovel.setNumeroSequencialRota(new Integer(sequencialRota)); } // ABA ENDERECO Collection colecaoEnderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); //********************************************************************** // Autor: Ivan Sergio // Data: 23/07/2009 // CRC2103 // Guarda o endereco do Imovel para o caso em que o Inserir/Manter // cliente � invocado pelo Inserir/Manter Imovel como PopUp //********************************************************************** if (sessao.getAttribute("POPUP") != null) { if (sessao.getAttribute("POPUP").equals("true")) { if (colecaoEnderecos != null && !colecaoEnderecos.isEmpty()) { Object obj = (Object) colecaoEnderecos.iterator().next(); if (!(obj instanceof Imovel)) { sessao.removeAttribute("colecaoEnderecos"); } if (sessao.getAttribute("colecaoEnderecosImovel") != null) { colecaoEnderecos = (Collection) sessao.getAttribute("colecaoEnderecosImovel"); } }else if (sessao.getAttribute("colecaoEnderecosImovel") != null) { colecaoEnderecos = (Collection) sessao.getAttribute("colecaoEnderecosImovel"); } } } //********************************************************************** ImovelAbaEnderecoHelper helperEndereco = new ImovelAbaEnderecoHelper(); helperEndereco.setImovelEnderecos(colecaoEnderecos); helperEndereco.setSetorComercial(resultadoAbaLocalidade.getSetorComercial()); helperEndereco.setUsuarioLogado(usuario); helperEndereco.setIdFuncionalidade(Funcionalidade.INSERIR_IMOVEL); fachada.validarImovelAbaEndereco(helperEndereco); Imovel imovelEndereco = (Imovel) Util.retonarObjetoDeColecao(colecaoEnderecos); Logradouro logradouro = null; if (imovelEndereco.getLogradouroCep() != null && imovelEndereco.getLogradouroCep().getLogradouro() != null && !imovelEndereco.getLogradouroCep().getLogradouro().equals("")) { Integer idLogradouro = imovelEndereco.getLogradouroCep().getLogradouro().getId(); logradouro = new Logradouro(); logradouro.setId(idLogradouro); } else { // ALTERA��O FEITTA PARA FUNCIONAMENTO DA APLICA��O, APAGAR // A CONDI��O DO "SE N�O", // ALTERA��O DO VALOR DO LOGRADOURO ESTA SENDO ANALIZADA POR ARYED, // ANA E LEO NARDO NO DIA 16/03/2006 logradouro = new Logradouro(); logradouro.setId(new Integer("0")); } LogradouroCep logradouroCep = null; if (imovelEndereco.getLogradouroCep() != null && imovelEndereco.getLogradouroCep().getCep() != null) { Integer cep = imovelEndereco.getLogradouroCep().getCep().getCepId(); Cep cepObj = new Cep(); cepObj.setCepId(cep); logradouroCep = fachada.pesquisarAssociacaoLogradouroCep(cepObj.getCepId(), logradouro.getId()); } EnderecoReferencia enderecoReferencia = null; if (imovelEndereco.getEnderecoReferencia() != null) { Integer idEnderecoReferencia = imovelEndereco.getEnderecoReferencia().getId(); if (idEnderecoReferencia != null && !idEnderecoReferencia.toString().trim().equals("")) { enderecoReferencia = new EnderecoReferencia(); enderecoReferencia.setId(idEnderecoReferencia); } } imovel.setNumeroImovel(imovelEndereco.getNumeroImovel()); imovel.setComplementoEndereco(imovelEndereco.getComplementoEndereco()); imovel.setLogradouroCep(logradouroCep); imovel.setEnderecoReferencia(enderecoReferencia); imovel.setLogradouroBairro(imovelEndereco.getLogradouroBairro()); imovel.setPerimetroInicial(imovelEndereco.getPerimetroInicial()); imovel.setPerimetroFinal(imovelEndereco.getPerimetroFinal()); // ABA CLIENTES Collection clientes = (Collection) sessao.getAttribute("imovelClientesNovos"); fachada.validarImovelAbaCliente(clientes, usuario); // ABA SUBCATEGORIA ECONOMIAS Collection subcategorias = (Collection) sessao.getAttribute("colecaoImovelSubCategorias"); Collection ramosAtividades = (Collection) sessao.getAttribute("colecaoImovelRamosAtividade"); fachada.validarAbaInserirImovelSubcategoria( subcategorias, PermissaoEspecial.INSERIR_IMOVEL_PARA_ORGAO_PUBLICO, usuario); // ABA CARACTERISTICA ImovelAbaCaracteristicasHelper helperCaracteristica = new ImovelAbaCaracteristicasHelper(); helperCaracteristica.setAreaConstruida(areaConstruida); helperCaracteristica.setIdAreaConstruidaFaixa(faixaAreaConstruida); helperCaracteristica.setIdPavimentoCalcada(pavimentoCalcada); helperCaracteristica.setIdPavimentoRua(pavimentoRua); helperCaracteristica.setIdFonteAbastecimento(fonteAbastecimento); helperCaracteristica.setIdLigacaoAguaSituacao(situacaoLigacaoAgua); helperCaracteristica.setIdLigacaoEsgotoSituacao(situacaoLigacaoEsgoto); helperCaracteristica.setIdLigacaoEsgotoEsgotamento(idLigacaoEsgotoEsgotamento); helperCaracteristica.setIdImovelPerfil(perfilImovel); //************************************************* // Autor: Ivan Sergio // Data: 23/04/2009 // CRC1657 //************************************************* // [FS0023] - Verificar Setor e Quadra //************************************************* helperCaracteristica.setIdSetorComercial(idSetorComercial); helperCaracteristica.setIdQuadra(idQuadra); //************************************************* // Autor: Nathalia santos // Data: 13/07/2011 // RR201106690 helperCaracteristica.setIdNivelInstalacaoEsgoto(indicadorNivelInstalacaoEsgoto); //************************************************* ImovelAbaCaracteristicasRetornoHelper resultadoAbaCaracteristicas = fachada.validarImovelAbaCaracteristicas(helperCaracteristica); if (naoVazio(areaConstruida)) { imovel.setAreaConstruida(Util.formatarMoedaRealparaBigDecimal(areaConstruida)); } imovel.setAreaConstruidaFaixa(resultadoAbaCaracteristicas.getAreaConstruidaFaixa()); if (Util.verificarIdNaoVazio(faixaVolumeReservaotirio)) { ReservatorioVolumeFaixa reservatorioVolumeFaixaInf = new ReservatorioVolumeFaixa(); reservatorioVolumeFaixaInf.setId(new Integer(faixaVolumeReservaotirio)); imovel.setReservatorioVolumeFaixaInferior(reservatorioVolumeFaixaInf); } if (naoVazio(volumeReservatorioInferior)) { imovel.setVolumeReservatorioInferior(Util.formatarMoedaRealparaBigDecimal(volumeReservatorioInferior)); } if (Util.verificarIdNaoVazio(faixaVolumeReservatorioSuperior)) { ReservatorioVolumeFaixa reservatorioVolumeFaixaSup = new ReservatorioVolumeFaixa(); reservatorioVolumeFaixaSup.setId(new Integer(faixaVolumeReservatorioSuperior)); imovel.setReservatorioVolumeFaixaSuperior(reservatorioVolumeFaixaSup); } if (naoVazio(volumeReservatorioSuperior)) { imovel.setVolumeReservatorioSuperior(Util.formatarMoedaRealparaBigDecimal(volumeReservatorioSuperior)); } if (Util.verificarIdNaoVazio(faixaPiscina)) { PiscinaVolumeFaixa piscinaVolumeFaixa = new PiscinaVolumeFaixa(); piscinaVolumeFaixa.setId(new Integer(faixaPiscina)); imovel.setPiscinaVolumeFaixa(piscinaVolumeFaixa); } if (naoVazio(piscina)) { imovel.setVolumePiscina(Util.formatarMoedaRealparaBigDecimal(piscina)); } if (naoVazio(jardim)) { imovel.setIndicadorJardim(new Short(jardim)); } imovel.setPavimentoCalcada(resultadoAbaCaracteristicas.getPavimentoCalcada()); imovel.setPavimentoRua(resultadoAbaCaracteristicas.getPavimentoRua()); imovel.setFonteAbastecimento(resultadoAbaCaracteristicas.getFonteAbastecimento()); imovel.setLigacaoAguaSituacao(resultadoAbaCaracteristicas.getLigacaoAguaSituacao()); imovel.setLigacaoEsgotoSituacao(resultadoAbaCaracteristicas.getLigacaoEsgotoSituacao()); imovel.setImovelPerfil(resultadoAbaCaracteristicas.getImovelPerfil()); if(indicadorNivelInstalacaoEsgoto != null && !indicadorNivelInstalacaoEsgoto.equals("")){ imovel.setIndicadorNivelInstalacaoEsgoto(new Short(indicadorNivelInstalacaoEsgoto)); }else{ imovel.setIndicadorNivelInstalacaoEsgoto(new Short("2")); } LigacaoEsgotoEsgotamento ligacaoEsgotoEsgotamento = resultadoAbaCaracteristicas.getLigacaoEsgotoEsgotamento(); if (Util.verificarIdNaoVazio(poco)) { PocoTipo pocoTipo = new PocoTipo(); pocoTipo.setId(new Integer(poco)); imovel.setPocoTipo(pocoTipo); } if (Util.verificarIdNaoVazio(tipoDespejo)) { Despejo despejo = new Despejo(); despejo.setId(new Integer(tipoDespejo)); imovel.setDespejo(despejo); } if (Util.verificarIdNaoVazio(tipoHabitacao)) { ImovelTipoHabitacao imovelTipoHabitacao = new ImovelTipoHabitacao(); imovelTipoHabitacao.setId(new Integer(tipoHabitacao)); imovel.setImovelTipoHabitacao(imovelTipoHabitacao); } if (Util.verificarIdNaoVazio(tipoPropriedade)) { ImovelTipoPropriedade imovelTipoPropriedade = new ImovelTipoPropriedade(); imovelTipoPropriedade.setId(new Integer(tipoPropriedade)); imovel.setImovelTipoPropriedade(imovelTipoPropriedade); } if (Util.verificarIdNaoVazio(tipoConstrucao)) { ImovelTipoConstrucao imovelTipoConstrucao = new ImovelTipoConstrucao(); imovelTipoConstrucao.setId(new Integer(tipoConstrucao)); imovel.setImovelTipoConstrucao(imovelTipoConstrucao); } if (Util.verificarIdNaoVazio(tipoCobertura)) { ImovelTipoCobertura imovelTipoCobertura = new ImovelTipoCobertura(); imovelTipoCobertura.setId(new Integer(tipoCobertura)); imovel.setImovelTipoCobertura(imovelTipoCobertura); } // ABA CONCLUSAO ImovelAbaConclusaoHelper helperConclusao = new ImovelAbaConclusaoHelper(); helperConclusao.setSetorComercial(resultadoAbaLocalidade.getSetorComercial()); helperConclusao.setIdQuadraImovel(idQuadra); helperConclusao.setIdImovelPrincipal(idImovelPrincipal); helperConclusao.setNumeroIptu(numeroIptu); helperConclusao.setNumeroContratoCelpe(numeroContratoCelpe); helperConclusao.setCoordenadasUtmX(cordenadasX); helperConclusao.setCoordenadasUtmY(cordenadasY); helperConclusao.setSequencialRotaEntrega(sequencialRotaEntrega); helperConclusao.setNumeroQuadraEntrega(numeroQuadraEntrega); helperConclusao.setIdRotaEntrega(idRotaEntrega); helperConclusao.setIdRotaAlternativa(idRotaAlternativa); helperConclusao.setImoveisClientes(clientes); helperConclusao.setNumeroMedidorEnergia(numeroMedidorEnergia); helperConclusao.setInformacoesComplementares(informacoesComplementares); ImovelAbaConclusaoRetornoHelper resultadoAbaConclusao = fachada.validarImovelAbaConclusao(helperConclusao); if (resultadoAbaConclusao.getSequencialRotaEntrega() != null) { imovel.setNumeroSequencialRotaEntrega(new Integer(resultadoAbaConclusao.getSequencialRotaEntrega())); } if (resultadoAbaConclusao.getRotaEntrega() != null) { imovel.setRotaEntrega(resultadoAbaConclusao.getRotaEntrega()); } if(resultadoAbaConclusao.getRotaAlternativa() != null){ imovel.setRotaAlternativa(resultadoAbaConclusao.getRotaAlternativa()); } if (numeroQuadraEntrega != null && !numeroQuadraEntrega.equals("")){ imovel.setNumeroQuadraEntrega(new Integer(numeroQuadraEntrega)); } if(informacoesComplementares != null && !informacoesComplementares.equals("")){ imovel.setInformacoesComplementares(informacoesComplementares); } imovel.setNumeroPontosUtilizacao(naoVazio(pontoUtilizaco) ? new Short(pontoUtilizaco) : null); imovel.setNumeroMorador(naoVazio(numeroMoradores) ? new Short(numeroMoradores) : null); imovel.setNumeroIptu(naoVazio(numeroIptu) ? Util.formatarIPTU(numeroIptu) : null); imovel.setNumeroCelpe(naoVazio(numeroContratoCelpe) ? new Long(numeroContratoCelpe) : null); imovel.setCoordenadaX(naoVazio(cordenadasX) ? new String(cordenadasX.replace(',','.')) : null); imovel.setCoordenadaY(naoVazio(cordenadasY) ? new String(cordenadasY.replace(',','.')) : null); if (Util.verificarIdNaoVazio(idImovelPrincipal)) { Imovel imovelPrincipal = new Imovel(); imovelPrincipal.setId(new Integer(idImovelPrincipal)); imovel.setImovelPrincipal(imovelPrincipal); } if (Util.verificarIdNaoVazio(idFuncionario)) { Funcionario funcionario = new Funcionario(); funcionario.setId(new Integer(idFuncionario)); imovel.setFuncionario(funcionario); } if (Util.verificarIdNaoVazio(numeroMedidorEnergia)) { imovel.setNumeroMedidorEnergia(numeroMedidorEnergia); } if (dataVisitaComercialInformada !=null && !dataVisitaComercialInformada.equals("")) { Date dataVisitaComercial = Util.converteStringParaDate(dataVisitaComercialInformada); imovel.setDataVisitaComercial(dataVisitaComercial); } // OUTROS imovel.setUltimaAlteracao(new Date()); imovel.setIndicadorExclusao(ConstantesSistema.NAO); imovel.setIndicadorImovelCondominio(ConstantesSistema.INDICADOR_USO_DESATIVO); imovel.setIndicadorDebitoConta(ConstantesSistema.INDICADOR_USO_DESATIVO); imovel.setIndicadorEmissaoExtratoFaturamento(naoVazio(extratoResponsavel) ? new Short(extratoResponsavel) : ConstantesSistema.NAO); ConsumoTarifa consumoTarifa = new ConsumoTarifa(); consumoTarifa.setId(ConsumoTarifa.CONSUMO_NORMAL); imovel.setConsumoTarifa(consumoTarifa); short quantidadeEconomias = 0; Iterator iteratorSubcategorias = subcategorias.iterator(); while (iteratorSubcategorias.hasNext()) { ImovelSubcategoria imovelSubcategoria = (ImovelSubcategoria) iteratorSubcategorias.next(); quantidadeEconomias += imovelSubcategoria.getQuantidadeEconomias(); } imovel.setQuantidadeEconomias(quantidadeEconomias); ImovelContaEnvio imovelContaEnvio = new ImovelContaEnvio(); if (Util.verificarIdNaoVazio(imovelContaEnvioForm)) { imovelContaEnvio = new ImovelContaEnvio(); imovelContaEnvio.setId(new Integer(imovelContaEnvioForm)); } else { imovelContaEnvio = new ImovelContaEnvio(); imovelContaEnvio.setId(new Integer(2)); } imovel.setImovelContaEnvio(imovelContaEnvio); if (imovel.getIndicadorEmissaoExtratoFaturamento() != null){ if (imovel.getIndicadorEmissaoExtratoFaturamento().equals(new Short("0"))){ imovel.setIndicadorEmissaoExtratoFaturamento(new Short("2")); } } else { imovel.setIndicadorEmissaoExtratoFaturamento(new Short("2")); } imovel.setIndicadorImovelAreaComum(ConstantesSistema.NAO); //CRC2258 solicitacao do analista Adriano Brito //data alteracao: 13/07/2009 imovel.setIndicadorVencimentoMesSeguinte(new Short("2")); //fim da alteracao // CRC3184 // Desenvolvedor:Hugo Amorim Analista:Rosana // Data: 15/12/2009 if(imovel.getImovelPerfil()!=null){ boolean achou = false; if(imovel.getImovelPerfil().getSubcategoria()!=null){ for (Iterator iterator = subcategorias.iterator(); iterator.hasNext();) { ImovelSubcategoria imovelSubcategoria = (ImovelSubcategoria) iterator.next(); Subcategoria subcategoria = imovelSubcategoria.getComp_id().getSubcategoria(); if(subcategoria.getId().compareTo(imovel.getImovelPerfil().getSubcategoria().getId())==0){ achou = true; } } if(!achou || subcategorias.size()>1){ FiltroSubCategoria filtroSubCategoria = new FiltroSubCategoria(); filtroSubCategoria.adicionarParametro(new ParametroSimples(FiltroSubCategoria.ID, imovel.getImovelPerfil().getSubcategoria().getId())); Collection<Subcategoria> colecaoSubs = fachada.pesquisar(filtroSubCategoria, Subcategoria.class.getName()); Subcategoria subcategoria = (Subcategoria) Util.retonarObjetoDeColecao(colecaoSubs); throw new ActionServletException("atencao.perfil_exige_subcategoria",subcategoria.getDescricao()); } } } //Fim da Altera��o CRC3184 //********************************************************************** // Autor: Rodrigo Cabral // Data: 13/09/2011 // Inserir a Principal Categoria e SubCategoria do Imovel //********************************************************************** Categoria principalCategoria = fachada.obterPrincipalCategoria(subcategorias); if (principalCategoria != null){ imovel.setCategoriaPrincipalId(principalCategoria.getId()); ImovelSubcategoria principalSubCategoria = fachada.obterPrincipalSubcategoria(principalCategoria.getId(), subcategorias); imovel.setSubCategoriaPrincipalId(principalSubCategoria.getComp_id().getSubcategoria().getId()); } /** * alterado por pedro alexandre dia 17/11/2006 Recupera o usu�rio logado * para passar no met�do de inserir im�vel para verificar se o usu�rio * tem abrang�ncia para inserir o im�vel na localidade informada. */ Usuario usuarioLogado = (Usuario) sessao.getAttribute(Usuario.USUARIO_LOGADO); //Colocado por Raphael Rossiter em 19/08/2008 - Analista: Rosana Carvalho InserirImovelHelper inserirImovelHelper = new InserirImovelHelper(imovel, subcategorias, ramosAtividades, colecaoEnderecos, clientes, ligacaoEsgotoEsgotamento, usuarioLogado); Integer id = fachada.inserirImovelRetorno(inserirImovelHelper); //********************************************************************** // Autor: Ivan Sergio // Data: 24/07/2009 // CRC2103 - [FS0026] - Verificar existencia de operacao inserir/manter // cliente pendente de atualizacao do imovel. //********************************************************************** fachada.verificarAtualizarOperacaoPendente(id, clientes, usuarioLogado.getId()); //********************************************************************** sessao.removeAttribute("colecaoImovelSubCategorias"); sessao.removeAttribute("imovelClientesNovos"); montarPaginaSucesso(httpServletRequest, "Im�vel de matr�cula " + id + " inclu�do com sucesso.", "Inserir outro Im�vel", "exibirInserirImovelAction.do?menu=sim", "exibirAtualizarImovelAction.do?idRegistroAtualizacao=" + id + "&sucesso=sucesso", "Atualizar Im�vel Inserido", "Informar Ocorr�ncias / Anormalidades", "exibirInformarOcorrenciaCadastroAnormalidadeEloAction.do?idImovel=" + id); return retorno; } private boolean naoVazio(String valor) { if (valor == null || valor.trim().equals("")) { return false; } else { return true; } } }