package gcom.seguranca; import gcom.cadastro.imovel.Imovel; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.FiltroPemissaoEspecial; import gcom.seguranca.acesso.usuario.FiltroUsuarioPemissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioPermissaoEspecial; import gcom.util.ConstantesJNDI; import gcom.util.ConstantesSistema; import gcom.util.ControladorException; import gcom.util.ControladorUtilLocal; import gcom.util.ControladorUtilLocalHome; import gcom.util.ServiceLocator; import gcom.util.ServiceLocatorException; import gcom.util.SistemaException; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Iterator; import javax.ejb.CreateException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; /** * Defini��o da l�gica de neg�cio do Session Bean de * ControladorPermissaoEspecial * * @author Rodrigo Silveira * @created 07/11/2006 */ public class ControladorPermissaoEspecialSEJB implements SessionBean { private static final long serialVersionUID = 1L; SessionContext sessionContext; /** * < <Descri��o do m�todo>> * * @exception CreateException * Descri��o da exce��o */ public void ejbCreate() throws CreateException { } /** * < <Descri��o do m�todo>> */ public void ejbRemove() { } /** * < <Descri��o do m�todo>> */ public void ejbActivate() { } /** * < <Descri��o do m�todo>> */ public void ejbPassivate() { } /** * Seta o valor de sessionContext * * @param sessionContext * O novo valor de sessionContext */ public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } /** * Verifica as permiss�es especiais do usu�rio por funcionalidade informada * no sistema * * @author Rodrigo Silveira * @date 07/11/2006 * * @param permissaoEspecial * @param usuario * @return */ public boolean verificarPermissaoEspecial(int permissaoEspecial, Usuario usuario) throws ControladorException { boolean retorno = false; FiltroUsuarioPemissaoEspecial filtroUsuarioPemissaoEspecial = new FiltroUsuarioPemissaoEspecial(); filtroUsuarioPemissaoEspecial .adicionarParametro(new ParametroSimples( FiltroUsuarioPemissaoEspecial.USUARIO_COMP_ID, usuario .getId())); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples( FiltroUsuarioPemissaoEspecial.PERMISSAO_ESPECIAL_COMP_ID, permissaoEspecial)); if (getControladorUtil().pesquisar(filtroUsuarioPemissaoEspecial, UsuarioPermissaoEspecial.class.getName()).size() > 0) { retorno = true; } return retorno; } private ControladorUtilLocal getControladorUtil() { ControladorUtilLocalHome localHome = null; ControladorUtilLocal local = null; // pega a inst�ncia do ServiceLocator. ServiceLocator locator = null; try { locator = ServiceLocator.getInstancia(); localHome = (ControladorUtilLocalHome) locator .getLocalHome(ConstantesJNDI.CONTROLADOR_UTIL_SEJB); // guarda a referencia de um objeto capaz de fazer chamadas � // objetos remotamente local = localHome.create(); return local; } catch (CreateException e) { throw new SistemaException(e); } catch (ServiceLocatorException e) { throw new SistemaException(e); } } /** * Verifica as permiss�es especiais do usu�rio por funcionalidade informada * no sistema * * @author Vivianne Sousa * @date 09/11/2006 * * @param permissaoEspecial * @param usuario * @param objeto * */ public void verificarPermissaoEspecial(int permissaoEspecial, Usuario usuario, Object objeto) throws ControladorException { switch (permissaoEspecial) { case PermissaoEspecial.IMOVEL_EM_SITUACAO_COBRANCA: if (objeto instanceof Imovel) { Imovel imovel = (Imovel) objeto; verificarPermissaoEspecialImovelSituacaoCobranca( permissaoEspecial, usuario, imovel); } break; } } /** * Verifica as permiss�es especiais do usu�rio por funcionalidade informada * no sistema * * @author Vivianne Sousa * @date 09/11/2006 * * @param permissaoEspecial * @param usuario * @param imovel */ public void verificarPermissaoEspecialImovelSituacaoCobranca( int permissaoEspecial, Usuario usuario, Imovel imovel) throws ControladorException { if (imovel.getCobrancaSituacao() != null && imovel.getCobrancaSituacao().getId() != null && !imovel.getCobrancaSituacao().getId().equals("") && !imovel.getCobrancaSituacao().getId().equals("0") && imovel.getCobrancaSituacao().getIndicadorBloqueioParcelamento().equals(ConstantesSistema.SIM)) { if (!verificarPermissaoEspecial(permissaoEspecial, usuario)) { throw new ControladorException( "atencao.imovel.em.situacao.cobranca", null, imovel .getCobrancaSituacao().getDescricao()); } } } /** * Verifica permiss�o especial para aceitar um valor de entrada menor q o * valor m�nimo de entrada na terceira p�gina de Efetuar Parcelamento * D�bitos * * @author Vivianne Sousa * @date 28/11/2006 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoValMinimoEntrada(Usuario usuario) throws ControladorException { boolean temPermissaoValMinimoEntrada = this.verificarPermissaoEspecial( PermissaoEspecial.TESTAR_VAL_MINIMO_ENTRADA, usuario); return temPermissaoValMinimoEntrada; } /** * Verifica permiss�o especial para habilitar ou n�o o formul�rio * * @author Arthur Carvalho * @date 13/10/2008 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoValidarAcrescimosImpontualidade(Usuario usuario) throws ControladorException { boolean validarAcrescimoImpontualidade = this.verificarPermissaoEspecial( PermissaoEspecial.VALIDAR_ACRESCIMOS_IMPONTUALIDADE, usuario); return validarAcrescimoImpontualidade; } /** * Verifica permiss�o especial para atualizar um cliente que seja usu�rio da * tarifa social * * @author Rafael Corr�a * @date 16/02/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoAtualizarUsuarioTarifaSocial( Usuario usuario) throws ControladorException { boolean temPermissaoAtualizarUsuarioTarifaSocial = this .verificarPermissaoEspecial( PermissaoEspecial.CLIENTE_USUARIO_TARIFA_SOCIAL, usuario); return temPermissaoAtualizarUsuarioTarifaSocial; } /** * Verifica permiss�o especial para atualizar um LOGRADOURO_BAIRRO * * @author Raphael Rossiter, Romulo Aurelio * @date 24/02/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoAtualizarLogradouroBairro( Usuario usuario) throws ControladorException { boolean retorno = this.verificarPermissaoEspecial( PermissaoEspecial.ATUALIZAR_LOGRADOURO_BAIRRO, usuario); return retorno; } /** * Verifica permiss�o especial para N�O gerar d�bito no informar retorno OS fiscaliza��o * * @author Raphael Rossiter * @date 03/03/2007 * * @param usuario */ public boolean verificarPermissaoGeracaoDebitoOSFiscalizacao( Usuario usuario) throws ControladorException { boolean retorno = this.verificarPermissaoEspecial( PermissaoEspecial.GERACAO_DEBITO_OS_FISCALIZACAO, usuario); return retorno; } /** * Verifica permiss�o especial para inserir Imovel com logradouro.municipio * diferente de setorComercial.municipio * * @author R�mulo Aur�lio * @date 23/02/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInserirImovelMunicipioLogradouroDiferenteSetor( Usuario usuario) throws ControladorException { boolean temPermissaoInserirImovelMunicipioLogradouroDiferenteSetor = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_IMOVEL_MUNICIPIO_LOGRADOURO_DIFERENTE_SETOR, usuario); return temPermissaoInserirImovelMunicipioLogradouroDiferenteSetor; } /** * Verifica permiss�o especial para atualizar Imovel com * logradouro.municipio diferente de setorComercial.municipio * * @author R�mulo Aur�lio * @date 23/02/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoAtualizarImovelMunicipioLogradouroDiferenteSetor( Usuario usuario) throws ControladorException { boolean temPermissaoAtualizarImovelMunicipioLogradouroDiferenteSetor = this .verificarPermissaoEspecial( PermissaoEspecial.ATUALIZAR_IMOVEL_MUNICIPIO_LOGRADOURO_DIFERENTE_SETOR, usuario); return temPermissaoAtualizarImovelMunicipioLogradouroDiferenteSetor; } /** * Verifica permiss�o especial para inserir d�bito a cobrar * sem valor da entrada e a taxa de juros * * @author Ana Maria * @date 27/02/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInserirDebitoACobrarSemEntradaSemJuros( Usuario usuario) throws ControladorException { boolean temPermissaoInserirDebitoACobrarSemEntradaSemJuros = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_DEBITO_A_COBRAR_SEM_ENTRADA_SEM_JUROS, usuario); return temPermissaoInserirDebitoACobrarSemEntradaSemJuros; } /** * Verifica permiss�o especial para inserir motivo * da n�o cobran�a * * @author Ana Maria * @date 03/03/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInformarMotivoNaoCobranca( Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.INFORMAR_MOTIVO_NAO_COBRANCA, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Verifica permiss�o especial para informar nova data para vencimento alternativo * * @author Vivianne Sousa * @date 06/03/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInformarVencimentoAlternativoNovaData( Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.INFORMAR_VENCIMENTO_ALTERNATIVO_NOVA_DATA, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Verifica permiss�o especial para n�o testar quantidade de parcelas no Efetuar Parcelamento * * @author Vivianne Sousa * @date 16/03/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoNaoTestarQtdePrestacaoParcelamento( Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.PARCELAR_NAO_TESTAR_QTDE_DE_PRESTACAO, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Verifica permiss�o especial para informar * nova data para vencimento alternativo antes do periodo v�lido * * @author Vivianne Sousa * @date 19/03/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInformarVencimentoAlternativoAntesDoPeriodoValido( Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.INFORMAR_VENCIMENTO_ALTERNATIVO_ANTES_DO_PERIODO_VALIDO, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Manter conta - Alterar vencimento sem ra * * @author Ana Maria * @date 26/03/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoAlterarVencimentoSemRa(Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.ALTERAR_VENCIMENTO_CONTA_SEM_RA, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Inserir conta - inserir conta sem cronograma de faturamento e sem atividade efetuar leitura * * @author Raphael Rossiter * @date 08/05/2007 * * @param usuario */ public boolean verificarPermissaoInserirContaFaturamentoAntecipado(Usuario usuario) throws ControladorException { boolean temPermissaoInformarMotivoNaoCobranca = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_CONTA_FATURAMENTO_ANTECIPADO, usuario); return temPermissaoInformarMotivoNaoCobranca; } /** * Inseir D�bito a cobrar * * @author Ana Maria * @date 23/05/2007 * * @param httpServletRequest * @param usuario */ public boolean verificarPermissaoInserirDebitoACobrarSemRa(Usuario usuario) throws ControladorException { boolean temPermissaoInserirDebitoACobrarSemRa = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_DEBITO_A_COBRAR_SEM_RA, usuario); return temPermissaoInserirDebitoACobrarSemRa; } /** * Atualizar Cliente * * @author Vivianne Sousa * @date 30/07/2007 * * @param usuario */ public boolean verificarPermissaoAlterarNomeCliente(Usuario usuario) throws ControladorException { boolean temPermissaoAlterarNomeCliente = this .verificarPermissaoEspecial( PermissaoEspecial.ALTERAR_NOME_CLIENTE, usuario); return temPermissaoAlterarNomeCliente; } /** * Incluir Devolu��o * * @author Vivianne Sousa * @date 30/07/2007 * * @param usuario */ public boolean verificarPermissaoIcluirDevolucaoMaiorValorMaximo(Usuario usuario) throws ControladorException { boolean temPermissaoIcluirDevolucaoMaiorValorMaximo = this .verificarPermissaoEspecial( PermissaoEspecial.INCLUIR_DEVOLUCAO_MAIOR_VALOR_MAXIMO, usuario); return temPermissaoIcluirDevolucaoMaiorValorMaximo; } /** * [UC0194] Cr�dito a Realizar Permite inserir um cr�dito a realizar * * @author S�vio Luiz * @since 21/08/2006 */ public boolean verificarPermissaoIcluirCreditoARealizarValorMaximo(Usuario usuario) throws ControladorException { boolean temPermissaoIcluirDevolucaoMaiorValorMaximo = this .verificarPermissaoEspecial( PermissaoEspecial.INCLUIR_CREDITO_A_REALIZAR_VALOR_MAXIMO, usuario); return temPermissaoIcluirDevolucaoMaiorValorMaximo; } /** * [UC0194] Cr�dito a Realizar Permite inserir um cr�dito a realizar * * @author S�vio Luiz * @since 21/08/2006 */ public boolean verificarPermissaoIcluirCreditoARealizarQuantidadeParcelasMaximo(Usuario usuario) throws ControladorException { boolean temPermissaoIcluirDevolucaoMaiorValorMaximo = this .verificarPermissaoEspecial( PermissaoEspecial.INCLUIR_CREDITO_A_REALIZAR_QUANTIDADE_PARCELAS_MAXIMO, usuario); return temPermissaoIcluirDevolucaoMaiorValorMaximo; } /** * [UC0630] Solicitar Emiss�o do Extrato de Debitos * * @author Vivianne Sousa * @since 30/08/2007 */ public boolean verificarPermissaoIncluirAcrescimoImpontualidadeNoExtratoDeDebitosComDesconto(Usuario usuario) throws ControladorException { boolean temPermissaoIncluirAcrescimoImpontualidadeNoExtratoDeDebitosComDesconto = this .verificarPermissaoEspecial( PermissaoEspecial.INCLUIR_ACRESCIMO_IMPONTUALIDADE_NO_EXTRATO_DE_DEBITOS_COM_DESCONTO, usuario); return temPermissaoIncluirAcrescimoImpontualidadeNoExtratoDeDebitosComDesconto; } /** * [UC0630] Solicitar Emiss�o do Extrato de Debitos * * @author Vivianne Sousa * @since 30/08/2007 */ public boolean verificarPermissaoRetirarTaxaCobrancaDoExtratoDeDebitos(Usuario usuario) throws ControladorException { boolean temPermissaoRetirarTaxaCobrancaDoExtratoDeDebitos = this .verificarPermissaoEspecial( PermissaoEspecial.RETIRAR_TAXA_COBRANCA_DO_EXTRATO_DE_DEBITOS, usuario); return temPermissaoRetirarTaxaCobrancaDoExtratoDeDebitos; } /** * [UC0XXX] Consultar D�bitos * * @author Rafael Corr�a * @since 13/09/2007 */ public boolean verificarPermissaoConsultarDebitosAtualDoImovelOuTodos(Usuario usuario) throws ControladorException { return verificarPermissaoEspecial(PermissaoEspecial.CONSULTAR_DEBITOS_ATUAL_DO_IMOVEL_OU_TODOS, usuario); } /** * Inserir d�bito a cobrar - inserir debito a cobrar independente da situacao da ligacao de agua e esgoto do * imovel * * @author Raphael Rossiter * @date 03/10/2007 * * @param usuario */ public boolean verificarPermissaoInserirDebitoACobrarImovelSituacao(Usuario usuario) throws ControladorException { boolean temPermissaoInserirDebitoACobrarImovelSituacao = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_DEBITO_A_COBRAR_IMOVEL_SITUACAO, usuario); return temPermissaoInserirDebitoACobrarImovelSituacao; } /** * Reiniciar um batch * * @author Rafael Corr�a * @date 06/11/2007 * * @param usuario */ public boolean verificarPermissaoReiniciarBatch(Usuario usuario) throws ControladorException { boolean temPermissaoReiniciarBatch = this .verificarPermissaoEspecial( PermissaoEspecial.REINICIAR_BATCH, usuario); return temPermissaoReiniciarBatch; } /** * Permite retificar uma conta sem RA * * @author Raphael Rossiter * @date 09/11/2007 * * @param usuario */ public boolean verificarPermissaoRetificarContaSemRA(Usuario usuario) throws ControladorException { boolean temPermissaoRetificarContaSemRA = this .verificarPermissaoEspecial( PermissaoEspecial.RETIFICAR_CONTA_SEM_RA, usuario); return temPermissaoRetificarContaSemRA; } /** * Permite excluir debito a cobrar * * @author Marcio Roberto * @date 26/11/2007 * * @param usuario */ public boolean verificarPermissaoExcluirDebitoACobrar(Usuario usuario) throws ControladorException { boolean temPermissaoExcluirDebitoACobrar = this .verificarPermissaoEspecial( PermissaoEspecial.EXCLUIR_DEBITO_A_COBRAR, usuario); return temPermissaoExcluirDebitoACobrar; } /** * Permite Gerar OS Seletivas de Hidrometro * * @author Ivan S�rgio * @date 06/12/2007 * * @param usuario */ public boolean verificarPermissaoGerarOSSeletivasHidrometro(Usuario usuario) throws ControladorException { boolean temPermissao = this.verificarPermissaoEspecial( PermissaoEspecial.GERAR_OS_SELETIVA_HIDROMETRO, usuario); return temPermissao; } /** * Permite Cancelar a Conta Sem RA * * @author Ivan S�rgio * @date 28/01/2008 * * @param usuario */ public boolean verificarPermissaoCancelarContaSemRA(Usuario usuario) throws ControladorException { boolean temPermissao = this.verificarPermissaoEspecial( PermissaoEspecial.CANCELAR_CONTA_SEM_RA, usuario); return temPermissao; } /** * Permite Atualizar os Dados da Fiscalizacao * * @author Ivan S�rgio * @date 10/04/2008 * * @param usuario */ public boolean verificarPermissaoAtualizarDadosFiscalizacao(Usuario usuario) throws ControladorException { boolean temPermissao = this.verificarPermissaoEspecial( PermissaoEspecial.ATUALIZAR_DADOS_FISCALIZACAO, usuario); return temPermissao; } /** * Permite Visualizar Dia de Vencimento da Conta em Cliente * * @author R�mulo Aur�lio * @date 07/05/2008 * * @param usuario */ public boolean verificarPermissaoVisualizarDiaVencimentoContaCliente(Usuario usuario) throws ControladorException { boolean temPermissaoVisualizarDiaVencimentoContaCliente = this .verificarPermissaoEspecial( PermissaoEspecial.VISUALIZAR_DIA_VENCIMENTO_CLIENTE, usuario); return temPermissaoVisualizarDiaVencimentoContaCliente; } /** * Permite Desfazer a Fiscalizacao do Boletim de OS Concluida * * @author Ivan S�rgio * @date 02/05/2008 * * @param usuario */ public boolean verificarPermissaoDesfazerFiscalizacaoBoletimOSConcluida( Usuario usuario) throws ControladorException { boolean temPermissao = this.verificarPermissaoEspecial( PermissaoEspecial.DESFAZER_FISCALIZACAO_BOLETIM_OS_CONCLUIDA, usuario); return temPermissao; } /** * [UC0011] Inserir Imovel * * @author Vivianne Sousa * @since 22/05/2008 */ public boolean verificarPermissaoInserirImovelComPerfilCorporativo(Usuario usuario) throws ControladorException { boolean temPermissaoInserirImovelComPerfilCorporativo = this .verificarPermissaoEspecial( PermissaoEspecial.INSERIR_IMOVEL_COM_PERFIL_CORPORATIVO, usuario); return temPermissaoInserirImovelComPerfilCorporativo; } /** * [UC0014] Manter Imovel * * @author Vivianne Sousa * @since 22/05/2008 */ public boolean verificarPermissaoAlterarPerfilCorporativoImovel(Usuario usuario) throws ControladorException { boolean temPermissaoAlterarPerfilCorporativoImovel = this .verificarPermissaoEspecial( PermissaoEspecial.ALTERAR_PERFIL_CORPORATIVO_IMOVEL, usuario); return temPermissaoAlterarPerfilCorporativoImovel; } /** * [UC457]Encerrar Ordem Servico. * * @author Yara Taciane * @since 18/06/2008 */ public boolean verificarPermissaoInformarDataEncOSAnteriorDataCorrente(Usuario usuario) throws ControladorException { boolean temPermissaoInformarDataEncOSAnteriorDataCorrente = this .verificarPermissaoEspecial( PermissaoEspecial.INFORMAR_DATA_ENC_OS_ANTERIOR_DATA_CORRENTE, usuario); return temPermissaoInformarDataEncOSAnteriorDataCorrente; } /** * [UC399] Inserir Tipo de Solicita��o com Especifica��es * * @author Rafael Corr�a * @since 12/08/2008 */ public boolean verificarPermissaoAlterarIndicadorUsoSistemaTipoSolicitacao(Usuario usuario) throws ControladorException { boolean temPermissaoAlterarIndicadorUsoSistemaTipoSolicitacao = this .verificarPermissaoEspecial( PermissaoEspecial.ALTERAR_INDICADOR_USO_SISTEMA_TIPO_SOLICITACAO, usuario); return temPermissaoAlterarIndicadorUsoSistemaTipoSolicitacao; } /** * @author Vivianne Sousa * @since 15/09/2008 */ public boolean verificarPermissaoAlterarValidadeExtratoDebito(Usuario usuario) throws ControladorException { boolean temPermissaoAlterarValidadeExtratoDebito = this .verificarPermissaoEspecial( PermissaoEspecial.ALTERAR_VALIDADE_EXTRATO_DEBITO, usuario); return temPermissaoAlterarValidadeExtratoDebito; } /** * Permite emitir segunda via de uma conta sem documento de CPF OU CNPJ cadastrados no sistema. Esse situa��o * ocorrer� para as empresas que optarem pela obrigatoriedade do CPF OU CNPJ informado. * * @author Raphael Rossiter * @date 24/10/2008 * * @param usuario */ public boolean verificarPermissaoEmitir2ViaSemDocumentoValido(Usuario usuario) throws ControladorException { boolean temPermissaoEmitir2ViaSemDocumentoValido = this .verificarPermissaoEspecial(PermissaoEspecial.EMITIR_2_VIA_SEM_DOCUMENTO_VALIDO, usuario); return temPermissaoEmitir2ViaSemDocumentoValido; } /** * Permite emitir certid�o negativa mesmo que o cliente tenha um superior. * * @author Rafael Corr�a * @date 12/11/2008 * * @param usuario */ public boolean verificarPermissaoEmitirCertidaoNegativaComClienteSuperior(Usuario usuario) throws ControladorException { boolean temPermissaoEmitirCertidaoNegativaComClienteSuperior = this .verificarPermissaoEspecial(PermissaoEspecial.EMITIR_CERTIDAO_NEGATIVA_COM_CLIENTE_SUPERIOR, usuario); return temPermissaoEmitirCertidaoNegativaComClienteSuperior; } /** * Permite retificar um conjunto de contas a partir do manter conta. * * @author Raphael Rossiter * @date 03/11/2008 * * @param usuario */ public boolean verificarPermissaoRetificarConjuntoConta(Usuario usuario) throws ControladorException { boolean temPermissaoRetificarConjuntoConta = this .verificarPermissaoEspecial(PermissaoEspecial.RETIFICAR_CONJUNTO_CONTA, usuario); return temPermissaoRetificarConjuntoConta; } /** * Permite efetuar supress�o de liga��o de �gua. * * @author Vivianne Sousa * @date 09/03/2009 * * @param usuario */ public boolean verificarPermissaoEfetuarSupressaoAgua(Usuario usuario) throws ControladorException { boolean temPermissaoEfetuarSupressaoAgua = this .verificarPermissaoEspecial(PermissaoEspecial.EFETUAR_SUPRESSAO_DE_LIGACAO_AGUA, usuario); return temPermissaoEfetuarSupressaoAgua; } /** * Permite alterar situa��o de liga��o para imovel com debitos . * * @author Vivianne Sousa * @date 18/03/2009 * * @param usuario */ public boolean verificarPermissaoAlterarSituacaoLigacaoParaImovelComDebito(Usuario usuario) throws ControladorException { boolean temPermissaoAlterarSituacaoLigacaoParaImovelComDebito = this .verificarPermissaoEspecial(PermissaoEspecial.ALTERAR_SITUACAO_LIGACAO_PARA_IMOVEL_COM_DEBITO, usuario); return temPermissaoAlterarSituacaoLigacaoParaImovelComDebito; } /** * Permite retificar conta do im�vel com o perfil bloqueado. * * @author Ana Maria * @date 20/04/2009 * * @param usuario */ public boolean verificarPermissaoRetificarContaImovelPefilBloqueado(Usuario usuario) throws ControladorException { boolean temPermissaoRetificarContaImovelPefilBloqueado = this .verificarPermissaoEspecial(PermissaoEspecial.RETIFICAR_CONTA_IMOVEL_PERFIL_BLOQUEADO, usuario); return temPermissaoRetificarContaImovelPefilBloqueado; } /** * Permite retificar conta do im�vel com o perfil bloqueado. * * @author S�vio Luiz * @date 15/09/2009 * * @param usuario */ public boolean verificarPermissaoEmissaoDocumentoCobranca(Usuario usuario) throws ControladorException { boolean temPermissaoEmissaoDocumentoCobranca = this .verificarPermissaoEspecial(PermissaoEspecial.EMITIR_DOCUMENTO_COBRANCA,usuario); return temPermissaoEmissaoDocumentoCobranca; } /** * Verifica as permiss�es especiais do usu�rio * * @author Hugo Amorim * @date 30/12/2009 * * @param permissaoEspecial * @param usuario * @return true or false */ public boolean verificarPermissaoEspecialAtiva(int permissaoEspecial, Usuario usuario) throws ControladorException { boolean retorno = false; FiltroPemissaoEspecial filtroPemissaoEspecial = new FiltroPemissaoEspecial(); filtroPemissaoEspecial.adicionarParametro( new ParametroSimples(FiltroPemissaoEspecial.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroPemissaoEspecial.adicionarParametro( new ParametroSimples(FiltroPemissaoEspecial.ID, permissaoEspecial)); Collection<PermissaoEspecial> colecaoPermissaoEspecial = getControladorUtil().pesquisar(filtroPemissaoEspecial, PermissaoEspecial.class.getName()); PermissaoEspecial permissaoEspecialPesquisa = (PermissaoEspecial) Util.retonarObjetoDeColecao(colecaoPermissaoEspecial); //CASO N�O EXISTE A PERMISS�O NA BASE //COM INDICADOR DE USO ATIVO //RETORNAR TRUE if(permissaoEspecialPesquisa!=null){ FiltroUsuarioPemissaoEspecial filtroUsuarioPemissaoEspecial = new FiltroUsuarioPemissaoEspecial(); filtroUsuarioPemissaoEspecial .adicionarParametro(new ParametroSimples( FiltroUsuarioPemissaoEspecial.USUARIO_COMP_ID, usuario .getId())); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples( FiltroUsuarioPemissaoEspecial.PERMISSAO_ESPECIAL_COMP_ID, permissaoEspecialPesquisa.getId())); filtroUsuarioPemissaoEspecial.adicionarCaminhoParaCarregamentoEntidade("usuario"); filtroUsuarioPemissaoEspecial.adicionarCaminhoParaCarregamentoEntidade("permissaoEspecial"); Collection<UsuarioPermissaoEspecial> colecaoUsuarioPermissaoEspecial = getControladorUtil().pesquisar(filtroUsuarioPemissaoEspecial, UsuarioPermissaoEspecial.class.getName()); for (Iterator iterator = colecaoUsuarioPermissaoEspecial.iterator(); iterator.hasNext();) { UsuarioPermissaoEspecial usuarioPermissaoEspecial = (UsuarioPermissaoEspecial) iterator.next(); //VERIFICA SE POSSUI NA TABELA A PERMISS�O //COM INDICADOR DE USO IGUAL A ATIVO if(usuarioPermissaoEspecial.getUsuario().getId().toString().equals(usuario.getId().toString()) && usuarioPermissaoEspecial.getPermissaoEspecial().getId().toString().equals(permissaoEspecialPesquisa.getId().toString())){ retorno = true; } } }else{ retorno = true; } return retorno; } /** * @author Vivianne Sousa * @date 23/09/2010 * * @param usuario */ public boolean verificarPermissaoRetificarContaSemVerificarConsumoEsgoto( Usuario usuario) throws ControladorException { boolean temPermissaoRetificarContaSemVerificarConsumoEsgoto = this .verificarPermissaoEspecial(PermissaoEspecial.RETIFICAR_CONTA_SEM_VERIFICAR_CONSUMO_ESGOTO,usuario); return temPermissaoRetificarContaSemVerificarConsumoEsgoto; } }