package gcom.cadastro.tarifasocial; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashSet; import java.util.Iterator; import java.util.List; import javax.ejb.CreateException; import javax.ejb.SessionContext; import gcom.atendimentopublico.ligacaoagua.ControladorLigacaoAguaLocal; import gcom.atendimentopublico.ligacaoagua.ControladorLigacaoAguaLocalHome; import gcom.atendimentopublico.ligacaoagua.FiltroLigacaoAgua; import gcom.atendimentopublico.ligacaoagua.LigacaoAgua; import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao; import gcom.atendimentopublico.registroatendimento.AtendimentoMotivoEncerramento; import gcom.atendimentopublico.registroatendimento.ControladorRegistroAtendimentoLocal; import gcom.atendimentopublico.registroatendimento.ControladorRegistroAtendimentoLocalHome; import gcom.atendimentopublico.registroatendimento.RegistroAtendimento; import gcom.atendimentopublico.registroatendimento.RegistroAtendimentoUnidade; import gcom.atendimentopublico.registroatendimento.SolicitacaoTipoEspecificacao; import gcom.atendimentopublico.registroatendimento.bean.ObterDadosRegistroAtendimentoHelper; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteImovel; import gcom.cadastro.cliente.ClienteImovelEconomia; import gcom.cadastro.cliente.ClienteRelacaoTipo; import gcom.cadastro.cliente.ClienteTipo; import gcom.cadastro.cliente.FiltroClienteImovel; import gcom.cadastro.cliente.FiltroClienteImovelEconomia; import gcom.cadastro.cliente.IRepositorioImovelTarifaSocial; import gcom.cadastro.cliente.OrgaoExpedidorRg; import gcom.cadastro.cliente.RepositorioImovelTarifaSocialHBM; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.geografico.UnidadeFederacao; import gcom.cadastro.imovel.AreaConstruidaFaixa; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.ControladorImovelLocal; import gcom.cadastro.imovel.ControladorImovelLocalHome; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.FiltroImovelSubCategoria; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelEconomia; import gcom.cadastro.imovel.ImovelPerfil; import gcom.cadastro.imovel.ImovelSubcategoria; import gcom.cadastro.imovel.ImovelSubcategoriaPK; import gcom.cadastro.imovel.Subcategoria; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.cadastro.tarifasocial.bean.TarifaSocialHelper; import gcom.cobranca.ControladorCobrancaLocal; import gcom.cobranca.ControladorCobrancaLocalHome; import gcom.cobranca.bean.ObterDebitoImovelOuClienteHelper; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoSituacaoHistorico; import gcom.faturamento.FaturamentoSituacaoMotivo; import gcom.faturamento.FaturamentoSituacaoTipo; import gcom.faturamento.FiltroFaturamentoSituacaoHistorico; import gcom.faturamento.consumotarifa.ConsumoTarifa; import gcom.interceptor.RegistradorOperacao; import gcom.micromedicao.consumo.ConsumoHistorico; import gcom.micromedicao.hidrometro.HidrometroInstalacaoHistorico; import gcom.micromedicao.leitura.LeituraAnormalidade; import gcom.micromedicao.medicao.FiltroMedicaoHistorico; import gcom.micromedicao.medicao.MedicaoHistorico; import gcom.micromedicao.medicao.MedicaoTipo; import gcom.seguranca.acesso.Operacao; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioAcao; import gcom.seguranca.acesso.usuario.UsuarioAcaoUsuarioHelper; import gcom.util.ConstantesJNDI; import gcom.util.ConstantesSistema; import gcom.util.ControladorComum; import gcom.util.ControladorException; import gcom.util.ControladorUtilLocal; import gcom.util.ControladorUtilLocalHome; import gcom.util.ErroRepositorioException; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import gcom.util.Util; import gcom.util.filtro.ConectorOr; import gcom.util.filtro.ParametroNaoNulo; import gcom.util.filtro.ParametroNulo; import gcom.util.filtro.ParametroSimples; import gcom.util.filtro.ParametroSimplesDiferenteDe; /** * < <Descri��o da Classe>> * * @author rodrigo */ public class ControladorTarifaSocialSEJB extends ControladorComum { private static final long serialVersionUID = 1L; private IRepositorioImovelTarifaSocial repositorioImovelTarifaSocial = null; public void ejbCreate() throws CreateException { repositorioImovelTarifaSocial = RepositorioImovelTarifaSocialHBM.getInstancia(); } /** * Faz verifica��es da inser��o de dados de tarifa social de um im�vel * * [UC00054] Inserir Tarifa Social * * [FS0004] Verificar o cliente proprietario do imovel * * @param idImovel * C�digo do Im�vel * @throws ControladorException */ public void verificarProprietarioImovel(Integer idImovel) throws ControladorException { FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); // Objetos que ser�o retornados pelo hibernate filtroClienteImovel .adicionarCaminhoParaCarregamentoEntidade("cliente.clienteTipo"); /* * filtroClienteImovel * .adicionarCaminhoParaCarregamentoEntidade("cliente.rg"); * filtroClienteImovel * .adicionarCaminhoParaCarregamentoEntidade("cliente.cpf"); */ filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.IMOVEL_ID, idImovel)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.FIM_RELACAO_MOTIVO)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.PROPRIETARIO)); // Realiza uma pesquisa pelos parametros fornecidos Collection clienteImoveis = getControladorUtil().pesquisar( filtroClienteImovel, ClienteImovel.class.getName()); // verifica se existe cliente propriet�rio if (clienteImoveis == null || clienteImoveis.isEmpty()) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.obrigatoria.existente.proprietario"); } // Iterator para percorrer a cole��o de ClienteImoveis Iterator clienteImovelIterator = clienteImoveis.iterator(); // Objeto ClienteImovel ClienteImovel clienteImovelObj = new ClienteImovel(); while (clienteImovelIterator.hasNext()) { clienteImovelObj = (ClienteImovel) clienteImovelIterator.next(); Cliente cliente = clienteImovelObj.getCliente(); if ((cliente.getClienteTipo().getIndicadorPessoaFisicaJuridica() .shortValue() == 1) && ((clienteImovelObj.getCliente().getRg() == null || clienteImovelObj .getCliente().getRg().equalsIgnoreCase("")) && (clienteImovelObj.getCliente().getCpf() == null || clienteImovelObj .getCliente().getCpf().equalsIgnoreCase("")))) { throw new ControladorException( "atencao.proprietario.rg_cpf_nao_cadastrado"); } if (cliente.getClienteTipo().getIndicadorPessoaFisicaJuridica() .shortValue() == 2 && cliente.getCnpj() == null) { throw new ControladorException( "atencao.proprietario.cnpj_nao_cadastrado"); } } } /** * Faz verifica��es da inser��o de dados de tarifa social de um im�vel * * @param idImovel * C�digo do Im�vel * @throws ControladorException */ public Cliente verificarUsuarioImovel(Integer idImovel) throws ControladorException { FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); // Objetos que ser�o retornados pelo hibernate filtroClienteImovel .adicionarCaminhoParaCarregamentoEntidade("cliente.clienteTipo"); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.IMOVEL_ID, idImovel)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.FIM_RELACAO_MOTIVO)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); // Realiza uma pesquisa pelos parametros fornecidos Collection clienteImoveis = getControladorUtil().pesquisar( filtroClienteImovel, ClienteImovel.class.getName()); // Iterator para percorrer a cole��o de ClienteImoveis Iterator clienteImovelIterator = clienteImoveis.iterator(); // Objeto ClienteImovel ClienteImovel clienteImovelObj = new ClienteImovel(); clienteImovelObj = (ClienteImovel) clienteImovelIterator.next(); Cliente cliente = clienteImovelObj.getCliente(); if ((cliente.getRg() == null || clienteImovelObj.getCliente().getRg() .equalsIgnoreCase("")) && (cliente.getCpf() == null || clienteImovelObj.getCliente() .getCpf().equalsIgnoreCase(""))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.obrigatoria.existente.usuario.tenham.cpf_rg"); } return cliente; } /** * M�todo que verifica se o usuario esta cadastrado em outro imovel que * esteja na tarifa social e verifica se ja esta cadastrado como usuario de * algum imovel economia, * * Caso o idImovel seja diferente de nula ele verifa se o usuario esta * cadastrado num imovel diferente do id passado. * * Caso o idImovelEconomia seja diferente de nula ele verifaca se o usuario * esta cadastrado num imovel economia do idImovelEconomia passado. * * @param idImovel * @param idImovelEconomia * @param idEconomiaAtual * @param idClienteUsuario */ public void verificarClienteUsuarioEmOutroEconomia(Integer idImovel, Integer idImovelEconomia, Integer idClienteUsuario) throws ControladorException { FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); // Adiciona novos parametros para pesquisa de usuarios existente em // tarifa social, na tabela CLIENTE_IMOVEL if (idImovel != null) { filtroClienteImovel .adicionarParametro(new ParametroSimplesDiferenteDe( FiltroClienteImovel.IMOVEL_ID, idImovel)); } filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.IMOVEL_PERFIL, ImovelPerfil.TARIFA_SOCIAL)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_ID, idClienteUsuario)); filtroClienteImovel.adicionarParametro(new ParametroSimples( FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.FIM_RELACAO_MOTIVO)); filtroClienteImovel.adicionarParametro(new ParametroNulo( FiltroClienteImovel.DATA_FIM_RELACAO)); // Carrega a cole��o com os registros encontrados Collection clienteImoveis = getControladorUtil().pesquisar( filtroClienteImovel, ClienteImovel.class.getName()); if (clienteImoveis != null && !clienteImoveis.isEmpty()) { // caso ele ja seja usuario de algum imovel ClienteImovel clienteImovelObj = (ClienteImovel) clienteImoveis .iterator().next(); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.usuario.ja_cadastrado_tarifasocial", null, clienteImovelObj.getImovel().getId().toString()); } // Instancia do filtro de ClienteImovelEconomia FiltroClienteImovelEconomia filtroClienteImovelEconomia = new FiltroClienteImovelEconomia(); // Adiciona novos parametros para pesquisa de usuarios existente em // tarifa social, na tabela CLIENTE_IMOVEL_ECONOMIA if (idImovelEconomia != null) { filtroClienteImovelEconomia .adicionarParametro(new ParametroSimplesDiferenteDe( FiltroClienteImovelEconomia.ID, idImovelEconomia)); } filtroClienteImovelEconomia .adicionarCaminhoParaCarregamentoEntidade(FiltroClienteImovelEconomia.IMOVEL); filtroClienteImovelEconomia.adicionarParametro(new ParametroSimples( FiltroClienteImovelEconomia.IMOVEL_PERFIL, ImovelPerfil.TARIFA_SOCIAL)); filtroClienteImovelEconomia.adicionarParametro(new ParametroSimples( FiltroClienteImovelEconomia.CLIENTE_ID, idClienteUsuario)); filtroClienteImovelEconomia.adicionarParametro(new ParametroSimples( FiltroClienteImovelEconomia.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); filtroClienteImovelEconomia.adicionarParametro(new ParametroNulo( FiltroClienteImovelEconomia.FIM_RELACAO_MOTIVO)); filtroClienteImovelEconomia.adicionarParametro(new ParametroNulo( FiltroClienteImovelEconomia.DATA_FIM_RELACAO)); // Cole��o de Cliente_Imovel_Economia Collection clienteImovelEconomias = getControladorUtil().pesquisar( filtroClienteImovelEconomia, ClienteImovelEconomia.class.getName()); if (clienteImovelEconomias != null && !clienteImovelEconomias.isEmpty()) { ClienteImovelEconomia clienteImovelEconomiaObj = (ClienteImovelEconomia) clienteImovelEconomias .iterator().next(); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.usuario.ja_cadastrado_tarifasocial", null, clienteImovelEconomiaObj.getImovelEconomia() .getImovelSubcategoria().getComp_id().getImovel() .getId().toString()); } } /** * Verificar os pr�-requisitos para o cadastramento de um im�vel na tarifa * social * * @param idImovel * C�digo do imovel * @throws ControladorException */ public String[] verificarPreRequisitosCadastramentoTarifaSocial( Integer idImovel) throws ControladorException { String[] retorno = new String[2]; // Procura o Im�vel para fazer as verifica��es FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel .adicionarCaminhoParaCarregamentoEntidade("quadra.rota.faturamentoGrupo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoAguaSituacao"); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, idImovel)); Imovel imovel = (Imovel) ((List) getControladorUtil().pesquisar( filtroImovel, Imovel.class.getName())).get(0); // CATEGORIA RESIDENCIAL - E // Verificar se o im�vel possui alguma categoria que n�o seja // RESIDENCIAL FiltroImovelSubCategoria filtroImovelSubcategoria = new FiltroImovelSubCategoria(); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.IMOVEL_ID, idImovel)); filtroImovelSubcategoria .adicionarParametro(new ParametroSimplesDiferenteDe( FiltroImovelSubCategoria.SUBCATEGORIA_CATEGORIA_ID, Categoria.RESIDENCIAL)); Collection imovelCategoriasNaoResidencial = getControladorUtil() .pesquisar(filtroImovelSubcategoria, ImovelSubcategoria.class.getName()); // CATEGORIA RESIDENCIAL - E if (!imovelCategoriasNaoResidencial.isEmpty()) { retorno[0] = "1"; return retorno; } // SUBCATEGORIA CADA DE VERANEIO - E // Verificar se o im�vel possui alguma categoria que n�o seja // SUBCATEGORIA CADA DE VERANEIO - E filtroImovelSubcategoria = new FiltroImovelSubCategoria(); filtroImovelSubcategoria.limparListaParametros(); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.IMOVEL_ID, idImovel)); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.SUBCATEGORIA_CATEGORIA_ID, Categoria.RESIDENCIAL)); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.CODIGO_TARIFA_SOCIAL, "E")); filtroImovelSubcategoria .adicionarCaminhoParaCarregamentoEntidade(FiltroImovelSubCategoria.SUBCATEGORIA); imovelCategoriasNaoResidencial = getControladorUtil().pesquisar( filtroImovelSubcategoria, ImovelSubcategoria.class.getName()); // SUBCATEGORIA CADA DE VERANEIO - E if (!imovelCategoriasNaoResidencial.isEmpty()) { retorno[0] = "2"; retorno[1] = ""; Iterator imovelCategoriasNaoResidencialIterator = imovelCategoriasNaoResidencial .iterator(); while (imovelCategoriasNaoResidencialIterator.hasNext()) { ImovelSubcategoria imovelSubcategoria = (ImovelSubcategoria) imovelCategoriasNaoResidencialIterator .next(); if (!retorno[1].equals("")) { retorno[1] = retorno[1] + ", " + imovelSubcategoria.getComp_id().getSubcategoria() .getDescricao(); } else { retorno[1] = imovelSubcategoria.getComp_id() .getSubcategoria().getDescricao(); } } return retorno; } boolean existeMedicaoHistoricoMesAtual = false; Integer anoMesReferenciaFaturamentoAnterior = null; Integer anoMesReferenciaFaturamento = null; HidrometroInstalacaoHistorico hidrometroInstalacaoHistorico = null; FiltroLigacaoAgua filtroLigacaoAgua = new FiltroLigacaoAgua(); filtroLigacaoAgua.adicionarParametro(new ParametroSimples( FiltroLigacaoAgua.ID, imovel.getId())); filtroLigacaoAgua .adicionarCaminhoParaCarregamentoEntidade("hidrometroInstalacaoHistorico"); Collection colecaoLigaAgua = getControladorUtil().pesquisar( filtroLigacaoAgua, LigacaoAgua.class.getName()); LigacaoAgua ligacaoAgua = null; if (colecaoLigaAgua != null && !colecaoLigaAgua.isEmpty()) { ligacaoAgua = (LigacaoAgua) (colecaoLigaAgua).iterator().next(); } if (ligacaoAgua != null) { hidrometroInstalacaoHistorico = ligacaoAgua .getHidrometroInstalacaoHistorico(); } // Pesquisa a categoria Residencial FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.adicionarParametro(new ParametroSimples( FiltroCategoria.CODIGO, Categoria.RESIDENCIAL)); Categoria categoriaResidencial = (Categoria) ((List) getControladorUtil() .pesquisar(filtroCategoria, Categoria.class.getName())).get(0); // CONSUMO M�DIO MAIOR QUE 10M3 - E // Hidr�metro na liga��o if (hidrometroInstalacaoHistorico != null) { // caso n�o tenha medicao historico no mes atual if (!existeMedicaoHistoricoMesAtual) { // Monta o Medicao Tipo para obterConsumoMedioHidrometro MedicaoTipo medicaoTipoLigacaoAgua = new MedicaoTipo(); medicaoTipoLigacaoAgua.setId(MedicaoTipo.LIGACAO_AGUA); Collection consumoAtual = null; try { consumoAtual = repositorioImovelTarifaSocial .pesquisarConsumoHistoricoImovel(imovel.getId()); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", ex); } if (consumoAtual != null && !consumoAtual.isEmpty()) { Iterator iterator = consumoAtual.iterator(); while (iterator.hasNext()) { ConsumoHistorico consumoHistorico = (ConsumoHistorico) iterator .next(); // Tarifa social s� � permitida para im�veis com consumo // m�dio por // economia dos �ltimos seis meses inferior a xm3 if (new BigDecimal(categoriaResidencial .getConsumoMinimo().intValue()) .compareTo(new BigDecimal(consumoHistorico .getConsumoMedio().intValue()) .divide(new BigDecimal(imovel .getQuantidadeEconomias() .intValue()),BigDecimal.ROUND_UP)) < 0) { sessionContext.setRollbackOnly(); retorno[0] = "8"; retorno[1] = categoriaResidencial .getConsumoMinimo().toString(); return retorno; } } } } } // Consumo Fixado Maior que xm� Integer consumoFixado = getControladorLigacaoAgua() .pesquisarConsumoMinimoFixado(imovel.getId()); if (consumoFixado != null) { // Tarifa social s� � permitida para im�veis com consumo // m�nimo fixado inferior a xm3 if (new BigDecimal(categoriaResidencial.getConsumoMinimo() .intValue()).compareTo(new BigDecimal(consumoFixado .intValue()).divide(new BigDecimal(imovel .getQuantidadeEconomias().intValue()))) < 0) { sessionContext.setRollbackOnly(); retorno[0] = "9"; retorno[1] = categoriaResidencial.getConsumoMinimo().toString(); return retorno; } } // SUBCATEGORIA IGREJA, CHAFARIZ, TERRENO - T // Verificar se o im�vel possui alguma categoria que n�o seja // SUBCATEGORIA IGREJA, CHAFARIZ, TERRENO - T filtroImovelSubcategoria = new FiltroImovelSubCategoria(); filtroImovelSubcategoria.limparListaParametros(); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.IMOVEL_ID, idImovel)); filtroImovelSubcategoria .adicionarCaminhoParaCarregamentoEntidade("comp_id.subcategoria"); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.SUBCATEGORIA_CATEGORIA_ID, Categoria.RESIDENCIAL)); filtroImovelSubcategoria.adicionarParametro(new ParametroSimples( FiltroImovelSubCategoria.CODIGO_TARIFA_SOCIAL, "T")); imovelCategoriasNaoResidencial = getControladorUtil().pesquisar( filtroImovelSubcategoria, ImovelSubcategoria.class.getName()); // SUBCATEGORIA IGREJA, CHAFARIZ, TERRENO - T if (!imovelCategoriasNaoResidencial.isEmpty()) { retorno[0] = "3"; retorno[1] = ""; Iterator imovelCategoriasNaoResidencialIterator = imovelCategoriasNaoResidencial .iterator(); while (imovelCategoriasNaoResidencialIterator.hasNext()) { ImovelSubcategoria imovelSubcategoria = (ImovelSubcategoria) imovelCategoriasNaoResidencialIterator .next(); if (!retorno[1].equals("")) { retorno[1] = retorno[1] + ", " + imovelSubcategoria.getComp_id().getSubcategoria() .getDescricao(); } else { retorno[1] = imovelSubcategoria.getComp_id() .getSubcategoria().getDescricao(); } } return retorno; } // PERFIL GRANDE CONSUMIDOR if (imovel.getImovelPerfil().getId().intValue() == ImovelPerfil.GRANDE .intValue()) { retorno[0] = "4"; return retorno; } // Verificar se a situa��o da liga��o de �gua do im�vel n�o seja ligada // ou cortadas if (!(imovel.getLigacaoAguaSituacao().getIndicadorFaturamentoSituacao().equals(LigacaoAguaSituacao.FATURAMENTO_ATIVO)) && (imovel.getLigacaoAguaSituacao().getId().intValue() != LigacaoAguaSituacao.SUPRIMIDO .intValue()) && (imovel.getLigacaoAguaSituacao().getId().intValue() != LigacaoAguaSituacao.SUPR_PARC .intValue()) && (imovel.getLigacaoAguaSituacao().getId().intValue() != LigacaoAguaSituacao.SUPR_PARC_PEDIDO .intValue())) { retorno[0] = "5"; return retorno; } // ANORMALIDADE DE LEITURA - T // Hidr�metro na liga��o if (hidrometroInstalacaoHistorico != null) { // Anormalidade de leitura anoMesReferenciaFaturamento = imovel.getQuadra().getRota() .getFaturamentoGrupo().getAnoMesReferencia(); // Setar o m�s anterior da refer�ncia anoMesReferenciaFaturamentoAnterior = Util .subtrairData(anoMesReferenciaFaturamento); FiltroMedicaoHistorico filtroMedicaoHistorico = new FiltroMedicaoHistorico(); // Objetos que ser�o retornados pelo hibernate filtroMedicaoHistorico .adicionarCaminhoParaCarregamentoEntidade("leituraAnormalidadeFaturamento"); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples( FiltroMedicaoHistorico.LIGACAO_AGUA_ID, imovel.getId())); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples( FiltroMedicaoHistorico.MEDICAO_TIPO_ID, MedicaoTipo.LIGACAO_AGUA)); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples( FiltroMedicaoHistorico.ANO_MES_REFERENCIA_FATURAMENTO, anoMesReferenciaFaturamento, ConectorOr.CONECTOR_OR, 2)); filtroMedicaoHistorico.adicionarParametro(new ParametroSimples( FiltroMedicaoHistorico.ANO_MES_REFERENCIA_FATURAMENTO, anoMesReferenciaFaturamentoAnterior)); Collection medicao = (Collection) getControladorUtil().pesquisar( filtroMedicaoHistorico, MedicaoHistorico.class.getName()); if (medicao != null && !medicao.isEmpty()) { Iterator iterator = medicao.iterator(); while (iterator.hasNext()) { MedicaoHistorico medicaoHistorico = (MedicaoHistorico) iterator .next(); existeMedicaoHistoricoMesAtual = true; if (medicaoHistorico.getLeituraAnormalidadeFaturamento() != null) { // Foi detectada anomalidade if (medicaoHistorico .getLeituraAnormalidadeFaturamento() .getIndicadorPerdaTarifaSocial().intValue() == LeituraAnormalidade.INDICADOR_PERDA_TARIFA_SOCIAL .intValue()) { retorno[0] = "6"; retorno[1] = medicaoHistorico .getLeituraAnormalidadeFaturamento() .getDescricao(); return retorno; } } } } } // data inicio vencimento debito // Calendar dataInicioVencimentoDebito = new GregorianCalendar(); // dataInicioVencimentoDebito.set(Calendar.YEAR, new Integer("0001") // .intValue()); // dataInicioVencimentoDebito.set(Calendar.MONTH, 0); // dataInicioVencimentoDebito.set(Calendar.DATE, new Integer("01") // .intValue()); // // // data final de vencimento de debito // Calendar dataFimVencimentoDebito = new GregorianCalendar(); // dataFimVencimentoDebito.add(Calendar.DATE, -45); // // FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); // // // Objetos que ser�o retornados pelo hibernate // filtroClienteImovel // .adicionarCaminhoParaCarregamentoEntidade("cliente.clienteTipo"); // /* // * filtroClienteImovel // * .adicionarCaminhoParaCarregamentoEntidade("cliente.rg"); // * filtroClienteImovel // * .adicionarCaminhoParaCarregamentoEntidade("cliente.cpf"); // */ // filtroClienteImovel.adicionarParametro(new ParametroSimples( // FiltroClienteImovel.IMOVEL_ID, idImovel)); // // filtroClienteImovel.adicionarParametro(new ParametroSimples( // FiltroClienteImovel.INDICADOR_USO, // ConstantesSistema.INDICADOR_USO_ATIVO)); // // filtroClienteImovel.adicionarParametro(new ParametroNulo( // FiltroClienteImovel.FIM_RELACAO_MOTIVO)); // filtroClienteImovel.adicionarParametro(new ParametroSimples( // FiltroClienteImovel.CLIENTE_RELACAO_TIPO, // ClienteRelacaoTipo.USUARIO)); // // // Realiza uma pesquisa pelos parametros fornecidos // Collection clienteImoveis = getControladorUtil().pesquisar( // filtroClienteImovel, ClienteImovel.class.getName()); // // // Iterator para percorrer a cole��o de ClienteImoveis // Iterator clienteImovelIterator = clienteImoveis.iterator(); // // // Objeto ClienteImovel // ClienteImovel clienteImovelObj = new ClienteImovel(); // clienteImovelObj = (ClienteImovel) clienteImovelIterator.next(); // Cliente cliente = clienteImovelObj.getCliente(); // // ObterDebitoImovelOuClienteHelper obterDebitoImovelOuClienteHelper = getControladorCobranca() // .obterDebitoImovelOuCliente(2, null, // cliente.getId().toString(), null, "000101", "999912", // dataInicioVencimentoDebito.getTime(), // dataFimVencimentoDebito.getTime(), 1, 2, 2, 2, 1, 1, 2, // null); // // boolean existeDebito = false; // if (obterDebitoImovelOuClienteHelper != null) { // // contas // if (obterDebitoImovelOuClienteHelper.getColecaoContasValores() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoContasValores().isEmpty()) { // existeDebito = true; // } else // // credito a realizar // if (obterDebitoImovelOuClienteHelper.getColecaoCreditoARealizar() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoCreditoARealizar().isEmpty()) { // existeDebito = true; // } else // // debito a cobrar // if (obterDebitoImovelOuClienteHelper.getColecaoDebitoACobrar() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoDebitoACobrar().isEmpty()) { // existeDebito = true; // } else // // guias pagamento // if (obterDebitoImovelOuClienteHelper // .getColecaoGuiasPagamentoValores() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoGuiasPagamentoValores().isEmpty()) { // existeDebito = true; // } // // } // // // Se existir debito para o imovel // if (existeDebito) { // retorno[0] = "7"; // // return retorno; // } // // FiltroImovelEconomia filtroImovelEconomia = new FiltroImovelEconomia(); // filtroImovelEconomia.adicionarParametro(new ParametroSimples( // FiltroImovelEconomia.IMOVEL_ID, idImovel)); // // filtroImovelEconomia.adicionarCaminhoParaCarregamentoEntidade(FiltroImovelEconomia.); // // // Realiza uma pesquisa pelos parametros fornecidos // Collection colecaoImovelEconomia = getControladorUtil().pesquisar( // filtroImovelEconomia, ImovelEconomia.class.getName()); // // if (colecaoImovelEconomia != null && !colecaoImovelEconomia.isEmpty()) { // // ImovelEconomia imovelEconomia = (ImovelEconomia) colecaoImovelEconomia // .iterator().next(); // // FiltroClienteImovelEconomia filtroClienteImovelEconomia = new FiltroClienteImovelEconomia(); // filtroClienteImovelEconomia // .adicionarCaminhoParaCarregamentoEntidade(FiltroClienteImovelEconomia.CLIENTE); // // filtroClienteImovelEconomia // .adicionarParametro(new ParametroSimples( // FiltroClienteImovelEconomia.IMOVEL_ECONOMIA_ID, // imovelEconomia.getId())); // // filtroClienteImovelEconomia // .adicionarParametro(new ParametroSimples( // FiltroClienteImovelEconomia.CLIENTE_RELACAO_TIPO, // ClienteRelacaoTipo.USUARIO)); // // filtroClienteImovelEconomia.adicionarParametro(new ParametroNulo( // FiltroClienteImovelEconomia.DATA_FIM_RELACAO)); // // // Cole��o de Cliente_Imovel_Economia // Collection colecaoClienteImovelEconomias = getControladorUtil() // .pesquisar(filtroClienteImovelEconomia, // ClienteImovelEconomia.class.getName()); // // if (colecaoClienteImovelEconomias != null // && !colecaoClienteImovelEconomias.isEmpty()) { // // ClienteImovelEconomia clienteImovelEconomia = (ClienteImovelEconomia) colecaoClienteImovelEconomias // .iterator().next(); // cliente = clienteImovelEconomia.getCliente(); // obterDebitoImovelOuClienteHelper = getControladorCobranca() // .obterDebitoImovelOuCliente(2, null, // cliente.getId().toString(), null, "000101", // "999912", dataInicioVencimentoDebito.getTime(), // dataFimVencimentoDebito.getTime(), 1, 2, 2, 2, // 1, 1, 2, null); // // existeDebito = false; // if (obterDebitoImovelOuClienteHelper != null) { // // contas // if (obterDebitoImovelOuClienteHelper // .getColecaoContasValores() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoContasValores().isEmpty()) { // existeDebito = true; // } else // // credito a realizar // if (obterDebitoImovelOuClienteHelper // .getColecaoCreditoARealizar() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoCreditoARealizar().isEmpty()) { // existeDebito = true; // } else // // debito a cobrar // if (obterDebitoImovelOuClienteHelper // .getColecaoDebitoACobrar() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoDebitoACobrar().isEmpty()) { // existeDebito = true; // } else // // guias pagamento // if (obterDebitoImovelOuClienteHelper // .getColecaoGuiasPagamentoValores() != null // && !obterDebitoImovelOuClienteHelper // .getColecaoGuiasPagamentoValores() // .isEmpty()) { // existeDebito = true; // } // } // // // Se existir debito para o imovel // if (existeDebito) { // retorno[0] = "7"; // // return retorno; // } // } // } // caso n�o ocorra nenhum situa��o retorno[0] = "-1"; return retorno; } /** * Atualiza um cliente no sistema * * @param tarifaSocialCartaoTipo * Descri��o do par�metro * @throws ControladorException */ public void atualizarTarifaSocialCartaoTipo( TarifaSocialCartaoTipo tarifaSocialCartaoTipo) throws ControladorException { // Cria o filtro FiltroTarifaSocialCartaoTipo filtroTarifaSocialCartaoTipo = new FiltroTarifaSocialCartaoTipo(); // -------------Parte que atualiza um bairro na // base---------------------- // Parte de Validacao com Timestamp // Seta o filtro para buscar o cliente na base filtroTarifaSocialCartaoTipo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialCartaoTipo.ID, tarifaSocialCartaoTipo .getId())); // Procura o filtro na base TarifaSocialCartaoTipo tarifaSocialCartaoTipoNaBase = (TarifaSocialCartaoTipo) ((List) (getControladorUtil() .pesquisar(filtroTarifaSocialCartaoTipo, TarifaSocialCartaoTipo.class.getName()))).get(0); // Verificar se o cliente j� foi atualizado por outro usu�rio // durante // esta atualiza��o if (tarifaSocialCartaoTipoNaBase.getUltimaAlteracao().after( tarifaSocialCartaoTipo.getUltimaAlteracao())) { sessionContext.setRollbackOnly(); throw new ControladorException("atencao.atualizacao.timestamp"); } // Atualiza a data de �ltima altera��o tarifaSocialCartaoTipo.setUltimaAlteracao(new Date()); // Atualiza o cliente getControladorUtil().atualizar(tarifaSocialCartaoTipo); // -------------Fim da parte que atualiza um cliente na // base--------------- } /** * Atualiza um tarifaSocialDadoEconomia * * @param tarifaSocialDadoEconomia * Descri��o do par�metro * @throws ControladorException */ public void atualizarTarifaSocialDadoEconomia( TarifaSocialDadoEconomia tarifaSocialDadoEconomia) throws ControladorException { // Cria o filtro FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); // -------------Parte que atualiza um bairro na // base---------------------- // Parte de Validacao com Timestamp // Seta o filtro para buscar o cliente na base filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.ID, tarifaSocialDadoEconomia .getId())); // Procura o filtro na base TarifaSocialDadoEconomia tarifaSocialDadoEconomiaNaBase = (TarifaSocialDadoEconomia) ((List) (getControladorUtil() .pesquisar(filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()))).get(0); // Verificar se o registro j� foi atualizado por outro usu�rio // durante // esta atualiza��o if (tarifaSocialDadoEconomiaNaBase.getUltimaAlteracao().after( tarifaSocialDadoEconomia.getUltimaAlteracao())) { throw new ControladorException("atencao.atualizacao.timestamp"); } // Atualiza a data de �ltima altera��o tarifaSocialDadoEconomia.setUltimaAlteracao(new Date()); // Atualiza o cliente getControladorUtil().atualizar(tarifaSocialDadoEconomia); // -------------Fim da parte que atualiza um cliente na // base--------------- } /** * Verificar o preenchimento dos campos para uma economia * * @param clienteImovel * Descri��o do par�metro * @param numeroCartaoSocial * Descri��o do par�metro * @param dataValidadeCartaoSocial * Descri��o do par�metro * @param numeroParcelasCartaoSocial * Descri��o do par�metro * @param valorRendaFamiliar * Descri��o do par�metro * @throws ControladorException */ public String[] verificarPreenchimentoInserirDadosTarifaSocial( Long numeroCelpe, BigDecimal areaConstruida, String numeroIPTU, Integer idImovel, String numeroCartaoSocial, String dataValidadeCartaoSocial, String numeroParcelasCartaoSocial, Integer consumoMedio, BigDecimal valorRendaFamiliar, String tarifaSocialCartaoTipo, String tipoRenda) throws ControladorException { String[] retorno = new String[2]; /* * Long numeroCelpe = clienteImovel.getImovel().getNumeroCelpe(); * BigDecimal areaConstruida = * clienteImovel.getImovel().getAreaConstruida(); BigDecimal numeroIPTU = * clienteImovel.getImovel().getNumeroIptu(); Integer idImovel = * clienteImovel.getImovel().getId(); */ FiltroTarifaSocialCartaoTipo filtroTarifaSocialCartaoTipo = new FiltroTarifaSocialCartaoTipo(); boolean dadosCartaoSocialPreenchidos = false; // Verifica se o usu�rio deixou de informar os dados do Cart�o do // Programa Social if ((numeroCartaoSocial != null && !numeroCartaoSocial.trim() .equals("")) || (numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) || (dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) || (tarifaSocialCartaoTipo != null && !tarifaSocialCartaoTipo .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (numeroCartaoSocial == null || numeroCartaoSocial.trim().equals("")) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero"); } else if (tarifaSocialCartaoTipo == null || tarifaSocialCartaoTipo.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_cartao"); } else { filtroTarifaSocialCartaoTipo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialCartaoTipo.ID, tarifaSocialCartaoTipo)); Collection colecaoTarifaSocialCartaoTipo = getControladorUtil() .pesquisar(filtroTarifaSocialCartaoTipo, TarifaSocialCartaoTipo.class.getName()); TarifaSocialCartaoTipo objetoCartaTipo = null; if (Util.isVazioOrNulo(colecaoTarifaSocialCartaoTipo)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.pesquisa.tarifa_social.tipo_cartao.inexistente"); } objetoCartaTipo = (TarifaSocialCartaoTipo) Util .retonarObjetoDeColecao(colecaoTarifaSocialCartaoTipo); if ((dataValidadeCartaoSocial == null || dataValidadeCartaoSocial .trim().equals("")) && objetoCartaTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_SIM)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.data.validade"); } else if ((numeroParcelasCartaoSocial == null || numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaTipo.getNumeroMesesAdesao() != null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero.parcelas"); } else { dadosCartaoSocialPreenchidos = true; } } } // Verifica o preenchimento dos campos referentes a renda familiar if (dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() != 0 || (tipoRenda != null && !tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } } else { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } // ========================================================== // NOVA VERS�O // ========================================================== SistemaParametro sistemaParametro = getControladorUtil() .pesquisarParametrosDoSistema(); // Valor da Renda // Caso o valor da renda tenha sido informado e seja maior que um // sal�rio m�nimo if (valorRendaFamiliar.doubleValue() > sistemaParametro .getValorSalarioMinimo().doubleValue()) { retorno[0] = "10"; retorno[1] = Util.formatarMoedaReal(sistemaParametro .getValorSalarioMinimo()); return retorno; // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.tarifa_social.renda_familiar.maior.salario_minimo", // null, Util.formatarMoedaReal(sistemaParametro // .getValorSalarioMinimo())); } // [FS0015] - Verificar informa��o do n�mero do contrato da companhia // el�trica if (consumoMedio != null && consumoMedio != 0 && numeroCelpe == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero_contrato_celpe"); } // Consumo Energia /* * Caso o consumo m�dio de energia do im�vel ou da economia do im�vel * seja superior ao consumo m�dio de energia permitido para o * cadastramento na tarifa sociual */ if (consumoMedio != null && consumoMedio != 0 && consumoMedio > sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().intValue()) { retorno[0] = "11"; retorno[1] = sistemaParametro.getConsumoEnergiaMaximoTarifaSocial() + ""; return retorno; // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.valor.consumo_energia", // null, "" // + sistemaParametro // .getConsumoEnergiaMaximoTarifaSocial()); } // 1 - O usu�rio n�o informou os dados do cart�o do programa social if (!dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() == 0) { retorno[0] = "12"; retorno[1] = "" + sistemaParametro.getAreaMaximaTarifaSocial(); return retorno; // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.requisitos", null, "" // + sistemaParametro.getAreaMaximaTarifaSocial()); } // 2 - O valor da renda foi informado e o tipo � renda COMPROVADA else if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda))) { /* * 3 - O valor da renda foi informado e o tipo � renda DECLARADA * e existir a informa��o da �rea constru�da sendo menor ou * igual ao m�ximo permitido */ if (RendaTipo.DECLARADA.equals(new Integer(tipoRenda)) && (areaConstruida == null || areaConstruida.intValue() > sistemaParametro .getAreaMaximaTarifaSocial().intValue())) { // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.requisitos", null, // "" + sistemaParametro.getAreaMaximaTarifaSocial()); retorno[0] = "12"; retorno[1] = "" + sistemaParametro.getAreaMaximaTarifaSocial(); return retorno; } } /* * Caso o usu�rio n�o informe os dados do cart�o do programa social, * o tipo de renda n�o corresponda a renda comprovada e n�o existam * as informa��es n�mero do IPTU e n�o exista uma ordem de servi�o * de vistoria associado ao RA de cadastramentona tarifa social para * o im�vel */ if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda)) && numeroIPTU == null) { // Collection colecaoOS = null; // // try { // // colecaoOS = repositorioImovelTarifaSocial // .verificarOSVistoriaImovel(idImovel); // // } catch (ErroRepositorioException ex) { // sessionContext.setRollbackOnly(); // throw new ControladorException("erro.sistema", ex); // } // // if (colecaoOS == null || colecaoOS.isEmpty()) { // // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.valor.numero_celpe"); // // } } } else { // [FS0014] - Verificar duplicidade do cart�o do programa social Long numeroCartaoProgramaSocial = new Long(numeroCartaoSocial); TarifaSocialCartaoTipo objetoTarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); objetoTarifaSocialCartaoTipo.setId(new Integer( tarifaSocialCartaoTipo)); this.verificarDuplicidadeCartaoProgramaSocial( numeroCartaoProgramaSocial, objetoTarifaSocialCartaoTipo, idImovel); } retorno[0] = "9"; retorno[1] = ""; return retorno; // ========================================================== // FIM NOVA VERS�O // ========================================================== } /** * Verificar o preenchimento dos campos para uma economia * * @param clienteImovel * Descri��o do par�metro * @param numeroCartaoSocial * Descri��o do par�metro * @param dataValidadeCartaoSocial * Descri��o do par�metro * @param numeroParcelasCartaoSocial * Descri��o do par�metro * @param valorRendaFamiliar * Descri��o do par�metro * @throws ControladorException */ public String[] verificarPreenchimentoInserirDadosTarifaSocialMultiplas( Long numeroCelpe, BigDecimal areaConstruida, String numeroIPTU, Integer idImovelEconomia, String numeroCartaoSocial, String dataValidadeCartaoSocial, String numeroParcelasCartaoSocial, Integer consumoMedio, BigDecimal valorRendaFamiliar, String tarifaSocialCartaoTipo, String tipoRenda) throws ControladorException { String[] retorno = new String[2]; FiltroTarifaSocialCartaoTipo filtroTarifaSocialCartaoTipo = new FiltroTarifaSocialCartaoTipo(); boolean dadosCartaoSocialPreenchidos = false; // Verifica se o usu�rio deixou de informar os dados do Cart�o do // Programa Social if ((numeroCartaoSocial != null && !numeroCartaoSocial.trim() .equals("")) || (numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) || (dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) || (tarifaSocialCartaoTipo != null && !tarifaSocialCartaoTipo .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (numeroCartaoSocial == null || numeroCartaoSocial.trim().equals("")) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero"); } else if (tarifaSocialCartaoTipo == null || tarifaSocialCartaoTipo.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_cartao"); } else { filtroTarifaSocialCartaoTipo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialCartaoTipo.ID, tarifaSocialCartaoTipo)); Collection colecaoTarifaSocialCartaoTipo = getControladorUtil() .pesquisar(filtroTarifaSocialCartaoTipo, TarifaSocialCartaoTipo.class.getName()); TarifaSocialCartaoTipo objetoCartaTipo = null; if (Util.isVazioOrNulo(colecaoTarifaSocialCartaoTipo)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.pesquisa.tarifa_social.tipo_cartao.inexistente"); } objetoCartaTipo = (TarifaSocialCartaoTipo) Util .retonarObjetoDeColecao(colecaoTarifaSocialCartaoTipo); if ((dataValidadeCartaoSocial == null || dataValidadeCartaoSocial .trim().equals("")) && objetoCartaTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_SIM)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.data.validade"); } else if ((numeroParcelasCartaoSocial == null || numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaTipo.getNumeroMesesAdesao() != null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero.parcelas"); } else { dadosCartaoSocialPreenchidos = true; } } } // Verifica o preenchimento dos campos referentes a renda familiar if (dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() != 0 || (tipoRenda != null && !tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } } else { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } // ========================================================== // NOVA VERS�O // ========================================================== SistemaParametro sistemaParametro = getControladorUtil() .pesquisarParametrosDoSistema(); // Valor da Renda // Caso o valor da renda tenha sido informado e seja maior que um // sal�rio m�nimo if (valorRendaFamiliar.doubleValue() > sistemaParametro .getValorSalarioMinimo().doubleValue()) { retorno[0] = "10"; retorno[1] = Util.formatarMoedaReal(sistemaParametro .getValorSalarioMinimo()); return retorno; } // [FS0015] - Verificar informa��o do n�mero do contrato da companhia // el�trica if (consumoMedio != null && consumoMedio != 0 && numeroCelpe == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero_contrato_celpe"); } // Consumo Energia /* * Caso o consumo m�dio de energia do im�vel ou da economia do im�vel * seja superior ao consumo m�dio de energia permitido para o * cadastramento na tarifa sociual */ if (consumoMedio != null && consumoMedio != 0 && consumoMedio > sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().intValue()) { retorno[0] = "11"; retorno[1] = sistemaParametro.getConsumoEnergiaMaximoTarifaSocial() + ""; return retorno; } // 1 - O usu�rio n�o informou os dados do cart�o do programa social if (!dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() == 0) { retorno[0] = "12"; retorno[1] = "" + sistemaParametro.getAreaMaximaTarifaSocial(); return retorno; } // 2 - O valor da renda foi informado e o tipo � renda COMPROVADA else if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda))) { /* * 3 - O valor da renda foi informado e o tipo � renda DECLARADA * e existir a informa��o da �rea constru�da sendo menor ou * igual ao m�ximo permitido */ if (RendaTipo.DECLARADA.equals(new Integer(tipoRenda)) && (areaConstruida == null || areaConstruida.intValue() > sistemaParametro .getAreaMaximaTarifaSocial().intValue())) { retorno[0] = "12"; retorno[1] = "" + sistemaParametro.getAreaMaximaTarifaSocial(); return retorno; } } /* * Caso o usu�rio n�o informe os dados do cart�o do programa social, * o tipo de renda n�o corresponda a renda comprovada e n�o existam * as informa��es n�mero do IPTU e n�o exista uma ordem de servi�o * de vistoria associado ao RA de cadastramentona tarifa social para * o im�vel */ if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda)) && numeroIPTU == null) { // Collection colecaoOS = null; // // try { // // colecaoOS = repositorioImovelTarifaSocial // .verificarOSVistoriaImovelEconomia(idImovelEconomia); // // } catch (ErroRepositorioException ex) { // sessionContext.setRollbackOnly(); // throw new ControladorException("erro.sistema", ex); // } // // if (colecaoOS == null || colecaoOS.isEmpty()) { // // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.valor.numero_celpe"); // // } } } else { // [FS0014] - Verificar duplicidade do cart�o do programa social Long numeroCartaoProgramaSocial = new Long(numeroCartaoSocial); TarifaSocialCartaoTipo objetoTarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); objetoTarifaSocialCartaoTipo.setId(new Integer( tarifaSocialCartaoTipo)); this.verificarDuplicidadeCartaoProgramaSocialImovelEconomia( numeroCartaoProgramaSocial, objetoTarifaSocialCartaoTipo, idImovelEconomia); } retorno[0] = "9"; retorno[1] = ""; return retorno; } /** * [UC0054] - Inserir Dados Tarifa Social [FS0014] - Verificar duplicidade * do cart�o do programa social * * @param numeroCartao * @throws ControladorException */ public void verificarDuplicidadeCartaoProgramaSocial(Long numeroCartao, TarifaSocialCartaoTipo tipoCartao, Integer idImovel) throws ControladorException { FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia .adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.NUMERO_CARTAO_PROGRAMA_SOCIAL, numeroCartao)); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.TARIFA_SOCIAL_CARTAO_TIPO_ID, tipoCartao.getId())); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroNulo( FiltroTarifaSocialDadoEconomia.DATA_EXCLUSAO)); filtroTarifaSocialDadoEconomia .adicionarParametro(new ParametroSimplesDiferenteDe( FiltroTarifaSocialDadoEconomia.IMOVEL_ID, idImovel, ConectorOr.CONECTOR_OR, 2)); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroNulo( FiltroTarifaSocialDadoEconomia.IMOVEL_ID)); Collection colecaoPesquisa = this.getControladorUtil().pesquisar( filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { TarifaSocialDadoEconomia resgatarImovel = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoPesquisa); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.numero_cartao_programa_social.existente", null, "" + resgatarImovel.getImovel().getId()); } } /** * [UC0054] - Inserir Dados Tarifa Social [FS0014] - Verificar duplicidade * do cart�o do programa social * * @param numeroCartao * @throws ControladorException */ public void verificarDuplicidadeCartaoProgramaSocialImovelEconomia( Long numeroCartao, TarifaSocialCartaoTipo tipoCartao, Integer idImovelEconomia) throws ControladorException { FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia .adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.NUMERO_CARTAO_PROGRAMA_SOCIAL, numeroCartao)); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.TARIFA_SOCIAL_CARTAO_TIPO_ID, tipoCartao.getId())); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroNulo( FiltroTarifaSocialDadoEconomia.DATA_EXCLUSAO)); filtroTarifaSocialDadoEconomia .adicionarParametro(new ParametroSimplesDiferenteDe( FiltroTarifaSocialDadoEconomia.IMOVEL_ECONOMIA_ID, idImovelEconomia.intValue(), ConectorOr.CONECTOR_OR, 2)); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroNulo( FiltroTarifaSocialDadoEconomia.IMOVEL_ECONOMIA_ID)); Collection colecaoPesquisa = this.getControladorUtil().pesquisar( filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()); if (colecaoPesquisa != null && !colecaoPesquisa.isEmpty()) { TarifaSocialDadoEconomia resgatarImovel = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoPesquisa); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.numero_cartao_programa_social.existente", null, "" + resgatarImovel.getImovel().getId()); } } /** * Enquadra um imovel no regime de tarifa social * * @param imovel * Descri��o do par�metro * @param tarifaSocialDado * Descri��o do par�metro * @param tarifaSocialDadoEconomia * Descri��o do par�metro */ /* * public void inserirDadosTarifaSocialImovel( TarifaSocialDado * tarifaSocialDado, TarifaSocialDadoEconomia tarifaSocialDadoEconomia) * throws ControladorException { * * FiltroTarifaSocialDado filtroTarifaSocialDado = new * FiltroTarifaSocialDado(); * * filtroTarifaSocialDado.adicionarParametro(new ParametroSimples( * FiltroTarifaSocialDado.ID, tarifaSocialDado.getId())); * * Collection colecaoTarifaSocialDado = getControladorUtil().pesquisar( * filtroTarifaSocialDado, TarifaSocialDado.class.getName()); * * if (colecaoTarifaSocialDado == null || colecaoTarifaSocialDado.isEmpty()) { * getControladorUtil().inserir(tarifaSocialDado); } * * if (tarifaSocialDadoEconomia.getId() == null) { * getControladorUtil().inserir(tarifaSocialDadoEconomia); } } */ /** * Atualiza o perfil do im�vel para tarifa social * * @param imovel * @throws ControladorException */ public void atualizarImovelPerfilTarifaSocial(Imovel imovel) throws ControladorException { // Atualizar o Perfil do Imovel ImovelPerfil imovelPerfil = new ImovelPerfil(); imovelPerfil.setId(ImovelPerfil.TARIFA_SOCIAL); ConsumoTarifa consumoTarifa = new ConsumoTarifa(); consumoTarifa.setId(ConsumoTarifa.CONSUMO_SOCIAL); imovel.setImovelPerfil(imovelPerfil); imovel.setConsumoTarifa(consumoTarifa); getControladorAtualizacaoCadastro().atualizar(imovel); } /** * Atualiza o enquadramento de um imovel no regime de tarifa social * * @param imovel * Descri��o do par�metro * @param tarifaSocialDado * Descri��o do par�metro * @param tarifaSocialDadoEconomia * Descri��o do par�metro */ public void atualizarDadosTarifaSocialImovel( TarifaSocialDadoEconomia tarifaSocialDadoEconomia) throws ControladorException { // Atualizar a tarifaSocialDadoEconomia getControladorUtil().atualizar(tarifaSocialDadoEconomia); } public Collection pesquisarTarifaSocialDadoEconomia( FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia) throws ControladorException { Collection tarifasocialDadoEconomeia = getControladorUtil().pesquisar( filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getSimpleName()); /* * if (!tarifasocialDadoEconomeia.isEmpty()) { Iterator it = * tarifasocialDadoEconomeia.iterator(); TarifaSocialDadoEconomia tarifa = * (TarifaSocialDadoEconomia) it.next(); * * System.out.print('r'); FiltroClienteImovel filtroClienteImovel = new * FiltroClienteImovel(); filtroClienteImovel.adicionarParametro(new * ParametroSimples(FiltroClienteImovel.IMOVEL_ID,tarifa.getTarifaSocialDado().getId())); * Collection clienteImovel = * Fachada.getInstancia().pesquisarClienteImovel(filtroClienteImovel); } */ return tarifasocialDadoEconomeia; } public void removerImovelTarfiaSocial(Integer idImovel, Integer idMotivoTarifaSocial) throws ControladorException { FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel.adicionarParametro(new ParametroSimples(FiltroImovel.ID, idImovel)); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("tarifaSocialDado"); Collection coll = Fachada.getInstancia().pesquisar(filtroImovel, Imovel.class.getName()); Imovel imovel = null; if (coll != null && !coll.isEmpty()) { imovel = (Imovel) coll.iterator().next(); imovel.getImovelPerfil().setId(ImovelPerfil.NORMAL); getControladorAtualizacaoCadastro().atualizar(imovel); TarifaSocialExclusaoMotivo tarifaSocialExclusaoMotivo = new TarifaSocialExclusaoMotivo(); tarifaSocialExclusaoMotivo.setId(idMotivoTarifaSocial); } } public Collection pesquisarImovelTarfiaSocial(FiltroClienteImovel filtroClienteImovel, Integer numeroPagina) throws ControladorException { try { return repositorioImovelTarifaSocial.pesquisarImovelTarfiaSocial(filtroClienteImovel, numeroPagina); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", ex); } } public int pesquisarQuantidadeImovelTarfiaSocial(FiltroClienteImovel filtroClienteImovel) throws ControladorException { try { return repositorioImovelTarifaSocial.pesquisarQuantidadeImovelTarfiaSocial(filtroClienteImovel); } catch (ErroRepositorioException ex) { sessionContext.setRollbackOnly(); throw new ControladorException("erro.sistema", ex); } } public Collection pesquisarTarifaSocialDadoEconomia(Integer idImovel)throws ControladorException { try { return repositorioImovelTarifaSocial.pesquisarTarifaSocialDadoEconomia(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Pesquisa as Tarifas Sociais Dado Economia pelo id do Im�vel carregando a * Tarifa Social Revisao Motivo * * Autor: Rafael Corr�a * * Data: 27/12/2006 */ public Collection pesquisarTarifaSocialDadoEconomiaImovelEconomia( Integer idImovelEconomia) throws ControladorException { try { return repositorioImovelTarifaSocial .pesquisarTarifaSocialDadoEconomiaImovelEconomia(idImovelEconomia); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Verifica se o cliente usu�rio do im�vel j� est� relacionado em outro * im�vel na tarifa social * * Autor: Rafael Corr�a * * Data: 02/01/2007 */ public Collection verificarClienteCadastradoTarifaSocial(Integer idCliente) throws ControladorException { Collection colecaoImovel = new ArrayList(); Collection colecaoIdsImovel = null; try { colecaoIdsImovel = repositorioImovelTarifaSocial .verificarClienteCadastradoTarifaSocial(idCliente); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoIdsImovel != null && !colecaoIdsImovel.isEmpty()) { Iterator colecaoIdsImovelIterator = colecaoIdsImovel.iterator(); while (colecaoIdsImovelIterator.hasNext()) { Integer idImovel = (Integer) colecaoIdsImovelIterator.next(); Imovel imovel = new Imovel(); imovel.setId(idImovel); colecaoImovel.add(imovel); } } return colecaoImovel; } /** * [UC0009] - Manter Cliente * * Verifica se o cliente usu�rio est� na tarifa social * * Autor: Rafael Corr�a * * Data: 16/02/2007 */ public Collection verificarClienteUsuarioCadastradoTarifaSocial( Integer idCliente) throws ControladorException { Collection colecaoImovel = new ArrayList(); Collection colecaoIdsImovel = null; try { colecaoIdsImovel = repositorioImovelTarifaSocial .verificarClienteUsuarioCadastradoTarifaSocial(idCliente); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoIdsImovel != null && !colecaoIdsImovel.isEmpty()) { Iterator colecaoIdsImovelIterator = colecaoIdsImovel.iterator(); while (colecaoIdsImovelIterator.hasNext()) { Integer idImovel = (Integer) colecaoIdsImovelIterator.next(); Imovel imovel = new Imovel(); imovel.setId(idImovel); colecaoImovel.add(imovel); } } return colecaoImovel; } /** * [UC0069] - Manter Dados Tarifa Social * * Verifica se o cliente usu�rio do im�vel j� est� relacionado em outro * im�vel na tarifa social * * Autor: Rafael Corr�a * * Data: 30/01/2007 */ public Collection verificarClienteCadastradoManterTarifaSocialUmaEconomia( Integer idCliente, Integer idImovel) throws ControladorException { Collection colecaoImovel = new ArrayList(); Collection colecaoIdsImovel = null; try { colecaoIdsImovel = repositorioImovelTarifaSocial .verificarClienteCadastradoManterTarifaSocialUmaEconomia( idCliente, idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoIdsImovel != null && !colecaoIdsImovel.isEmpty()) { Iterator colecaoIdsImovelIterator = colecaoIdsImovel.iterator(); while (colecaoIdsImovelIterator.hasNext()) { Integer idImovelPesquisado = (Integer) colecaoIdsImovelIterator .next(); Imovel imovel = new Imovel(); imovel.setId(idImovelPesquisado); colecaoImovel.add(imovel); } } return colecaoImovel; } /** * [UC0069] - Manter Dados Tarifa Social * * Verifica se o cliente usu�rio da economia do im�vel j� est� relacionado * em outro im�vel na tarifa social * * Autor: Rafael Corr�a * * Data: 30/01/2007 */ public Collection verificarClienteCadastradoManterTarifaSocialMultiplasEconomias( Integer idCliente, Integer idImovelEconomia) throws ControladorException { Collection colecaoImovel = new ArrayList(); Collection colecaoIdsImovel = null; try { colecaoIdsImovel = repositorioImovelTarifaSocial .verificarClienteCadastradoManterTarifaSocialMultiplasEconomias( idCliente, idImovelEconomia); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoIdsImovel != null && !colecaoIdsImovel.isEmpty()) { Iterator colecaoIdsImovelIterator = colecaoIdsImovel.iterator(); while (colecaoIdsImovelIterator.hasNext()) { Integer idImovelPesquisado = (Integer) colecaoIdsImovelIterator .next(); Imovel imovel = new Imovel(); imovel.setId(idImovelPesquisado); colecaoImovel.add(imovel); } } return colecaoImovel; } /** * [UC0054] - Inserir Dados Tarifa Social * * Verifica se o mesmo cliente est� vinculado a mais de uma economia como * usu�rio * * Autor: Rafael Corr�a * * Data: 03/01/2007 */ public int pesquisarClienteImovelEconomiaCount(Integer idImovel, Integer idCliente) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarClienteImovelEconomiaCount(idImovel, idCliente); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Retorna os clientes usu�rios das economias do im�vel * * Autor: Rafael Corr�a * * Data: 03/01/2007 */ public Collection pesquisarClientesUsuariosImovelEconomia(Integer idImovel) throws ControladorException { Collection colecaoClientes = new ArrayList(); Collection colecaoDadosClientesImovelEconomia = null; try { colecaoDadosClientesImovelEconomia = repositorioImovelTarifaSocial .pesquisarClientesUsuariosImovelEconomia(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosClientesImovelEconomia != null && !colecaoDadosClientesImovelEconomia.isEmpty()) { Iterator colecaoDadosClientesImovelEconomiaIterator = colecaoDadosClientesImovelEconomia .iterator(); while (colecaoDadosClientesImovelEconomiaIterator.hasNext()) { Integer idCliente = (Integer) colecaoDadosClientesImovelEconomiaIterator .next(); Cliente cliente = new Cliente(); cliente.setId(idCliente); colecaoClientes.add(cliente); } } return colecaoClientes; } /** * [UC0054] - Inserir Dados Tarifa Social * * Verifica se o mesmo cliente est� vinculado a mais de uma economia como * usu�rio * * Autor: Rafael Corr�a * * Data: 03/01/2007 */ public int verificarExistenciaDebitosCliente(Integer idCliente) throws ControladorException { // data inicio vencimento debito Calendar dataInicioVencimentoDebito = new GregorianCalendar(); dataInicioVencimentoDebito.set(Calendar.YEAR, new Integer("0001") .intValue()); dataInicioVencimentoDebito.set(Calendar.MONTH, 0); dataInicioVencimentoDebito.set(Calendar.DATE, new Integer("01") .intValue()); // data final de vencimento de debito Calendar dataFimVencimentoDebito = new GregorianCalendar(); dataFimVencimentoDebito.add(Calendar.DATE, -45); ObterDebitoImovelOuClienteHelper obterDebitoImovelOuClienteHelper = getControladorCobranca() .obterDebitoImovelOuCliente(2, null, idCliente.toString(), null, "000101", "999912", dataInicioVencimentoDebito.getTime(), dataFimVencimentoDebito.getTime(), 1, 2, 2, 2, 1, 1, 2, null); boolean existeDebito = false; if (obterDebitoImovelOuClienteHelper != null) { // contas if (obterDebitoImovelOuClienteHelper.getColecaoContasValores() != null && !obterDebitoImovelOuClienteHelper .getColecaoContasValores().isEmpty()) { existeDebito = true; } else // credito a realizar if (obterDebitoImovelOuClienteHelper.getColecaoCreditoARealizar() != null && !obterDebitoImovelOuClienteHelper .getColecaoCreditoARealizar().isEmpty()) { existeDebito = true; } else // debito a cobrar if (obterDebitoImovelOuClienteHelper.getColecaoDebitoACobrar() != null && !obterDebitoImovelOuClienteHelper .getColecaoDebitoACobrar().isEmpty()) { existeDebito = true; } else // guias pagamento if (obterDebitoImovelOuClienteHelper .getColecaoGuiasPagamentoValores() != null && !obterDebitoImovelOuClienteHelper .getColecaoGuiasPagamentoValores().isEmpty()) { existeDebito = true; } } // Se existir debito para o imovel if (existeDebito) { return 7; } return -1; } /** * [UC0054] - Inserir Dados Tarifa Social * * Verifica se o cliente usu�rio est� vinculado na tarifa social a outro * im�vel ou economia com motivo de revis�o que permita recadastramento * * Autor: Rafael Corr�a * * Data: 04/01/2007 */ public Collection pesquisarClientesUsuarioExistenteTarifaSocial( Integer idCliente) throws ControladorException { Collection colecaoTarifaSocialDadoEconomia = new ArrayList(); Collection colecaoDadosTarifaSocialDadoEconomia = null; try { colecaoDadosTarifaSocialDadoEconomia = repositorioImovelTarifaSocial .pesquisarClientesUsuarioExistenteTarifaSocial(idCliente); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosTarifaSocialDadoEconomia != null && !colecaoDadosTarifaSocialDadoEconomia.isEmpty()) { Iterator colecaoDadosTarifaSocialDadoEconomiaIterator = colecaoDadosTarifaSocialDadoEconomia .iterator(); while (colecaoDadosTarifaSocialDadoEconomiaIterator.hasNext()) { Object[] dadosTarifaSocial = (Object[]) colecaoDadosTarifaSocialDadoEconomiaIterator .next(); TarifaSocialDadoEconomia tarifaSocialDadoEconomia = new TarifaSocialDadoEconomia(); // Id do Im�vel if (dadosTarifaSocial[0] != null) { Imovel imovel = new Imovel(); imovel.setId((Integer) dadosTarifaSocial[0]); tarifaSocialDadoEconomia.setImovel(imovel); } // Descri��o do Motivo da Revis�o da Tarifa Social if (dadosTarifaSocial[1] != null) { TarifaSocialRevisaoMotivo tarifaSocialRevisaoMotivo = new TarifaSocialRevisaoMotivo(); tarifaSocialRevisaoMotivo .setDescricao((String) dadosTarifaSocial[1]); tarifaSocialDadoEconomia .setTarifaSocialRevisaoMotivo(tarifaSocialRevisaoMotivo); } // Id da Tarifa Social Dado Economia if (dadosTarifaSocial[2] != null) { tarifaSocialDadoEconomia .setId((Integer) dadosTarifaSocial[2]); } // Id e Descri��o do Motivo de Exclus�o da Tarifa Social // if (dadosTarifaSocial[2] != null) { // TarifaSocialExclusaoMotivo tarifaSocialExclusaoMotivo = new // TarifaSocialExclusaoMotivo(); // tarifaSocialExclusaoMotivo.setId((Integer) // dadosTarifaSocial[2]); // tarifaSocialExclusaoMotivo.setDescricao((String) // dadosTarifaSocial[3]); // tarifaSocialDadoEconomia.setTarifaSocialExclusaoMotivo(tarifaSocialExclusaoMotivo); // } colecaoTarifaSocialDadoEconomia.add(tarifaSocialDadoEconomia); } } return colecaoTarifaSocialDadoEconomia; } /** * [UC0054] - Inserir Dados Tarifa Social * * Verificar se existe um motivo de exclus�o para o cliente que n�o permite * recadastramento na tarifa social * * Autor: Rafael Corr�a * * Data: 05/01/2007 */ public void verificarClienteMotivoExclusaoRecadastramento(Integer idCliente) throws ControladorException { Collection colecaoDadosExclusao = null; try { colecaoDadosExclusao = repositorioImovelTarifaSocial .verificarClienteMotivoExclusaoRecadastramento(idCliente); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosExclusao != null && !colecaoDadosExclusao.isEmpty()) { Iterator colecaoDadosExclusaoIterator = colecaoDadosExclusao .iterator(); while (colecaoDadosExclusaoIterator.hasNext()) { Short indicadorExclusaoPermiteRecadastramento = (Short) colecaoDadosExclusaoIterator .next(); if (indicadorExclusaoPermiteRecadastramento == 2) { throw new ControladorException( "atencao.motivo_exclusao_cliente_nao_permite_recadastramento"); } } } } /** * [UC0054] - Inserir Dados Tarifa Social * * Retorna os cliente a partir do id do clienteImovelEconomia * * Autor: Rafael Corr�a * * Data: 08/01/2007 */ public Integer pesquisarClienteImovelEconomia( Integer idClienteImovelEconomia) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarClienteImovelEconomia(idClienteImovelEconomia); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0069] - Manter Dados Tarifa Social * * Pesquisa os dados da tarifa social e do cliente usu�rio * * Autor: Rafael Corr�a * * Data: 15/01/2007 */ public Collection pesquisarDadosClienteTarifaSocial(Integer idImovel) throws ControladorException { Collection colecaoTarifaSocialHelper = new ArrayList(); Collection colecaoDadosTarifaSocial = null; try { colecaoDadosTarifaSocial = repositorioImovelTarifaSocial .pesquisarDadosClienteTarifaSocial(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosTarifaSocial != null && !colecaoDadosTarifaSocial.isEmpty()) { Iterator colecaoDadosTarifaSocialIterator = colecaoDadosTarifaSocial .iterator(); while (colecaoDadosTarifaSocialIterator.hasNext()) { Object[] dadosTarifaSocial = (Object[]) colecaoDadosTarifaSocialIterator .next(); TarifaSocialHelper tarifaSocialHelper = new TarifaSocialHelper(); ClienteImovel clienteImovel = new ClienteImovel(); TarifaSocialDadoEconomia tarifaSocialDadoEconomia = new TarifaSocialDadoEconomia(); Imovel imovel = new Imovel(); Cliente cliente = new Cliente(); TarifaSocialCartaoTipo tarifaSocialCartaoTipo = null; RendaTipo rendaTipo = null; // Id do Tarifa Social Dado Economia if (dadosTarifaSocial[0] != null) { tarifaSocialDadoEconomia .setId((Integer) dadosTarifaSocial[0]); } // Nome do Cliente if (dadosTarifaSocial[1] != null) { cliente.setNome((String) dadosTarifaSocial[1]); } // Complemento Endere�o if (dadosTarifaSocial[2] != null) { imovel .setComplementoEndereco((String) dadosTarifaSocial[2]); } // CPF if (dadosTarifaSocial[3] != null) { cliente.setCpf((String) dadosTarifaSocial[3]); } // RG if (dadosTarifaSocial[4] != null) { cliente.setRg((String) dadosTarifaSocial[4]); } // �rg�o Expedidor do RG if (dadosTarifaSocial[5] != null) { OrgaoExpedidorRg orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg .setDescricaoAbreviada((String) dadosTarifaSocial[5]); cliente.setOrgaoExpedidorRg(orgaoExpedidorRg); } // Unidade da Federa��o if (dadosTarifaSocial[6] != null) { UnidadeFederacao unidadeFederacao = new UnidadeFederacao(); unidadeFederacao.setSigla((String) dadosTarifaSocial[6]); cliente.setUnidadeFederacao(unidadeFederacao); } // N�mero do Cart�o do Programa Social if (dadosTarifaSocial[7] != null) { tarifaSocialDadoEconomia .setNumeroCartaoProgramaSocial((Long) dadosTarifaSocial[7]); } // Id do Tipo do Cart�o do Programa Social if (dadosTarifaSocial[8] != null) { tarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); tarifaSocialCartaoTipo .setId((Integer) dadosTarifaSocial[8]); } // Renda Familiar if (dadosTarifaSocial[9] != null) { tarifaSocialDadoEconomia .setValorRendaFamiliar((BigDecimal) dadosTarifaSocial[9]); } // Id do Tipo da Renda if (dadosTarifaSocial[10] != null) { rendaTipo = new RendaTipo(); rendaTipo.setId((Integer) dadosTarifaSocial[10]); } // Motivo de Exclus�o if (dadosTarifaSocial[11] != null) { TarifaSocialExclusaoMotivo tarifaSocialExclusaoMotivo = new TarifaSocialExclusaoMotivo(); tarifaSocialExclusaoMotivo .setId((Integer) dadosTarifaSocial[11]); tarifaSocialExclusaoMotivo .setDescricao((String) dadosTarifaSocial[32]); tarifaSocialDadoEconomia .setTarifaSocialExclusaoMotivo(tarifaSocialExclusaoMotivo); } // Descri�ao do Tipo do Cart�o do Programa Social if (dadosTarifaSocial[12] != null) { tarifaSocialCartaoTipo .setDescricao((String) dadosTarifaSocial[12]); } // Data de Validade do Cart�o if (dadosTarifaSocial[13] != null) { tarifaSocialDadoEconomia .setDataValidadeCartao((Date) dadosTarifaSocial[13]); } // N�mero de Parcelas if (dadosTarifaSocial[14] != null) { tarifaSocialDadoEconomia .setNumeroMesesAdesao((Short) dadosTarifaSocial[14]); } // N�mero do Contrato da Companhia El�trica if (dadosTarifaSocial[15] != null) { imovel.setNumeroCelpe((Long) dadosTarifaSocial[15]); } // Consumo M�dio if (dadosTarifaSocial[16] != null) { tarifaSocialDadoEconomia .setConsumoCelpe((Integer) dadosTarifaSocial[16]); } // N�mero do IPTU if (dadosTarifaSocial[17] != null) { imovel.setNumeroIptu((String) dadosTarifaSocial[17]); } // �rea Constru�da if (dadosTarifaSocial[18] != null) { imovel .setAreaConstruida((BigDecimal) dadosTarifaSocial[18]); } // �rea Constru�da Faixa if (dadosTarifaSocial[19] != null) { AreaConstruidaFaixa areaConstruidaFaixa = new AreaConstruidaFaixa(); areaConstruidaFaixa.setId((Integer) dadosTarifaSocial[19]); } // Descri��o do Tipo da Renda if (dadosTarifaSocial[20] != null) { rendaTipo.setDescricao((String) dadosTarifaSocial[20]); } // Motivo de Revis�o if (dadosTarifaSocial[21] != null) { TarifaSocialRevisaoMotivo tarifaSocialRevisaoMotivo = new TarifaSocialRevisaoMotivo(); tarifaSocialRevisaoMotivo .setId((Integer) dadosTarifaSocial[21]); tarifaSocialRevisaoMotivo .setDescricao((String) dadosTarifaSocial[33]); tarifaSocialDadoEconomia .setTarifaSocialRevisaoMotivo(tarifaSocialRevisaoMotivo); } // Id do Im�vel if (dadosTarifaSocial[22] != null) { imovel.setId((Integer) dadosTarifaSocial[22]); } // Id do Munic�pio if (dadosTarifaSocial[23] != null) { SetorComercial setorComercial = new SetorComercial(); Municipio municipio = new Municipio(); setorComercial.setId((Integer) dadosTarifaSocial[23]); municipio.setId((Integer) dadosTarifaSocial[24]); setorComercial.setMunicipio(municipio); imovel.setSetorComercial(setorComercial); } if (dadosTarifaSocial[25] != null) { Quadra quadra = new Quadra(); quadra.setId((Integer) dadosTarifaSocial[25]); imovel.setQuadra(quadra); } // Data de Exclus�o if (dadosTarifaSocial[26] != null) { tarifaSocialDadoEconomia .setDataExclusao((Date) dadosTarifaSocial[26]); } // Data de Implanta��o if (dadosTarifaSocial[27] != null) { tarifaSocialDadoEconomia .setDataImplantacao((Date) dadosTarifaSocial[27]); } // Data de Revis�o if (dadosTarifaSocial[28] != null) { tarifaSocialDadoEconomia .setDataRevisao((Date) dadosTarifaSocial[28]); } // Quantidade de Recadastramentos if (dadosTarifaSocial[29] != null) { tarifaSocialDadoEconomia .setQuantidadeRecadastramento((Short) dadosTarifaSocial[29]); } // Data do Recadastramento if (dadosTarifaSocial[30] != null) { tarifaSocialDadoEconomia .setDataRecadastramento((Date) dadosTarifaSocial[30]); } // N�mero de Moradores if (dadosTarifaSocial[31] != null) { imovel.setNumeroMorador((Short) dadosTarifaSocial[31]); } // �ltima Altera��o if (dadosTarifaSocial[34] != null) { tarifaSocialDadoEconomia .setUltimaAlteracao((Date) dadosTarifaSocial[34]); } clienteImovel.setImovel(imovel); clienteImovel.setCliente(cliente); tarifaSocialDadoEconomia .setTarifaSocialCartaoTipo(tarifaSocialCartaoTipo); tarifaSocialDadoEconomia.setImovel(imovel); tarifaSocialDadoEconomia.setRendaTipo(rendaTipo); tarifaSocialHelper .setTarifaSocialDadoEconomia(tarifaSocialDadoEconomia); tarifaSocialHelper.setClienteImovel(clienteImovel); colecaoTarifaSocialHelper.add(tarifaSocialHelper); } } return colecaoTarifaSocialHelper; } /** * [UC0069] - Manter Dados Tarifa Social * * Retorna a tarifa social a partir do seu id * * Autor: Rafael Corr�a * * Data: 16/01/2007 */ public TarifaSocialDadoEconomia pesquisarTarifaSocial(Integer idTarifaSocial) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarTarifaSocial(idTarifaSocial); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0069] - Manter Dados Tarifa Social * * Verifica se existe tarifa social para o im�vel que n�o tenha sido * exclu�do * * Autor: Rafael Corr�a * * Data: 16/01/2007 */ public Collection pesquisarTarifaSocialImovel(Integer idImovel) throws ControladorException { Collection colecaoTarifaSocial = new ArrayList(); Collection colecaoIdsTarifaSocial = null; try { colecaoIdsTarifaSocial = repositorioImovelTarifaSocial .pesquisarTarifaSocialImovel(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoIdsTarifaSocial != null && !colecaoIdsTarifaSocial.isEmpty()) { Iterator colecaoIdsTarifaSocialIterator = colecaoIdsTarifaSocial .iterator(); while (colecaoIdsTarifaSocialIterator.hasNext()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = new TarifaSocialDadoEconomia(); Integer idTarifaSocial = (Integer) colecaoIdsTarifaSocialIterator .next(); tarifaSocialDadoEconomia.setId(idTarifaSocial); colecaoTarifaSocial.add(tarifaSocialDadoEconomia); } } return colecaoTarifaSocial; } /** * [UC0069] - Manter Dados Tarifa Social * * [FS0008] - Verificar Preenchimento dos Campos * * Verificar o preenchimento dos campos para uma economia * * @date 18/01/2007 * @author Rafael Corr�a * @throws ControladorException * * @param clienteImovel * Descri��o do par�metro * @param numeroCartaoSocial * Descri��o do par�metro * @param dataValidadeCartaoSocial * Descri��o do par�metro * @param numeroParcelasCartaoSocial * Descri��o do par�metro * @param valorRendaFamiliar * Descri��o do par�metro * @throws ControladorException */ public void verificarPreenchimentoManterDadosTarifaSocial(Long numeroCelpe, BigDecimal areaConstruida, String numeroIPTU, Integer idImovel, String numeroCartaoSocial, String dataValidadeCartaoSocial, String numeroParcelasCartaoSocial, Integer consumoMedio, BigDecimal valorRendaFamiliar, String tarifaSocialCartaoTipo, String tipoRenda) throws ControladorException { FiltroTarifaSocialCartaoTipo filtroTarifaSocialCartaoTipo = new FiltroTarifaSocialCartaoTipo(); boolean dadosCartaoSocialPreenchidos = false; // Verifica se o usu�rio deixou de informar os dados do Cart�o do // Programa Social if ((numeroCartaoSocial != null && !numeroCartaoSocial.trim() .equals("")) || (numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) || (dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) || (tarifaSocialCartaoTipo != null && !tarifaSocialCartaoTipo .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (numeroCartaoSocial == null || numeroCartaoSocial.trim().equals("")) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero"); } else if (tarifaSocialCartaoTipo == null || tarifaSocialCartaoTipo.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_cartao"); } else { filtroTarifaSocialCartaoTipo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialCartaoTipo.ID, tarifaSocialCartaoTipo)); Collection colecaoTarifaSocialCartaoTipo = getControladorUtil() .pesquisar(filtroTarifaSocialCartaoTipo, TarifaSocialCartaoTipo.class.getName()); TarifaSocialCartaoTipo objetoCartaoTipo = null; if (Util.isVazioOrNulo(colecaoTarifaSocialCartaoTipo)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.pesquisa.tarifa_social.tipo_cartao.inexistente"); } objetoCartaoTipo = (TarifaSocialCartaoTipo) Util .retonarObjetoDeColecao(colecaoTarifaSocialCartaoTipo); // Informar Data de Validade if ((dataValidadeCartaoSocial == null || dataValidadeCartaoSocial .trim().equals("")) && objetoCartaoTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_SIM)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.data.validade"); } // Informar N�mero de Parcelas else if ((numeroParcelasCartaoSocial == null || numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() != null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero.parcelas"); } // N�mero de Parcelas maior que N�mero de Meses Ades�o else if ((numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() != null && new Integer(numeroParcelasCartaoSocial) .intValue() > objetoCartaoTipo .getNumeroMesesAdesao().intValue()) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.numero.parcelas.maior.que.numero.maximo.meses.adesao", null, objetoCartaoTipo.getNumeroMesesAdesao() .toString()); } // N�o Informar Data de Validade else if ((dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) && objetoCartaoTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_NAO)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.nao_preencher.tarifa_social.data.validade"); } // N�o Informar N�mero de Parcelas else if ((numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.nao_preencher.tarifa_social.numero.parcelas"); } else { dadosCartaoSocialPreenchidos = true; } } } // Verifica o preenchimento dos campos referentes a renda familiar if (!dadosCartaoSocialPreenchidos) { if ((valorRendaFamiliar == null || valorRendaFamiliar.intValue() == 0) || (tipoRenda != null && !tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (valorRendaFamiliar == null || valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } } SistemaParametro sistemaParametro = getControladorUtil() .pesquisarParametrosDoSistema(); // Valor da Renda // Caso o valor da renda tenha sido informado e seja maior que um // sal�rio m�nimo if (valorRendaFamiliar != null && valorRendaFamiliar.doubleValue() > sistemaParametro .getValorSalarioMinimo().doubleValue()) { String valorSalario = Util.formatarMoedaReal(sistemaParametro .getValorSalarioMinimo()); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.renda_familiar.maior.salario_minimo.sem.encerramento", null, valorSalario); } // [FS0015] - Verificar informa��o do n�mero do contrato da companhia // el�trica if (consumoMedio != null && consumoMedio != 0 && numeroCelpe == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero_contrato_celpe"); } // Consumo Energia /* * Caso o consumo m�dio de energia do im�vel ou da economia do im�vel * seja superior ao consumo m�dio de energia permitido para o * cadastramento na tarifa sociual */ if (consumoMedio != null && consumoMedio != 0 && consumoMedio > sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().intValue()) { String valorMaximoEnergia = sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().toString(); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor.consumo_energia.sem.encerramento", null, valorMaximoEnergia); } // 1 - O usu�rio n�o informou os dados do cart�o do programa social if (!dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.requisitos", null, sistemaParametro.getAreaMaximaTarifaSocial().toString()); } // 2 - O valor da renda foi informado e o tipo � renda COMPROVADA else if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda))) { /* * 3 - O valor da renda foi informado e o tipo � renda DECLARADA * e existir a informa��o da �rea constru�da sendo menor ou * igual ao m�ximo permitido */ if (RendaTipo.DECLARADA.equals(new Integer(tipoRenda)) && (areaConstruida == null || areaConstruida.intValue() > sistemaParametro .getAreaMaximaTarifaSocial().intValue())) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.requisitos_sem_encerramento", null, sistemaParametro.getAreaMaximaTarifaSocial() .toString()); } } /* * Caso o usu�rio n�o informe os dados do cart�o do programa social, * o tipo de renda n�o corresponda a renda comprovada e n�o existam * as informa��es n�mero do IPTU ou n�mero do contrato da companhia * de energia el�trica e n�o exista uma ordem de servi�o de vistoria * associado ao RA de cadastramentona tarifa social para o im�vel */ if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda)) && numeroCelpe == null && numeroIPTU == null) { // Collection colecaoOS = null; // // try { // // colecaoOS = repositorioImovelTarifaSocial // .verificarOSVistoriaImovel(idImovel); // // } catch (ErroRepositorioException ex) { // sessionContext.setRollbackOnly(); // throw new ControladorException("erro.sistema", ex); // } // // if (colecaoOS == null || colecaoOS.isEmpty()) { // // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.valor.numero_celpe"); // // } } } else { // [FS0014] - Verificar duplicidade do cart�o do programa social Long numeroCartaoProgramaSocial = new Long(numeroCartaoSocial); TarifaSocialCartaoTipo objetoTarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); objetoTarifaSocialCartaoTipo.setId(new Integer( tarifaSocialCartaoTipo)); this.verificarDuplicidadeCartaoProgramaSocial( numeroCartaoProgramaSocial, objetoTarifaSocialCartaoTipo, idImovel); } } /** * [UC0069] - Manter Dados Tarifa Social * * [FS0008] - Verificar Preenchimento dos Campos * * Verificar o preenchimento dos campos para m�ltiplas economias * * @date 18/01/2007 * @author Rafael Corr�a * @throws ControladorException * * @param clienteImovel * Descri��o do par�metro * @param numeroCartaoSocial * Descri��o do par�metro * @param dataValidadeCartaoSocial * Descri��o do par�metro * @param numeroParcelasCartaoSocial * Descri��o do par�metro * @param valorRendaFamiliar * Descri��o do par�metro * @throws ControladorException */ public void verificarPreenchimentoManterDadosTarifaSocialMultiplasEconomias( Long numeroCelpe, BigDecimal areaConstruida, String numeroIPTU, Integer idImovelEconomia, String numeroCartaoSocial, String dataValidadeCartaoSocial, String numeroParcelasCartaoSocial, Integer consumoMedio, BigDecimal valorRendaFamiliar, String tarifaSocialCartaoTipo, String tipoRenda) throws ControladorException { FiltroTarifaSocialCartaoTipo filtroTarifaSocialCartaoTipo = new FiltroTarifaSocialCartaoTipo(); boolean dadosCartaoSocialPreenchidos = false; // Verifica se o usu�rio deixou de informar os dados do Cart�o do // Programa Social if ((numeroCartaoSocial != null && !numeroCartaoSocial.trim() .equals("")) || (numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) || (dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) || (tarifaSocialCartaoTipo != null && !tarifaSocialCartaoTipo .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (numeroCartaoSocial == null || numeroCartaoSocial.trim().equals("")) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero"); } else if (tarifaSocialCartaoTipo == null || tarifaSocialCartaoTipo.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_cartao"); } else { filtroTarifaSocialCartaoTipo .adicionarParametro(new ParametroSimples( FiltroTarifaSocialCartaoTipo.ID, tarifaSocialCartaoTipo)); Collection colecaoTarifaSocialCartaoTipo = getControladorUtil() .pesquisar(filtroTarifaSocialCartaoTipo, TarifaSocialCartaoTipo.class.getName()); TarifaSocialCartaoTipo objetoCartaoTipo = null; if (Util.isVazioOrNulo(colecaoTarifaSocialCartaoTipo)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.pesquisa.tarifa_social.tipo_cartao.inexistente"); } objetoCartaoTipo = (TarifaSocialCartaoTipo) Util .retonarObjetoDeColecao(colecaoTarifaSocialCartaoTipo); // Informar Data de Validade if ((dataValidadeCartaoSocial == null || dataValidadeCartaoSocial .trim().equals("")) && objetoCartaoTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_SIM)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.data.validade"); } // Informar N�mero de Parcelas else if ((numeroParcelasCartaoSocial == null || numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() != null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero.parcelas"); } // N�mero de Parcelas maior que N�mero de Meses Ades�o else if ((numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() != null && new Integer(numeroParcelasCartaoSocial) .intValue() > objetoCartaoTipo .getNumeroMesesAdesao().intValue()) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.numero.parcelas.maior.que.numero.maximo.meses.adesao", null, objetoCartaoTipo.getNumeroMesesAdesao() .toString()); } // N�o Informar Data de Validade else if ((dataValidadeCartaoSocial != null && !dataValidadeCartaoSocial .trim().equals("")) && objetoCartaoTipo .getIndicadorValidade() .equals( TarifaSocialCartaoTipo.INDICADOR_EXISTENCIA_VALIDADE_NAO)) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.nao_preencher.tarifa_social.data.validade"); } // N�o Informar N�mero de Parcelas else if ((numeroParcelasCartaoSocial != null && !numeroParcelasCartaoSocial .trim().equals("")) && objetoCartaoTipo.getNumeroMesesAdesao() == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.nao_preencher.tarifa_social.numero.parcelas"); } else { dadosCartaoSocialPreenchidos = true; } } } // Verifica o preenchimento dos campos referentes a renda familiar if (!dadosCartaoSocialPreenchidos) { if ((valorRendaFamiliar == null || valorRendaFamiliar.intValue() == 0) || (tipoRenda != null && !tipoRenda.equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)))) { if (valorRendaFamiliar == null || valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor_renda_familiar"); } else if (tipoRenda == null || tipoRenda .equals(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.tipo_renda"); } } } SistemaParametro sistemaParametro = getControladorUtil() .pesquisarParametrosDoSistema(); // Valor da Renda // Caso o valor da renda tenha sido informado e seja maior que um // sal�rio m�nimo if (valorRendaFamiliar != null && valorRendaFamiliar.doubleValue() > sistemaParametro .getValorSalarioMinimo().doubleValue()) { String valorSalario = Util.formatarMoedaReal(sistemaParametro .getValorSalarioMinimo()); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.tarifa_social.renda_familiar.maior.salario_minimo.sem.encerramento", null, valorSalario); } // [FS0015] - Verificar informa��o do n�mero do contrato da companhia // el�trica if (consumoMedio != null && consumoMedio != 0 && numeroCelpe == null) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.numero_contrato_celpe"); } // Consumo Energia /* * Caso o consumo m�dio de energia do im�vel ou da economia do im�vel * seja superior ao consumo m�dio de energia permitido para o * cadastramento na tarifa sociual */ if (consumoMedio != null && consumoMedio != 0 && consumoMedio > sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().intValue()) { String valorMaximoEnergia = sistemaParametro .getConsumoEnergiaMaximoTarifaSocial().toString(); sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.valor.consumo_energia.sem.encerramento", null, valorMaximoEnergia); } // 1 - O usu�rio n�o informou os dados do cart�o do programa social if (!dadosCartaoSocialPreenchidos) { if (valorRendaFamiliar.intValue() == 0) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.requisitos", null, sistemaParametro.getAreaMaximaTarifaSocial().toString()); } // 2 - O valor da renda foi informado e o tipo � renda COMPROVADA else if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda))) { /* * 3 - O valor da renda foi informado e o tipo � renda DECLARADA * e existir a informa��o da �rea constru�da sendo menor ou * igual ao m�ximo permitido */ if (RendaTipo.DECLARADA.equals(new Integer(tipoRenda)) && (areaConstruida == null || areaConstruida.intValue() > sistemaParametro .getAreaMaximaTarifaSocial().intValue())) { sessionContext.setRollbackOnly(); throw new ControladorException( "atencao.preencher.tarifa_social.requisitos_sem_encerramento", null, sistemaParametro.getAreaMaximaTarifaSocial() .toString()); } } /* * Caso o usu�rio n�o informe os dados do cart�o do programa social, * o tipo de renda n�o corresponda a renda comprovada e n�o existam * as informa��es n�mero do IPTU e n�o exista uma ordem de servi�o * de vistoria associado ao RA de cadastramentona tarifa social para * o im�vel */ if (!RendaTipo.COMPROVADA.equals(new Integer(tipoRenda)) && numeroIPTU == null) { // Collection colecaoOS = null; // // try { // // colecaoOS = repositorioImovelTarifaSocial // .verificarOSVistoriaImovelEconomia(idImovelEconomia); // // } catch (ErroRepositorioException ex) { // sessionContext.setRollbackOnly(); // throw new ControladorException("erro.sistema", ex); // } // // if (colecaoOS == null || colecaoOS.isEmpty()) { // // sessionContext.setRollbackOnly(); // throw new ControladorException( // "atencao.preencher.tarifa_social.valor.numero_celpe"); // // } } } else { // [FS0014] - Verificar duplicidade do cart�o do programa social Long numeroCartaoProgramaSocial = new Long(numeroCartaoSocial); TarifaSocialCartaoTipo objetoTarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); objetoTarifaSocialCartaoTipo.setId(new Integer( tarifaSocialCartaoTipo)); this.verificarDuplicidadeCartaoProgramaSocialImovelEconomia( numeroCartaoProgramaSocial, objetoTarifaSocialCartaoTipo, idImovelEconomia); } } /** * [UC0069] - Manter Dados Tarifa Social * * Retorna os clientes do im�vel * * Autor: Rafael Corr�a * * Data: 19/01/2007 */ public Collection pesquisarClientesImovelTarifaSocial(Integer idImovel) throws ControladorException { Collection colecaoClienteImovel = new ArrayList(); Collection colecaoDadosClienteImovel = null; try { colecaoDadosClienteImovel = repositorioImovelTarifaSocial .pesquisarClientesImovelTarifaSocial(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosClienteImovel != null && !colecaoDadosClienteImovel.isEmpty()) { Iterator colecaoDadosClienteImovelIterator = colecaoDadosClienteImovel .iterator(); while (colecaoDadosClienteImovelIterator.hasNext()) { Object[] dadosClienteImovel = (Object[]) colecaoDadosClienteImovelIterator .next(); ClienteImovel clienteImovel = new ClienteImovel(); Imovel imovel = new Imovel(); Cliente cliente = new Cliente(); ClienteRelacaoTipo clienteRelacaoTipo = new ClienteRelacaoTipo(); // Id do Cliente if (dadosClienteImovel[0] != null) { cliente.setId((Integer) dadosClienteImovel[0]); } // Nome do Cliente if (dadosClienteImovel[1] != null) { cliente.setNome((String) dadosClienteImovel[1]); } // Id do Tipo da Rela��o if (dadosClienteImovel[2] != null) { clienteRelacaoTipo.setId((Integer) dadosClienteImovel[2]); } // Descri��o do Tipo da Rela��o if (dadosClienteImovel[3] != null) { clienteRelacaoTipo .setDescricao((String) dadosClienteImovel[3]); } // CPF if (dadosClienteImovel[4] != null) { cliente.setCpf((String) dadosClienteImovel[4]); } // RG if (dadosClienteImovel[5] != null) { cliente.setRg((String) dadosClienteImovel[5]); } // �rg�o Expedidor do RG if (dadosClienteImovel[6] != null) { OrgaoExpedidorRg orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg .setDescricaoAbreviada((String) dadosClienteImovel[6]); cliente.setOrgaoExpedidorRg(orgaoExpedidorRg); } // Unidade da Federa��o if (dadosClienteImovel[7] != null) { UnidadeFederacao unidadeFederacao = new UnidadeFederacao(); unidadeFederacao.setSigla((String) dadosClienteImovel[7]); cliente.setUnidadeFederacao(unidadeFederacao); } // Data de In�cio da Rela��o if (dadosClienteImovel[8] != null) { clienteImovel .setDataInicioRelacao((Date) dadosClienteImovel[8]); } // Id do Cliente Im�vel if (dadosClienteImovel[9] != null) { clienteImovel.setId((Integer) dadosClienteImovel[9]); } // CNPJ do Cliente if (dadosClienteImovel[10] != null) { cliente.setCnpj((String) dadosClienteImovel[10]); } imovel.setId(idImovel); clienteImovel.setImovel(imovel); clienteImovel.setCliente(cliente); clienteImovel.setClienteRelacaoTipo(clienteRelacaoTipo); colecaoClienteImovel.add(clienteImovel); } } return colecaoClienteImovel; } /** * [UC0069] - Manter Dados Tarifa Social * * Retorna os clientes do im�vel * * Autor: Rafael Corr�a * * Data: 19/01/2007 */ public Collection pesquisarClientesImovelEconomiaTarifaSocial( Integer idImovelEconomia) throws ControladorException { Collection colecaoClienteImovelEconomia = new ArrayList(); Collection colecaoDadosClienteImovelEconomia = null; try { colecaoDadosClienteImovelEconomia = repositorioImovelTarifaSocial .pesquisarClientesImovelEconomiaTarifaSocial(idImovelEconomia); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosClienteImovelEconomia != null && !colecaoDadosClienteImovelEconomia.isEmpty()) { Iterator colecaoDadosClienteImovelEconomiaIterator = colecaoDadosClienteImovelEconomia .iterator(); while (colecaoDadosClienteImovelEconomiaIterator.hasNext()) { Object[] dadosClienteImovelEconomia = (Object[]) colecaoDadosClienteImovelEconomiaIterator .next(); ClienteImovelEconomia clienteImovelEconomia = new ClienteImovelEconomia(); ImovelEconomia imovelEconomia = new ImovelEconomia(); Cliente cliente = new Cliente(); ClienteRelacaoTipo clienteRelacaoTipo = new ClienteRelacaoTipo(); // Id do Cliente if (dadosClienteImovelEconomia[0] != null) { cliente.setId((Integer) dadosClienteImovelEconomia[0]); } // Nome do Cliente if (dadosClienteImovelEconomia[1] != null) { cliente.setNome((String) dadosClienteImovelEconomia[1]); } // Id do Tipo da Rela��o if (dadosClienteImovelEconomia[2] != null) { clienteRelacaoTipo .setId((Integer) dadosClienteImovelEconomia[2]); } // Descri��o do Tipo da Rela��o if (dadosClienteImovelEconomia[3] != null) { clienteRelacaoTipo .setDescricao((String) dadosClienteImovelEconomia[3]); } // CPF if (dadosClienteImovelEconomia[4] != null) { cliente.setCpf((String) dadosClienteImovelEconomia[4]); } // RG if (dadosClienteImovelEconomia[5] != null) { cliente.setRg((String) dadosClienteImovelEconomia[5]); } // �rg�o Expedidor do RG if (dadosClienteImovelEconomia[6] != null) { OrgaoExpedidorRg orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg .setDescricaoAbreviada((String) dadosClienteImovelEconomia[6]); cliente.setOrgaoExpedidorRg(orgaoExpedidorRg); } // Unidade da Federa��o if (dadosClienteImovelEconomia[7] != null) { UnidadeFederacao unidadeFederacao = new UnidadeFederacao(); unidadeFederacao .setSigla((String) dadosClienteImovelEconomia[7]); cliente.setUnidadeFederacao(unidadeFederacao); } // Data de In�cio da Rela��o if (dadosClienteImovelEconomia[8] != null) { clienteImovelEconomia .setDataInicioRelacao((Date) dadosClienteImovelEconomia[8]); } // Id do Cliente Im�vel Economia if (dadosClienteImovelEconomia[9] != null) { clienteImovelEconomia .setId((Integer) dadosClienteImovelEconomia[9]); } // CNPJ do Cliente if (dadosClienteImovelEconomia[10] != null) { cliente.setCnpj((String) dadosClienteImovelEconomia[10]); } imovelEconomia.setId(idImovelEconomia); clienteImovelEconomia.setImovelEconomia(imovelEconomia); clienteImovelEconomia.setCliente(cliente); clienteImovelEconomia.setClienteRelacaoTipo(clienteRelacaoTipo); colecaoClienteImovelEconomia.add(clienteImovelEconomia); } } return colecaoClienteImovelEconomia; } /** * [UC0069] - Manter Dados Tarifa Social * * Pesquisa o cliente pelo seu id carregando o seu tipo * * Autor: Rafael Corr�a * * Data: 22/01/2007 */ public Cliente pesquisarClienteComClienteTipoTarifaSocial(Integer idCliente) throws ControladorException { Cliente cliente = null; Collection colecaoDadosCliente = null; try { colecaoDadosCliente = repositorioImovelTarifaSocial .pesquisarClienteComClienteTipoTarifaSocial(idCliente); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosCliente != null && !colecaoDadosCliente.isEmpty()) { Iterator colecaoDadosClienteIterator = colecaoDadosCliente .iterator(); while (colecaoDadosClienteIterator.hasNext()) { Object[] dadosCliente = (Object[]) colecaoDadosClienteIterator .next(); cliente = new Cliente(); // Id do Cliente if (dadosCliente[0] != null) { cliente.setId((Integer) dadosCliente[0]); } // Nome do Cliente if (dadosCliente[1] != null) { cliente.setNome((String) dadosCliente[1]); } // CPF if (dadosCliente[2] != null) { cliente.setCpf((String) dadosCliente[2]); } // RG if (dadosCliente[3] != null) { cliente.setRg((String) dadosCliente[3]); } // CNPJ if (dadosCliente[4] != null) { cliente.setCnpj((String) dadosCliente[4]); } // Data de Nascimento if (dadosCliente[5] != null) { cliente.setDataNascimento((Date) dadosCliente[5]); } // Cliente Tipo if (dadosCliente[6] != null) { ClienteTipo clienteTipo = new ClienteTipo(); clienteTipo.setId((Integer) dadosCliente[6]); clienteTipo .setIndicadorPessoaFisicaJuridica((Short) dadosCliente[7]); cliente.setClienteTipo(clienteTipo); } // Data de Emiss�o do RG if (dadosCliente[8] != null) { cliente.setDataEmissaoRg((Date) dadosCliente[8]); } // Org�o Expedidor RG if (dadosCliente[9] != null) { OrgaoExpedidorRg orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg .setDescricaoAbreviada((String) dadosCliente[9]); cliente.setOrgaoExpedidorRg(orgaoExpedidorRg); } // Unidade da Federa��o if (dadosCliente[10] != null) { UnidadeFederacao unidadeFederacao = new UnidadeFederacao(); unidadeFederacao.setSigla((String) dadosCliente[10]); cliente.setUnidadeFederacao(unidadeFederacao); } } } return cliente; } /** * [UC0069] - Manter Dados Tarifa Social * * Pesquisa os dados da tarifa social e do cliente usu�rio para cada * economia * * Autor: Rafael Corr�a * * Data: 25/01/2007 */ public Collection pesquisarDadosClienteEconomiaTarifaSocial(Integer idImovel) throws ControladorException { Collection colecaoTarifaSocialHelper = new ArrayList(); Collection colecaoDadosTarifaSocial = null; try { colecaoDadosTarifaSocial = repositorioImovelTarifaSocial .pesquisarDadosClienteEconomiaTarifaSocial(idImovel); } catch (ErroRepositorioException e) { throw new ControladorException("erro.sistema", e); } if (colecaoDadosTarifaSocial != null && !colecaoDadosTarifaSocial.isEmpty()) { Iterator colecaoDadosTarifaSocialIterator = colecaoDadosTarifaSocial .iterator(); while (colecaoDadosTarifaSocialIterator.hasNext()) { Object[] dadosTarifaSocial = (Object[]) colecaoDadosTarifaSocialIterator .next(); TarifaSocialHelper tarifaSocialHelper = new TarifaSocialHelper(); ClienteImovelEconomia clienteImovelEconomia = new ClienteImovelEconomia(); TarifaSocialDadoEconomia tarifaSocialDadoEconomia = new TarifaSocialDadoEconomia(); ImovelEconomia imovelEconomia = new ImovelEconomia(); Imovel imovel = new Imovel(); Cliente cliente = new Cliente(); TarifaSocialCartaoTipo tarifaSocialCartaoTipo = null; RendaTipo rendaTipo = null; // Id do Tarifa Social Dado Economia if (dadosTarifaSocial[0] != null) { tarifaSocialDadoEconomia .setId((Integer) dadosTarifaSocial[0]); } // Nome do Cliente if (dadosTarifaSocial[1] != null) { cliente.setNome((String) dadosTarifaSocial[1]); } // Complemento Endere�o if (dadosTarifaSocial[2] != null) { imovelEconomia .setComplementoEndereco((String) dadosTarifaSocial[2]); } // CPF if (dadosTarifaSocial[3] != null) { cliente.setCpf((String) dadosTarifaSocial[3]); } // RG if (dadosTarifaSocial[4] != null) { cliente.setRg((String) dadosTarifaSocial[4]); } // �rg�o Expedidor do RG if (dadosTarifaSocial[5] != null) { OrgaoExpedidorRg orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg .setDescricaoAbreviada((String) dadosTarifaSocial[5]); cliente.setOrgaoExpedidorRg(orgaoExpedidorRg); } // Unidade da Federa��o if (dadosTarifaSocial[6] != null) { UnidadeFederacao unidadeFederacao = new UnidadeFederacao(); unidadeFederacao.setSigla((String) dadosTarifaSocial[6]); cliente.setUnidadeFederacao(unidadeFederacao); } // N�mero do Cart�o do Programa Social if (dadosTarifaSocial[7] != null) { tarifaSocialDadoEconomia .setNumeroCartaoProgramaSocial((Long) dadosTarifaSocial[7]); } // Id do Tipo do Cart�o do Programa Social if (dadosTarifaSocial[8] != null) { tarifaSocialCartaoTipo = new TarifaSocialCartaoTipo(); tarifaSocialCartaoTipo .setId((Integer) dadosTarifaSocial[8]); } // Renda Familiar if (dadosTarifaSocial[9] != null) { tarifaSocialDadoEconomia .setValorRendaFamiliar((BigDecimal) dadosTarifaSocial[9]); } // Id do Tipo da Renda if (dadosTarifaSocial[10] != null) { rendaTipo = new RendaTipo(); rendaTipo.setId((Integer) dadosTarifaSocial[10]); } // Motivo de Exclus�o if (dadosTarifaSocial[11] != null) { TarifaSocialExclusaoMotivo tarifaSocialExclusaoMotivo = new TarifaSocialExclusaoMotivo(); tarifaSocialExclusaoMotivo .setId((Integer) dadosTarifaSocial[11]); tarifaSocialExclusaoMotivo .setDescricao((String) dadosTarifaSocial[33]); tarifaSocialDadoEconomia .setTarifaSocialExclusaoMotivo(tarifaSocialExclusaoMotivo); } // Descri�ao do Tipo do Cart�o do Programa Social if (dadosTarifaSocial[12] != null) { tarifaSocialCartaoTipo .setDescricao((String) dadosTarifaSocial[12]); } // Data de Validade do Cart�o if (dadosTarifaSocial[13] != null) { tarifaSocialDadoEconomia .setDataValidadeCartao((Date) dadosTarifaSocial[13]); } // N�mero de Parcelas if (dadosTarifaSocial[14] != null) { tarifaSocialDadoEconomia .setNumeroMesesAdesao((Short) dadosTarifaSocial[14]); } // N�mero do Contrato da Companhia El�trica if (dadosTarifaSocial[15] != null) { imovelEconomia.setNumeroCelpe((Long) dadosTarifaSocial[15]); } // Consumo M�dio if (dadosTarifaSocial[16] != null) { tarifaSocialDadoEconomia .setConsumoCelpe((Integer) dadosTarifaSocial[16]); } // N�mero do IPTU if (dadosTarifaSocial[17] != null) { imovelEconomia .setNumeroIptu((String) dadosTarifaSocial[17]); } // �rea Constru�da if (dadosTarifaSocial[18] != null) { imovelEconomia .setAreaConstruida((BigDecimal) dadosTarifaSocial[18]); } // �rea Constru�da Faixa if (dadosTarifaSocial[19] != null) { AreaConstruidaFaixa areaConstruidaFaixa = new AreaConstruidaFaixa(); areaConstruidaFaixa.setId((Integer) dadosTarifaSocial[19]); imovelEconomia.setAreaConstruidaFaixa(areaConstruidaFaixa); } // Descri��o do Tipo da Renda if (dadosTarifaSocial[20] != null) { rendaTipo.setDescricao((String) dadosTarifaSocial[20]); } // Motivo de Revis�o if (dadosTarifaSocial[21] != null) { TarifaSocialRevisaoMotivo tarifaSocialRevisaoMotivo = new TarifaSocialRevisaoMotivo(); tarifaSocialRevisaoMotivo .setId((Integer) dadosTarifaSocial[21]); tarifaSocialRevisaoMotivo .setDescricao((String) dadosTarifaSocial[34]); tarifaSocialDadoEconomia .setTarifaSocialRevisaoMotivo(tarifaSocialRevisaoMotivo); } // Id da Economia do Im�vel if (dadosTarifaSocial[22] != null) { imovelEconomia.setId((Integer) dadosTarifaSocial[22]); } // Id do Munic�pio if (dadosTarifaSocial[23] != null) { // Cria os objeto necess�rios para setar o im�vel dentro de // im�vel economia SetorComercial setorComercial = new SetorComercial(); ImovelSubcategoria imovelSubcategoria = new ImovelSubcategoria(); ImovelSubcategoriaPK imovelSubcategoriaPK = new ImovelSubcategoriaPK(); Municipio municipio = new Municipio(); Subcategoria subcategoria = new Subcategoria(); setorComercial.setId((Integer) dadosTarifaSocial[23]); municipio.setId((Integer) dadosTarifaSocial[24]); setorComercial.setMunicipio(municipio); imovel.setSetorComercial(setorComercial); imovel.setId(idImovel); subcategoria.setId((Integer) dadosTarifaSocial[32]); imovelSubcategoriaPK.setImovel(imovel); imovelSubcategoriaPK.setSubcategoria(subcategoria); imovelSubcategoria.setComp_id(imovelSubcategoriaPK); imovelEconomia.setImovelSubcategoria(imovelSubcategoria); } // Data de Exclus�o if (dadosTarifaSocial[25] != null) { tarifaSocialDadoEconomia .setDataExclusao((Date) dadosTarifaSocial[25]); } // Data de Implanta��o if (dadosTarifaSocial[26] != null) { tarifaSocialDadoEconomia .setDataImplantacao((Date) dadosTarifaSocial[26]); } // Data de Revis�o if (dadosTarifaSocial[27] != null) { tarifaSocialDadoEconomia .setDataRevisao((Date) dadosTarifaSocial[27]); } // Quantidade de Recadastramentos if (dadosTarifaSocial[28] != null) { tarifaSocialDadoEconomia .setQuantidadeRecadastramento((Short) dadosTarifaSocial[28]); } // Data do Recadastramento if (dadosTarifaSocial[29] != null) { tarifaSocialDadoEconomia .setDataRecadastramento((Date) dadosTarifaSocial[29]); } // Id do Cliente if (dadosTarifaSocial[30] != null) { cliente.setId((Integer) dadosTarifaSocial[30]); } // N�mero de Moradores if (dadosTarifaSocial[31] != null) { imovelEconomia .setNumeroMorador((Short) dadosTarifaSocial[31]); } // �ltima Altera��o if (dadosTarifaSocial[35] != null) { tarifaSocialDadoEconomia .setUltimaAlteracao((Date) dadosTarifaSocial[35]); } clienteImovelEconomia.setImovelEconomia(imovelEconomia); clienteImovelEconomia.setCliente(cliente); tarifaSocialDadoEconomia .setTarifaSocialCartaoTipo(tarifaSocialCartaoTipo); tarifaSocialDadoEconomia.setRendaTipo(rendaTipo); tarifaSocialDadoEconomia.setImovel(imovel); tarifaSocialDadoEconomia.setImovelEconomia(imovelEconomia); tarifaSocialHelper .setTarifaSocialDadoEconomia(tarifaSocialDadoEconomia); tarifaSocialHelper .setClienteImovelEconomia(clienteImovelEconomia); colecaoTarifaSocialHelper.add(tarifaSocialHelper); } } return colecaoTarifaSocialHelper; } /** * [UC0069] - Manter Dados Tarifa Social * * Pesquisa a economia do im�vel pelo seu id * * Autor: Rafael Corr�a * * Data: 01/02/2007 */ public ImovelEconomia pesquisarImovelEconomiaPeloId(Integer idImovelEconomia) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarImovelEconomiaPeloId(idImovelEconomia); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Seta o indicador do nome da conta para 2 nos clientes propriet�rio e * usu�rios * * Autor: Rafael Corr�a * * Data: 01/02/2007 */ public void atualizarNomeContaClienteImovelTarifaSocial(Integer idImovel) throws ControladorException { try { this.repositorioImovelTarifaSocial .atualizarNomeContaClienteImovelTarifaSocial(idImovel); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0069] - Manter Dados Tarifa Social * * Retorna o id cliente usu�rio da economias do im�vel * * Autor: Rafael Corr�a * * Data: 19/01/2007 */ public Integer pesquisarClienteUsuarioImovelEconomiaTarifaSocial( Integer idImovelEconomia) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarClienteUsuarioImovelEconomiaTarifaSocial(idImovelEconomia); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0069] - Manter Dados Tarifa Social * * Recadastrar, atualiza ou remove a tarifa social * * Autor: Rafael Corr�a,Vivianne Sousa * * Data: 13/02/2007,13/03/2008 */ public AtendimentoMotivoEncerramento manterTarifaSocial(Imovel imovelSessao, Collection colecaoTarifaSocialHelperAtualizar, Collection colecaoImoveisExcluidosTarifaSocial, Collection colecaoTarifaSocialExcluida, Collection colecaoTarifasSociaisRecadastradas, Usuario usuarioLogado) throws ControladorException { SistemaParametro sistemaParametro = getControladorUtil().pesquisarParametrosDoSistema(); // ------------ REGISTRAR TRANSa��o---------------------------- RegistradorOperacao registradorOperacao = new RegistradorOperacao( Operacao.OPERACAO_MANTER_TARIFA_SOCIAL, imovelSessao.getId(), imovelSessao.getId(), new UsuarioAcaoUsuarioHelper(usuarioLogado, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); // --------FIM---- REGISTRAR TRANSa��o---------------------------- // Cria booleanos para verificar o tipo de encerramento do RA boolean recadastramentoTarifaSocial = false; boolean atualizacaoTarifaSocial = false; boolean exclusaoTarifaSocial = false; AtendimentoMotivoEncerramento atendimentoMotivoEncerramento = new AtendimentoMotivoEncerramento(); // Recadastramento // Cole��o de tarifas sociais que estavam exclu�das e foram recadastradas if (colecaoTarifasSociaisRecadastradas != null && !colecaoTarifasSociaisRecadastradas.isEmpty()) { recadastramentoTarifaSocial = true; Iterator colecaoTarifasSociaisRecadastradasIterator = colecaoTarifasSociaisRecadastradas.iterator(); while (colecaoTarifasSociaisRecadastradasIterator.hasNext()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) colecaoTarifasSociaisRecadastradasIterator.next(); FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.ID, tarifaSocialDadoEconomia.getId())); Collection colecaoTarifaSocialBase = getControladorUtil().pesquisar( filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()); TarifaSocialDadoEconomia tarifaSocialDadoEconomiaBase = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialBase); tarifaSocialDadoEconomia.setDataImplantacao(tarifaSocialDadoEconomiaBase.getDataImplantacao()); // Verifica se o usu�rio n�o excluiu o im�vel anterior da tarifa social Integer idClienteUsuario = null; if (tarifaSocialDadoEconomia.getImovelEconomia() != null) { idClienteUsuario = this.pesquisarClienteUsuarioImovelEconomiaTarifaSocial( tarifaSocialDadoEconomia.getImovelEconomia().getId()); } Collection colecaoTarifaSocialDadoEconomiaOutroImovel = null; if (idClienteUsuario != null) { colecaoTarifaSocialDadoEconomiaOutroImovel = this.pesquisarClientesUsuarioExistenteTarifaSocial(idClienteUsuario); } // Verifica para casos de m�ltiplas economias se existe outra // economia na tarifa social, caso n�o exista retira o im�vel da // tarifa social if (colecaoTarifaSocialDadoEconomiaOutroImovel != null && !colecaoTarifaSocialDadoEconomiaOutroImovel.isEmpty()) { exclusaoTarifaSocial = true; Iterator colecaoImoveisExcluidosTarifaSocialIterator = colecaoImoveisExcluidosTarifaSocial.iterator(); while (colecaoImoveisExcluidosTarifaSocialIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelperImovelAnterior = (TarifaSocialHelper) colecaoImoveisExcluidosTarifaSocialIterator.next(); if (tarifaSocialHelperImovelAnterior.getClienteImovel().getCliente().getId().equals(idClienteUsuario)) { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaImovelAnterior = tarifaSocialHelperImovelAnterior.getTarifaSocialDadoEconomia(); tarifaSocialDadoEconomiaImovelAnterior.setDataExclusao(new Date()); tarifaSocialDadoEconomiaImovelAnterior.setUltimaAlteracao(new Date()); // ------------ REGISTRAR TRANSa��o---------------------------- Imovel imovelExcluidoTarifaSocial = tarifaSocialDadoEconomiaImovelAnterior.getImovel(); RegistradorOperacao registradorOperacao2 = new RegistradorOperacao( Operacao.OPERACAO_MANTER_TARIFA_SOCIAL, imovelExcluidoTarifaSocial.getId(), imovelExcluidoTarifaSocial.getId(), new UsuarioAcaoUsuarioHelper(usuarioLogado, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao2.registrarOperacao(tarifaSocialDadoEconomiaImovelAnterior); // --------FIM---- REGISTRAR TRANSa��o---------------------------- getControladorUtil().atualizar(tarifaSocialDadoEconomiaImovelAnterior); Collection colecaoTarifaSocialNaoExcluidasImovel = this.pesquisarTarifaSocialImovel(tarifaSocialDadoEconomia.getImovel().getId()); if (colecaoTarifaSocialNaoExcluidasImovel == null || colecaoTarifaSocialNaoExcluidasImovel.isEmpty()) { getControladorImovel().atualizarImovelPerfilNormal(tarifaSocialDadoEconomia.getImovel(), registradorOperacao2); } break; } } } if (colecaoTarifaSocialDadoEconomiaOutroImovel != null && !colecaoTarifaSocialDadoEconomiaOutroImovel.isEmpty()) { if (colecaoImoveisExcluidosTarifaSocial == null || colecaoImoveisExcluidosTarifaSocial.isEmpty()) { sessionContext.setRollbackOnly(); throw new ControladorException("atencao.tarifa_social_motivo_exclusao_nao_informado"); } } registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); getControladorUtil().atualizar(tarifaSocialDadoEconomia); } } // Cole��o de tarifas socias que tiveram seus dados atualizados if (colecaoTarifaSocialHelperAtualizar != null && !colecaoTarifaSocialHelperAtualizar.isEmpty()) { Iterator colecaoTarifaSocialHelperAtualizarIterator = colecaoTarifaSocialHelperAtualizar.iterator(); while (colecaoTarifaSocialHelperAtualizarIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelper = (TarifaSocialHelper) colecaoTarifaSocialHelperAtualizarIterator.next(); TarifaSocialDadoEconomia tarifaSocialDadoEconomiaAtualizar = tarifaSocialHelper.getTarifaSocialDadoEconomia(); tarifaSocialDadoEconomiaAtualizar.setUltimaAlteracao(new Date()); // Verifica se o usu�rio fez alguma altera��o cadastral boolean alterou = false; FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples(FiltroTarifaSocialDadoEconomia.ID,tarifaSocialDadoEconomiaAtualizar.getId())); filtroTarifaSocialDadoEconomia.adicionarCaminhoParaCarregamentoEntidade("tarifaSocialRevisaoMotivo"); filtroTarifaSocialDadoEconomia.adicionarCaminhoParaCarregamentoEntidade("tarifaSocialExclusaoMotivo"); filtroTarifaSocialDadoEconomia.adicionarCaminhoParaCarregamentoEntidade("rendaTipo"); filtroTarifaSocialDadoEconomia.adicionarCaminhoParaCarregamentoEntidade("tarifaSocialCartaoTipo"); Collection colecaoTarifaSocialDadoEconomiaBase = getControladorUtil().pesquisar(filtroTarifaSocialDadoEconomia,TarifaSocialDadoEconomia.class.getName()); TarifaSocialDadoEconomia tarifaSocialDadoEconomiaBase = (TarifaSocialDadoEconomia) Util.retonarObjetoDeColecao(colecaoTarifaSocialDadoEconomiaBase); tarifaSocialDadoEconomiaAtualizar.setDataImplantacao(tarifaSocialDadoEconomiaBase.getDataImplantacao()); boolean recadastrou = false; TarifaSocialDadoEconomia tarifaSocialDadoEconomiaRecadastrada = null; // Verifica se a tarifa social atualizada tamb�m estava exclu�da e foi recadastrada if (colecaoTarifasSociaisRecadastradas != null && !colecaoTarifasSociaisRecadastradas.isEmpty()) { Iterator colecaoTarifasSociaisRecadastradasIterator = colecaoTarifasSociaisRecadastradas.iterator(); while (colecaoTarifasSociaisRecadastradasIterator.hasNext()) { tarifaSocialDadoEconomiaRecadastrada = (TarifaSocialDadoEconomia) colecaoTarifasSociaisRecadastradasIterator.next(); if (tarifaSocialDadoEconomiaRecadastrada.getId().equals(tarifaSocialDadoEconomiaAtualizar.getId())) { recadastrou = true; break; } } } // Caso esta tarifa social n�o tenha sido recadastrada verifica // se houve altera��o cadastral para ser considerado um // recadastramento if (!recadastrou) { boolean igual = false; if (tarifaSocialDadoEconomiaAtualizar.getTarifaSocialRevisaoMotivo() == null && tarifaSocialDadoEconomiaBase.getTarifaSocialRevisaoMotivo() == null) { igual = true; } else if (tarifaSocialDadoEconomiaAtualizar.getTarifaSocialRevisaoMotivo() != null && tarifaSocialDadoEconomiaBase.getTarifaSocialRevisaoMotivo() != null && tarifaSocialDadoEconomiaAtualizar.getTarifaSocialRevisaoMotivo().getId() .equals(tarifaSocialDadoEconomiaBase.getTarifaSocialRevisaoMotivo().getId())) { igual = true; } if (igual) { alterou = true; } else { ImovelEconomia imovelEconomiaBase = null; Imovel imovelBase = null; if (tarifaSocialHelper.getClienteImovelEconomia() != null) { imovelEconomiaBase = this.pesquisarImovelEconomiaPeloId(tarifaSocialDadoEconomiaAtualizar.getImovelEconomia().getId()); } else { imovelBase = imovelSessao; } // Seta os valores do campo dentro de um array para ser // comparado se houve alguma altera��o Object[][] dados = new Object[11][11]; // N�mero Cart�o dados[0][0] = tarifaSocialDadoEconomiaAtualizar.getNumeroCartaoProgramaSocial(); dados[1][0] = tarifaSocialDadoEconomiaBase.getNumeroCartaoProgramaSocial(); // Tipo do Cart�o if (tarifaSocialDadoEconomiaAtualizar.getTarifaSocialCartaoTipo() != null) { dados[0][1] = tarifaSocialDadoEconomiaAtualizar.getTarifaSocialCartaoTipo().getId(); } else { dados[0][1] = null; } if (tarifaSocialDadoEconomiaBase.getTarifaSocialCartaoTipo() != null) { dados[1][1] = tarifaSocialDadoEconomiaBase.getTarifaSocialCartaoTipo().getId(); } else { dados[1][1] = null; } // Data de Validade do Cart�o dados[0][2] = tarifaSocialDadoEconomiaAtualizar.getDataValidadeCartao(); dados[1][2] = tarifaSocialDadoEconomiaBase.getDataValidadeCartao(); // N�mero de Parcelas dados[0][3] = tarifaSocialDadoEconomiaAtualizar.getNumeroMesesAdesao(); dados[1][3] = tarifaSocialDadoEconomiaBase.getNumeroMesesAdesao(); // N�mero de Moradores if (tarifaSocialHelper.getClienteImovelEconomia() != null) { dados[0][4] = tarifaSocialHelper.getClienteImovelEconomia().getImovelEconomia().getNumeroMorador(); dados[1][4] = imovelEconomiaBase.getNumeroMorador(); } else { dados[0][4] = tarifaSocialHelper.getClienteImovel().getImovel().getNumeroMorador(); dados[1][4] = imovelBase.getNumeroMorador(); } // N�mero Contrato Energia if (tarifaSocialHelper.getClienteImovelEconomia() != null) { dados[0][5] = tarifaSocialHelper.getClienteImovelEconomia().getImovelEconomia().getNumeroCelpe(); dados[1][5] = imovelEconomiaBase.getNumeroCelpe(); } else { dados[0][5] = tarifaSocialHelper.getClienteImovel().getImovel().getNumeroCelpe(); dados[1][5] = imovelBase.getNumeroCelpe(); } // Consumo M�dio dados[0][6] = tarifaSocialDadoEconomiaAtualizar.getConsumoCelpe(); dados[1][6] = tarifaSocialDadoEconomiaBase.getConsumoCelpe(); // IPTU if (tarifaSocialHelper.getClienteImovelEconomia() != null) { dados[0][7] = tarifaSocialHelper.getClienteImovelEconomia() .getImovelEconomia().getNumeroIptu(); dados[1][7] = imovelEconomiaBase.getNumeroIptu(); } else { dados[0][7] = tarifaSocialHelper.getClienteImovel().getImovel().getNumeroIptu(); dados[1][7] = imovelBase.getNumeroIptu(); } // �rea Constru�da if (tarifaSocialHelper.getClienteImovelEconomia() != null) { dados[0][8] = tarifaSocialHelper.getClienteImovelEconomia() .getImovelEconomia().getAreaConstruida(); dados[1][8] = imovelEconomiaBase.getAreaConstruida(); } else { dados[0][8] = tarifaSocialHelper.getClienteImovel().getImovel().getAreaConstruida(); dados[1][8] = imovelBase.getAreaConstruida(); } // Valor Renda dados[0][9] = tarifaSocialDadoEconomiaAtualizar.getValorRendaFamiliar(); dados[1][9] = tarifaSocialDadoEconomiaBase.getValorRendaFamiliar(); // Tipo Renda if (tarifaSocialDadoEconomiaAtualizar.getRendaTipo() != null) { dados[0][10] = tarifaSocialDadoEconomiaAtualizar.getRendaTipo().getId(); } else { dados[0][10] = null; } if (tarifaSocialDadoEconomiaBase.getRendaTipo() != null) { dados[1][10] = tarifaSocialDadoEconomiaBase.getRendaTipo().getId(); } else { dados[1][10] = null; } alterou = this.verificarAlteracaoDadosTarifaSocial(dados); } } // Caso tenha ocorrido altera��o cadastral atualiza o valor da quantidade de recadastramento if (alterou) { recadastramentoTarifaSocial = true; int qtdeRecadastramentos = 1; if (tarifaSocialDadoEconomiaBase.getQuantidadeRecadastramento() != null) { qtdeRecadastramentos = tarifaSocialDadoEconomiaBase.getQuantidadeRecadastramento().shortValue() + 1; } tarifaSocialDadoEconomiaAtualizar.setQuantidadeRecadastramento(new Short("" + qtdeRecadastramentos)); tarifaSocialDadoEconomiaAtualizar.setDataRecadastramento(new Date()); } else { if (!recadastrou) { atualizacaoTarifaSocial = true; tarifaSocialDadoEconomiaAtualizar.setQuantidadeRecadastramento(tarifaSocialDadoEconomiaBase.getQuantidadeRecadastramento()); tarifaSocialDadoEconomiaAtualizar.setDataRecadastramento(tarifaSocialDadoEconomiaBase.getDataRecadastramento()); } else { tarifaSocialDadoEconomiaAtualizar.setQuantidadeRecadastramento(tarifaSocialDadoEconomiaRecadastrada.getQuantidadeRecadastramento()); tarifaSocialDadoEconomiaAtualizar.setDataRecadastramento(tarifaSocialDadoEconomiaRecadastrada.getDataRecadastramento()); } } // ----- REGISTRAR TRANSa��o ------- registradorOperacao.registrarOperacao(tarifaSocialDadoEconomiaAtualizar); // ---- REGISTRAR TRANSa��o------- getControladorUtil().atualizar(tarifaSocialDadoEconomiaAtualizar); FiltroTarifaSocialCarta filtro = new FiltroTarifaSocialCarta(); filtro.adicionarParametro( new ParametroSimples( FiltroTarifaSocialCarta.IMOVEL, imovelSessao.getId())); filtro.adicionarParametro( new ParametroNulo( FiltroTarifaSocialCarta.DATA_EXECUCAO_COMANDO)); filtro.adicionarParametro( new ParametroNaoNulo( FiltroTarifaSocialCarta.DATA_GERACAO_COMANDO)); filtro.adicionarCaminhoParaCarregamentoEntidade(FiltroTarifaSocialCarta.TARIFA_SOCIAL_COMANDO_CARTA); Collection<TarifaSocialCarta> colecaoTarifaSocialCarta = this.getControladorUtil().pesquisar(filtro,TarifaSocialCarta.class.getName()); if(colecaoTarifaSocialCarta != null && !colecaoTarifaSocialCarta.isEmpty()){ TarifaSocialCarta tarifaSocialCarta = (TarifaSocialCarta) Util.retonarObjetoDeColecao(colecaoTarifaSocialCarta); tarifaSocialCarta.setDataComparecimento(tarifaSocialHelper.getDataComparecimentoCarta()); getControladorUtil().atualizar(tarifaSocialCarta); } // Verifica se a tarifa social � referente a um im�vel com mais // de uma economia, caso seja atualiza a economia do im�vel e // caso contr�rio atualiza o im�vel propriamente dito if (tarifaSocialDadoEconomiaAtualizar.getImovelEconomia() != null) { ImovelEconomia imovelEconomia = tarifaSocialDadoEconomiaAtualizar.getImovelEconomia(); imovelEconomia.setUltimaAlteracao(new Date()); // Setando a colecao de clienteimoveleconomias do imoveleconomia, // para evitar que o registrar transacao identifique uma colecao vazia no objeto novo // registrando como uma exclusao dos antigos // isso foi necessario, por conta que quando � entrada a matricula do imovel // nao � possivel abrir a tela de alteracao da tarifa social e eh justamente nesta tela que // sao carregados os clientesimoveleconomias de uma economia. if (imovelEconomia.getClienteImovelEconomias() == null){ Collection colecaoClienteImovelEconomia = this.pesquisarClientesImovelEconomiaTarifaSocial(imovelEconomia.getId()); imovelEconomia.setClienteImovelEconomias(new HashSet(colecaoClienteImovelEconomia)); } registradorOperacao.registrarOperacao(imovelEconomia); getControladorUtil().atualizar(imovelEconomia); } else { Imovel imovel = tarifaSocialDadoEconomiaAtualizar.getImovel(); imovel.setUltimaAlteracao(new Date()); registradorOperacao.registrarOperacao(imovel); getControladorUtil().atualizar(imovel); } // Remover os clientes selecionados Collection colecaoClienteImovelRemovidos = tarifaSocialHelper.getColecaoClientesRemovidos(); Collection colecaoClienteImovelEconomiaRemovidos = tarifaSocialHelper.getColecaoClientesEconomiaRemovidos(); if (colecaoClienteImovelRemovidos != null && !colecaoClienteImovelRemovidos.isEmpty()) { Iterator colecaoClienteImovelRemovidosIterator = colecaoClienteImovelRemovidos.iterator(); while (colecaoClienteImovelRemovidosIterator.hasNext()) { ClienteImovel clienteImovelRemovido = (ClienteImovel) colecaoClienteImovelRemovidosIterator.next(); clienteImovelRemovido.setUltimaAlteracao(new Date()); clienteImovelRemovido.setIndicadorNomeConta(new Short("2")); registradorOperacao.registrarOperacao(clienteImovelRemovido); getControladorUtil().atualizar(clienteImovelRemovido); } } else if (colecaoClienteImovelEconomiaRemovidos != null && !colecaoClienteImovelEconomiaRemovidos.isEmpty()) { Iterator colecaoClienteImovelEconomiaRemovidosIterator = colecaoClienteImovelEconomiaRemovidos.iterator(); while (colecaoClienteImovelEconomiaRemovidosIterator.hasNext()) { ClienteImovelEconomia clienteImovelEconomiaRemovido = (ClienteImovelEconomia) colecaoClienteImovelEconomiaRemovidosIterator .next(); clienteImovelEconomiaRemovido.setUltimaAlteracao(new Date()); registradorOperacao.registrarOperacao(clienteImovelEconomiaRemovido); getControladorUtil().atualizar(clienteImovelEconomiaRemovido); } } // Inserir os clientes selecionados Collection colecaoClienteImovelInseridos = tarifaSocialHelper.getColecaoClientesInseridos(); Collection colecaoClienteImovelEconomiaInseridos = tarifaSocialHelper.getColecaoClientesEconomiaInseridos(); // Uma Economia if (colecaoClienteImovelInseridos != null && !colecaoClienteImovelInseridos.isEmpty()) { Iterator colecaoClienteImovelInseridosIterator = colecaoClienteImovelInseridos.iterator(); while (colecaoClienteImovelInseridosIterator.hasNext()) { ClienteImovel clienteImovelInserido = (ClienteImovel) colecaoClienteImovelInseridosIterator.next(); if (clienteImovelInserido.getClienteRelacaoTipo().getId().toString() .equals(ClienteRelacaoTipo.USUARIO.toString())) { clienteImovelInserido.setIndicadorNomeConta(new Short("1")); Collection colecaoClientesUsuarioExistenteTarifaSocial = this .pesquisarClientesUsuarioExistenteTarifaSocial(clienteImovelInserido .getCliente().getId()); if (colecaoClientesUsuarioExistenteTarifaSocial != null && !colecaoClientesUsuarioExistenteTarifaSocial.isEmpty()) { Iterator colecaoImoveisExcluidosTarifaSocialIterator = colecaoImoveisExcluidosTarifaSocial.iterator(); while (colecaoImoveisExcluidosTarifaSocialIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelperImovelAnterior = (TarifaSocialHelper) colecaoImoveisExcluidosTarifaSocialIterator.next(); if (tarifaSocialHelperImovelAnterior.getClienteImovel().getCliente() .getId().equals(clienteImovelInserido.getCliente().getId())) { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaImovelAnterior = tarifaSocialHelperImovelAnterior.getTarifaSocialDadoEconomia(); tarifaSocialDadoEconomiaImovelAnterior.setDataExclusao(new Date()); tarifaSocialDadoEconomiaImovelAnterior.setUltimaAlteracao(new Date()); registradorOperacao.registrarOperacao(tarifaSocialDadoEconomiaImovelAnterior); getControladorUtil().atualizar(tarifaSocialDadoEconomiaImovelAnterior); break; } } } } else { clienteImovelInserido.setIndicadorNomeConta(new Short("2")); } clienteImovelInserido.setUltimaAlteracao(new Date()); this.atualizarNomeContaClienteImovelTarifaSocial(imovelSessao.getId()); registradorOperacao.registrarOperacao(clienteImovelInserido); getControladorUtil().inserir(clienteImovelInserido); } } // M�ltiplas Economias else if (colecaoClienteImovelEconomiaInseridos != null && !colecaoClienteImovelEconomiaInseridos.isEmpty()) { Iterator colecaoClienteImovelEconomiaInseridosIterator = colecaoClienteImovelEconomiaInseridos.iterator(); while (colecaoClienteImovelEconomiaInseridosIterator.hasNext()) { ClienteImovelEconomia clienteImovelEconomiaInserido = (ClienteImovelEconomia) colecaoClienteImovelEconomiaInseridosIterator.next(); if (clienteImovelEconomiaInserido.getClienteRelacaoTipo().getId().toString() .equals(ClienteRelacaoTipo.USUARIO.toString())) { Collection colecaoClientesUsuarioExistenteTarifaSocial = this .pesquisarClientesUsuarioExistenteTarifaSocial( clienteImovelEconomiaInserido.getCliente().getId()); if (colecaoClientesUsuarioExistenteTarifaSocial != null && !colecaoClientesUsuarioExistenteTarifaSocial.isEmpty()) { Iterator colecaoImoveisExcluidosTarifaSocialIterator = colecaoImoveisExcluidosTarifaSocial.iterator(); while (colecaoImoveisExcluidosTarifaSocialIterator.hasNext()) { TarifaSocialHelper tarifaSocialHelperImovelAnterior = (TarifaSocialHelper) colecaoImoveisExcluidosTarifaSocialIterator.next(); if (tarifaSocialHelperImovelAnterior.getClienteImovel().getCliente() .getId().equals(clienteImovelEconomiaInserido.getCliente().getId())) { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaImovelAnterior = tarifaSocialHelperImovelAnterior.getTarifaSocialDadoEconomia(); tarifaSocialDadoEconomiaImovelAnterior.setDataExclusao(new Date()); tarifaSocialDadoEconomiaImovelAnterior.setUltimaAlteracao(new Date()); // ------------ REGISTRAR TRANSa��o---------------------------- Imovel imovelExcluidoTarifaSocial = tarifaSocialDadoEconomiaImovelAnterior.getImovel(); RegistradorOperacao registradorOperacao2 = new RegistradorOperacao( Operacao.OPERACAO_MANTER_TARIFA_SOCIAL, imovelExcluidoTarifaSocial.getId(), imovelExcluidoTarifaSocial.getId(), new UsuarioAcaoUsuarioHelper(usuarioLogado, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); registradorOperacao2.registrarOperacao(tarifaSocialDadoEconomiaImovelAnterior); // --------FIM---- REGISTRAR TRANSa��o---------------------------- getControladorUtil().atualizar(tarifaSocialDadoEconomiaImovelAnterior); // no caso de o imovel anterior ser de 1 economia if (tarifaSocialDadoEconomiaImovelAnterior.getImovelEconomia() == null){ getControladorImovel().atualizarImovelPerfilNormal(imovelSessao, registradorOperacao2); } break; } } } } clienteImovelEconomiaInserido.setUltimaAlteracao(new Date()); // ----- REGISTRAR TRANSa��o ------- registradorOperacao.registrarOperacao(clienteImovelEconomiaInserido); // ---- REGISTRAR TRANSa��o------- getControladorUtil().inserir(clienteImovelEconomiaInserido); } } } } // Cole��o referente a tarifa social de uma economia que foram // exclu�da, assim, ser� mudado o perfil do im�vel para normal, pois // este n�o estar� mais na tarifa social if (colecaoTarifaSocialExcluida != null && !colecaoTarifaSocialExcluida.isEmpty()) { exclusaoTarifaSocial = true; Iterator colecaoTarifaSocialExcluidaIterator = colecaoTarifaSocialExcluida.iterator(); while (colecaoTarifaSocialExcluidaIterator.hasNext()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) colecaoTarifaSocialExcluidaIterator.next(); tarifaSocialDadoEconomia.setDataExclusao(new Date()); tarifaSocialDadoEconomia.setUltimaAlteracao(new Date()); tarifaSocialDadoEconomia.setTarifaSocialRevisaoMotivo(null); tarifaSocialDadoEconomia.setDataRevisao(null); tarifaSocialDadoEconomia.setImovel(imovelSessao); // ----- REGISTRAR TRANSa��o ------- registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); // ---- REGISTRAR TRANSa��o------- getControladorUtil().atualizar(tarifaSocialDadoEconomia); // Author: Hugo Amorim Analista:Jeferson Pedrosa Data:21/05/2010 // //16.4. Atualizar a situa��o especial de faturamento do imovel (ftst_id na tabela cadastro.imovel) //com o valor correspondente a PARALIZAR FATURAMENTO DE ESGOTO da tabela //faturamento.faturamento_situacao_tipo; // FaturamentoSituacaoTipo faturamentoSituacaoTipo = new FaturamentoSituacaoTipo(); faturamentoSituacaoTipo.setId(FaturamentoSituacaoTipo.FATURAR_NORMAL); imovelSessao.setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); imovelSessao.setUsuarioParaHistorico(usuarioLogado); getControladorAtualizacaoCadastro().atualizar(imovelSessao); // Author: Hugo Amorim Analista:Jeferson Pedrosa Data:21/05/2010 // //4.1.1.1.4. Registrar a retirada da tarifa social na tabela de faturamento_situacao_historico // [SB0004 Registrar Retirada da Tarifa Social]; // FaturamentoSituacaoHistorico faturamentoSituacaoHistorico = null; FiltroFaturamentoSituacaoHistorico filtroFaturamentoSituacaoHistorico = new FiltroFaturamentoSituacaoHistorico(); filtroFaturamentoSituacaoHistorico.adicionarParametro( new ParametroSimples(FiltroFaturamentoSituacaoHistorico.ID_IMOVEL, imovelSessao.getId())); Collection<FaturamentoSituacaoHistorico> colecaoFaturamentoSituacaoHistorico = getControladorUtil().pesquisar(filtroFaturamentoSituacaoHistorico, FaturamentoSituacaoHistorico.class.getName()); if(colecaoFaturamentoSituacaoHistorico!=null && !colecaoFaturamentoSituacaoHistorico.isEmpty()){ faturamentoSituacaoHistorico = (FaturamentoSituacaoHistorico) Util.retonarObjetoDeColecao(colecaoFaturamentoSituacaoHistorico); faturamentoSituacaoHistorico.setUltimaAlteracao(new Date()); faturamentoSituacaoHistorico .setAnoMesFaturamentoRetirada(sistemaParametro.getAnoMesFaturamento()); faturamentoSituacaoHistorico.setUsuario(usuarioLogado); faturamentoSituacaoHistorico.setObservacaoRetira( "RETIRADA ATRAVES DA FUNCIONALIDADE MANTER DADOS DA TARIFA SOCIAL."); faturamentoSituacaoHistorico.setUsuarioRetira(usuarioLogado); getControladorUtil().atualizar(faturamentoSituacaoHistorico); } } Collection colecaoTarifaSocialNaoExcluidasImovel = this.pesquisarTarifaSocialImovel(imovelSessao.getId()); if (colecaoTarifaSocialNaoExcluidasImovel == null || colecaoTarifaSocialNaoExcluidasImovel.isEmpty()) { getControladorImovel().atualizarImovelPerfilNormal(imovelSessao, registradorOperacao); } } if (recadastramentoTarifaSocial && !atualizacaoTarifaSocial && !exclusaoTarifaSocial) { atendimentoMotivoEncerramento.setId(AtendimentoMotivoEncerramento.TARIFA_SOCIAL_IMPLANTADA); } else if (atualizacaoTarifaSocial && !recadastramentoTarifaSocial && !exclusaoTarifaSocial) { atendimentoMotivoEncerramento.setId(AtendimentoMotivoEncerramento.TARIFA_SOCIAL_ALTERADA); } else if (exclusaoTarifaSocial && !recadastramentoTarifaSocial && !atualizacaoTarifaSocial) { atendimentoMotivoEncerramento.setId(AtendimentoMotivoEncerramento.TARIFA_SOCIAL_EXCLUIDA); } else { atendimentoMotivoEncerramento.setId( AtendimentoMotivoEncerramento.ATUALIZAR_EXCLUIR_RECADASTRAR_TARIFA_SOCIAL); } return atendimentoMotivoEncerramento; } private boolean verificarAlteracaoDadosTarifaSocial(Object[][] dados) { boolean alterou = false; for (int i = 0; dados.length > i; i++) { if (dados[0][i] != null && dados[1][i] == null) { alterou = true; break; } else if (dados[0][i] == null && dados[1][i] != null) { alterou = true; break; } else if (dados[0][i] != null && dados[1][i] != null && !dados[0][i].equals(dados[1][i])) { alterou = true; break; } } return alterou; } /** * [UC0054] - Inserir Dados Tarifa Social * * Recadastrar ou insere a tarifa social * * Autor: Rafael Corr�a * * Data: 13/02/2007 */ public void inserirTarifaSocial(Imovel imovelSessao, ClienteImovel clienteImovel, RegistroAtendimento registroAtendimento, RegistroAtendimentoUnidade registroAtendimentoUnidade, Usuario usuarioLogado, Integer idTarifaSocialDadoEconomiaExcluida, Collection colecaoTarifaSocialDadoEconomia, Collection colecaoClienteImovelEconomia,Collection colecaoTarifaSocialRecadastrar, Imovel imovelAtualizar, Collection colecaoImovelEconomiaAtualizar) throws ControladorException { SistemaParametro sistemaParametro = this.getControladorUtil().pesquisarParametrosDoSistema(); // Identificar a realiza��o de alguma manipula��o de registros boolean manipulacaoRegistro = false; // Vari�vel utilizada para recuperar o id do im�vel da tarifa social que // ser� exclu�da, caso seja necess�rio Integer idImovel = null; RegistradorOperacao registradorOperacao = new RegistradorOperacao(Operacao.OPERACAO_INSERIR_TARIFA_SOCIAL, imovelSessao.getId(), imovelSessao.getId(), new UsuarioAcaoUsuarioHelper(usuarioLogado, UsuarioAcao.USUARIO_ACAO_EFETUOU_OPERACAO)); // ----------------------------------------- // Verifica a exist�ncia de alguma Tarifa Social para ser inserida ou // alterada // PARA UMA ECONOMIA if (colecaoTarifaSocialDadoEconomia != null && !colecaoTarifaSocialDadoEconomia.isEmpty()) { TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialDadoEconomia); Imovel imovel = tarifaSocialDadoEconomia.getImovel(); // INSERIR if (colecaoTarifaSocialRecadastrar != null) { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaRecadastrar = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialRecadastrar); if (tarifaSocialDadoEconomiaRecadastrar.getDataExclusao() != null) { Integer idTarifaSocial = tarifaSocialDadoEconomiaRecadastrar.getId(); Collection colecaoTarifaSocialDadoEconomiaOutroImovel = this.pesquisarClientesUsuarioExistenteTarifaSocial(clienteImovel.getCliente().getId()); if (colecaoTarifaSocialDadoEconomiaOutroImovel != null && !colecaoTarifaSocialDadoEconomiaOutroImovel.isEmpty()) { if (idTarifaSocialDadoEconomiaExcluida == null) { throw new ControladorException("atencao.tarifa_social_motivo_exclusao_nao_informado"); } else { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaExcluir = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialDadoEconomiaOutroImovel); tarifaSocialDadoEconomiaExcluir = this.pesquisarTarifaSocial(tarifaSocialDadoEconomiaExcluir.getId()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialExclusaoMotivo(tarifaSocialDadoEconomia.getTarifaSocialExclusaoMotivo()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialRevisaoMotivo(null); tarifaSocialDadoEconomiaExcluir.setDataRevisao(null); tarifaSocialDadoEconomiaExcluir.setDataExclusao(new Date()); tarifaSocialDadoEconomiaExcluir.setUltimaAlteracao(new Date()); idImovel = tarifaSocialDadoEconomiaExcluir.getImovel().getId(); if (tarifaSocialDadoEconomiaExcluir != null) { registradorOperacao.registrarOperacao(tarifaSocialDadoEconomiaExcluir); getControladorUtil().atualizar(tarifaSocialDadoEconomiaExcluir); Collection colecaoTarifaSocialNaoExcluidasImovel = this.pesquisarTarifaSocialImovel(idImovel); if (colecaoTarifaSocialNaoExcluidasImovel == null || colecaoTarifaSocialNaoExcluidasImovel.isEmpty()) { getControladorImovel().atualizarImovelPerfilNormal(tarifaSocialDadoEconomiaExcluir.getImovel(), registradorOperacao); } } } } int quantidade = 1; if (tarifaSocialDadoEconomiaRecadastrar.getQuantidadeRecadastramento() != null) { quantidade = tarifaSocialDadoEconomiaRecadastrar.getQuantidadeRecadastramento().shortValue() + 1; } // atualizar a quantidade e data recadastramento tarifaSocialDadoEconomia.setId(idTarifaSocial); tarifaSocialDadoEconomia.setQuantidadeRecadastramento(new Short(quantidade + "")); tarifaSocialDadoEconomia.setDataRecadastramento(new Date()); tarifaSocialDadoEconomia.setDataExclusao(null); tarifaSocialDadoEconomia.setTarifaSocialExclusaoMotivo(null); registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); this.atualizarDadosTarifaSocialImovel(tarifaSocialDadoEconomia); // atualizar cliente usuario para indicador de nome conta clienteImovel.setIndicadorNomeConta(new Short("1")); getControladorUtil().atualizar(clienteImovel); this.atualizarNomeContaClienteImovelTarifaSocial(imovel.getId()); registradorOperacao.registrarOperacao(imovel); FaturamentoSituacaoTipo faturamentoSituacaoTipo = new FaturamentoSituacaoTipo(); faturamentoSituacaoTipo.setId(FaturamentoSituacaoTipo.PARALISAR_FATURAMENTO_DE_ESGOTO); imovel.setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); imovel.setUsuarioParaHistorico(usuarioLogado); this.atualizarImovelPerfilTarifaSocial(imovel); FaturamentoSituacaoHistorico faturamentoSituacaoHistorico = new FaturamentoSituacaoHistorico(); faturamentoSituacaoHistorico.setImovel(imovel); faturamentoSituacaoHistorico.setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); FaturamentoSituacaoMotivo faturamentoSituacaoMotivo = new FaturamentoSituacaoMotivo(); faturamentoSituacaoMotivo.setId(FaturamentoSituacaoMotivo.ISENCAO_TARIFA_ESGOTO_DECRETO_18251_94); faturamentoSituacaoHistorico.setFaturamentoSituacaoMotivo(faturamentoSituacaoMotivo); faturamentoSituacaoHistorico.setUltimaAlteracao(new Date()); faturamentoSituacaoHistorico.setAnoMesFaturamentoSituacaoInicio(sistemaParametro.getAnoMesFaturamento()); faturamentoSituacaoHistorico.setUsuario(usuarioLogado); faturamentoSituacaoHistorico.setAnoMesFaturamentoSituacaoFim(new Integer(201910)); faturamentoSituacaoHistorico.setObservacaoInforma("ESGOTO SUSPENSO POR ORDEM DO GOVERNADOR PARA IMOVEL TAR. SOCIAL, A PARTIR DA FATURA 10/2009"); faturamentoSituacaoHistorico.setObservacaoRetira(""); faturamentoSituacaoHistorico.setUsuarioInforma(usuarioLogado); this.getControladorUtil().inserir(faturamentoSituacaoHistorico); } } else { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaExcluir = null; // Verifica se o cliente est� em revis�o e em caso afirmativo // recupera o id da antiga tarifa social if (tarifaSocialDadoEconomia.getTarifaSocialExclusaoMotivo() != null) { tarifaSocialDadoEconomiaExcluir = this.pesquisarTarifaSocial(tarifaSocialDadoEconomia.getId()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialExclusaoMotivo(tarifaSocialDadoEconomia.getTarifaSocialExclusaoMotivo()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialRevisaoMotivo(null); tarifaSocialDadoEconomiaExcluir.setDataRevisao(null); tarifaSocialDadoEconomiaExcluir.setDataExclusao(new Date()); tarifaSocialDadoEconomiaExcluir.setUltimaAlteracao(new Date()); idImovel = tarifaSocialDadoEconomiaExcluir.getImovel().getId(); tarifaSocialDadoEconomia.setId(null); tarifaSocialDadoEconomia.setTarifaSocialExclusaoMotivo(null); } imovel.setQuadra(imovelSessao.getQuadra()); registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); tarifaSocialDadoEconomia.setDataImplantacao(new Date()); getControladorUtil().inserir(tarifaSocialDadoEconomia); clienteImovel.setIndicadorNomeConta(new Short("1")); registradorOperacao.registrarOperacao(clienteImovel); getControladorUtil().atualizar(clienteImovel); registradorOperacao.registrarOperacao(imovel); this.atualizarNomeContaClienteImovelTarifaSocial(imovel.getId()); // Author: Hugo Amorim Analista:Jeferson Pedrosa Data:21/05/2010 // // 16.4. Atualizar a situa��o especial de faturamento do imovel // (ftst_id na tabela cadastro.imovel) // com o valor correspondente a PARALIZAR FATURAMENTO DE ESGOTO // da tabela // faturamento.faturamento_situacao_tipo; // FaturamentoSituacaoTipo faturamentoSituacaoTipo = new FaturamentoSituacaoTipo(); faturamentoSituacaoTipo.setId(FaturamentoSituacaoTipo.PARALISAR_FATURAMENTO_DE_ESGOTO); imovel.setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); this.atualizarImovelPerfilTarifaSocial(imovel); // Author: Hugo Amorim Analista:Jeferson Pedrosa Data:21/05/2010 // // 16.5. Incluir os dados da tarifa social na tabela de // faturamento_situacao_historico // [SB0001 Incluir FATURAMENTO_SITUACAO_HISTORICO]; // FaturamentoSituacaoHistorico faturamentoSituacaoHistorico = new FaturamentoSituacaoHistorico(); faturamentoSituacaoHistorico.setImovel(imovel); faturamentoSituacaoHistorico.setFaturamentoSituacaoTipo(faturamentoSituacaoTipo); FaturamentoSituacaoMotivo faturamentoSituacaoMotivo = new FaturamentoSituacaoMotivo(); faturamentoSituacaoMotivo.setId(FaturamentoSituacaoMotivo.ISENCAO_TARIFA_ESGOTO_DECRETO_18251_94); faturamentoSituacaoHistorico.setFaturamentoSituacaoMotivo(faturamentoSituacaoMotivo); faturamentoSituacaoHistorico.setUltimaAlteracao(new Date()); faturamentoSituacaoHistorico .setAnoMesFaturamentoSituacaoInicio(sistemaParametro.getAnoMesFaturamento()); faturamentoSituacaoHistorico.setUsuario(usuarioLogado); faturamentoSituacaoHistorico.setAnoMesFaturamentoSituacaoFim(new Integer(201910)); faturamentoSituacaoHistorico.setObservacaoInforma( "ESGOTO SUSPENSO POR ORDEM DO GOVERNADOR PARA IMOVEL TAR. SOCIAL, A PARTIR DA FATURA 10/2009"); faturamentoSituacaoHistorico.setObservacaoRetira(""); faturamentoSituacaoHistorico.setUsuarioInforma(usuarioLogado); this.getControladorUtil().inserir(faturamentoSituacaoHistorico); if (tarifaSocialDadoEconomiaExcluir != null) { getControladorUtil().atualizar(tarifaSocialDadoEconomiaExcluir); Collection colecaoTarifaSocialNaoExcluidasImovel = this.pesquisarTarifaSocialImovel(idImovel); if (colecaoTarifaSocialNaoExcluidasImovel == null || colecaoTarifaSocialNaoExcluidasImovel.isEmpty()) { getControladorImovel().atualizarImovelPerfilNormal(imovel, registradorOperacao); } } } if (imovelAtualizar != null) { imovelAtualizar.setUltimaAlteracao(new Date()); registradorOperacao.registrarOperacao(imovelAtualizar); getControladorUtil().atualizar(imovelAtualizar); } manipulacaoRegistro = true; // PARA MAIS DE UMA ECONOMIA } else if (colecaoClienteImovelEconomia != null && !colecaoClienteImovelEconomia.isEmpty()) { Iterator colecaoClienteImovelEconomiaIterator = colecaoClienteImovelEconomia.iterator(); ClienteImovelEconomia clienteImovelEconomia = null; Collection colecaoTarifaSocialDadoMultiplasEconomia = null; int qtdEconomiaTarifaSocial = 0; while (colecaoClienteImovelEconomiaIterator.hasNext()) { clienteImovelEconomia = (ClienteImovelEconomia) colecaoClienteImovelEconomiaIterator.next(); colecaoTarifaSocialDadoMultiplasEconomia = clienteImovelEconomia.getImovelEconomia() .getTarifaSocialDadoEconomias(); if (colecaoTarifaSocialDadoMultiplasEconomia != null && !colecaoTarifaSocialDadoMultiplasEconomia.isEmpty()) { qtdEconomiaTarifaSocial++; } } // Todas as economias ter�o que ser informadas // ============================================================================= if (qtdEconomiaTarifaSocial != getControladorImovel().obterQuantidadeEconomias(imovelSessao)) { throw new ControladorException("atencao.informar.tarifa_social.economias"); } // ============================================================================= colecaoClienteImovelEconomiaIterator = colecaoClienteImovelEconomia.iterator(); clienteImovelEconomia = null; colecaoTarifaSocialDadoMultiplasEconomia = null; while (colecaoClienteImovelEconomiaIterator.hasNext()) { clienteImovelEconomia = (ClienteImovelEconomia) colecaoClienteImovelEconomiaIterator.next(); colecaoTarifaSocialDadoMultiplasEconomia = clienteImovelEconomia.getImovelEconomia() .getTarifaSocialDadoEconomias(); if (colecaoTarifaSocialDadoMultiplasEconomia != null && !colecaoTarifaSocialDadoMultiplasEconomia.isEmpty()) { manipulacaoRegistro = true; TarifaSocialDadoEconomia tarifaSocialDadoEconomia = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialDadoMultiplasEconomia); Collection colecaoTarifaSocialDadoEconomiaOutroImovel = this .pesquisarClientesUsuarioExistenteTarifaSocial(clienteImovelEconomia.getCliente().getId()); if (colecaoTarifaSocialDadoEconomiaOutroImovel != null && !colecaoTarifaSocialDadoEconomiaOutroImovel.isEmpty()) { if (idTarifaSocialDadoEconomiaExcluida == null) { throw new ControladorException("atencao.tarifa_social_motivo_exclusao_nao_informado"); } else { TarifaSocialDadoEconomia tarifaSocialDadoEconomiaExcluir = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialDadoEconomiaOutroImovel); // Verifica se o cliente est� em revis�o e em caso // afirmativo // recupera o id da antiga tarifa social tarifaSocialDadoEconomiaExcluir = this .pesquisarTarifaSocial(tarifaSocialDadoEconomiaExcluir.getId()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialExclusaoMotivo( tarifaSocialDadoEconomia.getTarifaSocialExclusaoMotivo()); tarifaSocialDadoEconomiaExcluir.setTarifaSocialRevisaoMotivo(null); tarifaSocialDadoEconomiaExcluir.setDataRevisao(null); tarifaSocialDadoEconomiaExcluir.setDataExclusao(new Date()); tarifaSocialDadoEconomiaExcluir.setUltimaAlteracao(new Date()); idImovel = tarifaSocialDadoEconomiaExcluir.getImovel().getId(); if (tarifaSocialDadoEconomiaExcluir != null) { // ------------ REGISTRAR // TRANSa��o---------------------------- registradorOperacao.registrarOperacao(tarifaSocialDadoEconomiaExcluir); // --------FIM---- REGISTRAR // TRANSa��o---------------------------- getControladorUtil().atualizar(tarifaSocialDadoEconomiaExcluir); Collection colecaoTarifaSocialNaoExcluidasImovel = this .pesquisarTarifaSocialImovel(idImovel); if (colecaoTarifaSocialNaoExcluidasImovel == null || colecaoTarifaSocialNaoExcluidasImovel.isEmpty()) { getControladorImovel().atualizarImovelPerfilNormal( tarifaSocialDadoEconomiaExcluir.getImovel(), registradorOperacao); } } } } // Para mais de uma economia � obrigat�rio informar o // imovelEconomia tarifaSocialDadoEconomia.setImovelEconomia(clienteImovelEconomia.getImovelEconomia()); tarifaSocialDadoEconomia.setImovel(imovelSessao); // Carregando o im�vel FiltroImovel filtroImovel = new FiltroImovel(); // Objetos que ser�o retornados pelo hibernate filtroImovel.adicionarCaminhoParaCarregamentoEntidade("imovelPerfil"); // Inseri ou atualiza na base. if (tarifaSocialDadoEconomia.getId() != null) { FiltroTarifaSocialDadoEconomia filtroTarifaSocialDadoEconomia = new FiltroTarifaSocialDadoEconomia(); filtroTarifaSocialDadoEconomia.setInitializeLazy(true); filtroTarifaSocialDadoEconomia.adicionarParametro(new ParametroSimples( FiltroTarifaSocialDadoEconomia.ID, tarifaSocialDadoEconomia.getId())); Collection colecaoTarifaSocialAtualizar = getControladorUtil() .pesquisar(filtroTarifaSocialDadoEconomia, TarifaSocialDadoEconomia.class.getName()); TarifaSocialDadoEconomia tarifaSocialDadoEconomiaAtualizar = (TarifaSocialDadoEconomia) Util .retonarObjetoDeColecao(colecaoTarifaSocialAtualizar); int qtdeRecadastramento = 1; if (tarifaSocialDadoEconomiaAtualizar.getQuantidadeRecadastramento() != null) { qtdeRecadastramento = tarifaSocialDadoEconomiaAtualizar.getQuantidadeRecadastramento() .shortValue() + 1; } tarifaSocialDadoEconomia.setUltimaAlteracao(new Date()); tarifaSocialDadoEconomia.setDataExclusao(null); tarifaSocialDadoEconomia.setTarifaSocialExclusaoMotivo(null); tarifaSocialDadoEconomia.setQuantidadeRecadastramento(new Short("" + qtdeRecadastramento)); tarifaSocialDadoEconomia.setDataRecadastramento(new Date()); registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); this.atualizarDadosTarifaSocialImovel(tarifaSocialDadoEconomia); } else { tarifaSocialDadoEconomia.setUltimaAlteracao(new Date()); tarifaSocialDadoEconomia.setDataExclusao(null); tarifaSocialDadoEconomia.setTarifaSocialExclusaoMotivo(null); tarifaSocialDadoEconomia.setDataImplantacao(new Date()); registradorOperacao.registrarOperacao(tarifaSocialDadoEconomia); getControladorUtil().inserir(tarifaSocialDadoEconomia); } } } if (colecaoImovelEconomiaAtualizar != null && !colecaoImovelEconomiaAtualizar.isEmpty()) { Iterator colecaoImovelEconomiaAtualizarIterator = colecaoImovelEconomiaAtualizar.iterator(); while (colecaoImovelEconomiaAtualizarIterator.hasNext()) { ImovelEconomia imovelEconomiaAtualizar = (ImovelEconomia) colecaoImovelEconomiaAtualizarIterator .next(); imovelEconomiaAtualizar.setUltimaAlteracao(new Date()); registradorOperacao.registrarOperacao(imovelEconomiaAtualizar); getControladorUtil().atualizar(imovelEconomiaAtualizar); } } } else { // Nenhuma tarifa social foi encontrada throw new ControladorException("atencao.nenhuma.tarifa_social.encontrada"); } if (!manipulacaoRegistro) { // Nenhuma tarifa social foi encontrada throw new ControladorException("atencao.nenhuma.tarifa_social.encontrada"); } if (imovelAtualizar != null) { // ------------ REGISTRAR Transa��o---------------------------- registradorOperacao.registrarOperacao(imovelAtualizar); // --------FIM---- REGISTRAR TRANSa��o---------------------------- this.atualizarImovelPerfilTarifaSocial(imovelAtualizar); } else { // ------------ REGISTRAR Transa��o---------------------------- registradorOperacao.registrarOperacao(imovelSessao); // --------FIM---- REGISTRAR TRANSa��o---------------------------- this.atualizarImovelPerfilTarifaSocial(imovelSessao); } // Colocado por Raphael Rossiter em 10/03/2008 ObterDadosRegistroAtendimentoHelper registroAtendimentoHelper = getControladorRegistroAtendimento() .obterDadosRegistroAtendimento(registroAtendimento.getId()); SolicitacaoTipoEspecificacao especificacao = registroAtendimentoHelper.getRegistroAtendimento() .getSolicitacaoTipoEspecificacao(); if (especificacao.getDebitoTipo() != null) { getControladorRegistroAtendimento().encerrarRegistroAtendimento(registroAtendimento, registroAtendimentoUnidade, usuarioLogado, especificacao.getDebitoTipo().getId(), especificacao.getValorDebito(), 1, "100", false, null, false); } else { getControladorRegistroAtendimento().encerrarRegistroAtendimento(registroAtendimento, registroAtendimentoUnidade, usuarioLogado, null, null, null, null, false, null, false); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Retorna a economia do im�vel a partir do id do clienteImovelEconomia * * Autor: Rafael Corr�a * * Data: 15/02/2007 */ public ImovelEconomia pesquisarImovelEconomiaPeloCliente( Integer idClienteImovelEconomia) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarImovelEconomiaPeloCliente(idClienteImovelEconomia); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } /** * [UC0054] - Inserir Dados Tarifa Social * * Autor: Vivianne Sousa * * Data: 27/10/2008 */ public Collection pesquisarImovelEconomia(Integer idImovel) throws ControladorException { try { return this.repositorioImovelTarifaSocial .pesquisarImovelEconomia(idImovel); } catch (ErroRepositorioException ex) { ex.printStackTrace(); throw new ControladorException("erro.sistema", ex); } } }