package gcom.seguranca.acesso.usuario;
import gcom.util.ErroRepositorioException;
import java.math.BigDecimal;
import java.util.Collection;
/**
* < <Descri��o da Classe>>
*
* @author S�vio Luiz
* @created 27 de Julho de 2006
*/
public interface IRepositorioUsuario {
/**
* M�todo que consulta os grupos do usu�rio
*
* @author S�vio Luiz
* @date 27/06/2006
*/
public Collection pesquisarGruposUsuario(Integer idUsuario)
throws ErroRepositorioException;
/**
* M�todo que consulta as abrang�ncias dos usu�rio pelos os ids das
* abrang�ncias superiores e com o id da abrang�ncia diferente do id da
* abrang�ncia do usu�rio que est� inserindo(usu�rio logado)
*
* @author S�vio Luiz
* @date 28/06/2006
*/
public Collection pesquisarUsuarioAbrangenciaPorSuperior(
Collection colecaoUsuarioAbrangencia,
Integer idUsuarioAbrangenciaLogado) throws ErroRepositorioException;
/**
* Informa o n�mero total de registros de usuario grupo, auxiliando o
* esquema de pagina��o
*
* @author S�vio Luiz
* @date 30/06/2006
*
* @param Filtro
* da Pesquisa
* @param Pacote
* do objeto pesquisado
* @return N�mero de registros da pesquisa
* @throws ErroRepositorioException
* Exce��o do reposit�rio
*/
public int totalRegistrosPesquisaUsuarioGrupo(
FiltroUsuarioGrupo filtroUsuarioGrupo)
throws ErroRepositorioException;
/**
* Informa o n�mero total de registros de usuario grupo, auxiliando o
* esquema de pagina��o
*
* @author S�vio Luiz
* @date 30/06/2006
*
* @param Filtro
* da Pesquisa
* @param Pacote
* do objeto pesquisado
* @return N�mero de registros da pesquisa
* @throws ErroRepositorioException
* Exce��o do reposit�rio
*/
public Collection pesquisarUsuariosDosGruposUsuarios(
FiltroUsuarioGrupo filtroUsuarioGrupo, Integer numeroPagina)
throws ErroRepositorioException;
/**
* M�todo que consulta os grupos funcion�rios opera��es passando os ids dos
* grupos
*
* @author S�vio Luiz
* @date 11/07/2006
*/
public Collection pesquisarGruposFuncionalidadesOperacoes(Integer[] idsGrupos)
throws ErroRepositorioException;
/**
* M�todo que consulta os grupos funcion�rios opera��es passando os ids dos
* grupos e o id da funcionalidade
*
* @author S�vio Luiz
* @date 11/07/2006
*/
public Collection pesquisarGruposFuncionalidadesOperacoesPelaFuncionalidade(
Integer[] idsGrupos, Integer idFuncionalidade)
throws ErroRepositorioException;
/**
* M�todo que consulta os usu�rios restrin��o passando os ids dos grupos , o
* id da funcionalidade e o id do usu�rio
*
* @author S�vio Luiz
* @date 11/07/2006
*/
public Collection pesquisarUsuarioRestrincao(Integer[] idsGrupos,
Integer idFuncionalidade, Integer idUsuario)
throws ErroRepositorioException;
/**
* M�todo que consulta as funcionalidades da(s) funcionalidade(s)
* princpial(is)
*
* @author S�vio Luiz
* @date 12/07/2006
*/
public Collection pesquisarFuncionanidadesDependencia(
Collection idsFuncionalidades) throws ErroRepositorioException;
/**
* M�todo que consulta as opera��es da(s) funcionalidade(s)
*
* @author S�vio Luiz
* @date 12/07/2006
*/
public Collection pesquisarOperacoes(Collection idsFuncionalidades)
throws ErroRepositorioException;
/**
* M�todo que consulta as permiss�es especiais do usu�rio
*
* @author S�vio Luiz
* @date 12/07/2006
*/
public Collection pesquisarPermissaoEspecialUsuario(Integer idUsuario)
throws ErroRepositorioException;
/**
* M�todo que consulta as permiss�es especiais do usu�rio com os parametros
* das permiss�es de outro usu�rio
*
* @author S�vio Luiz
* @date 12/07/2006
*/
public Collection pesquisarPermissaoEspecialUsuarioComPermissoes(
Integer idUsuario, Collection permissoesEspeciais)
throws ErroRepositorioException;
/**
* M�todo que consulta as permiss�es especiais do usu�rio sem os parametros
* das permiss�es de outro usu�rio.Recupera todas as permiss�es do usuario
* que n�o tem a permiss�o de outro usu�rio
*
* @author S�vio Luiz
* @date 12/07/2006
*/
public Collection pesquisarPermissaoEspecialUsuarioSemPermissoes(
Integer idUsuario, Collection permissoesEspeciais)
throws ErroRepositorioException;
/**
* Essa verifica��o � preciso para quando for, [SB0011]- Atualizar Controles
* de Acesso no [SB0230]-Manter Usu�rio ,saber que grupos daquela
* funcionalidade daquela opera��o ser�o inseridos na tabela
* UsuarioGrupoRestrincao
*
* @author S�vio Luiz
* @date 11/07/2006
*/
public Collection pesquisarIdsGruposPelaFuncionalidadeGruposOperacao(
Integer[] idsGrupos, Integer idFuncionalidade, Integer idOperacao)
throws ErroRepositorioException;
/**
* M�todo que consulta os grupos do usu�rio da tabela grupoAcessos
*
* @author S�vio Luiz
* @date 21/02/2007
*/
public Collection pesquisarGruposUsuarioAcesso(Collection colecaoUsuarioGrupos)
throws ErroRepositorioException;
/**
* M�todo que consulta o nome do usu�rio de uma guia de devolu��o,
* passando por par�metro o id da guia de devolucao
*
* @author Daniel Alves
* @date 22/02/2010
*/
public String pesquisarUsuarioPorGuiaDevolucao( Integer idGuiaDevolucao)
throws ErroRepositorioException;
/**
* M�todo para pesquisar os usu�rios de uma Unidade Organizacional
*
* @author Daniel Alves
* @date 11/06/2010
*/
public Collection pesquisarUsuariosUnidadeOrganizacional(Integer idUnidadeOrganizacional)
throws ErroRepositorioException;
/**
* [UC0204] Consultar Conta
*
* @author Vivianne Sousa
* @date 16/11/2010
*/
public Collection pesquisarUsuario(Integer idOperacao,
Integer idImovel,String referenciaConta)
throws ErroRepositorioException ;
/**
* [UC0146] Manter Conta
* [SB0012] � Determinar compet�ncia de retifica��o de consumo
*
* @author Vivianne Sousa
* @date 16/02/2011
*/
public Collection pesquisarGrupoUsuario(Integer idUsuario)throws ErroRepositorioException;
/**
* [UC0146] Manter Conta
* [SB0012] � Determinar compet�ncia de retifica��o de consumo
*
* @author Vivianne Sousa
* @date 16/02/2011
*/
public BigDecimal pesquisarMaiorCompetenciaRetificacaoGrupo()throws ErroRepositorioException;
/**
* [UC0230] Inserir Usu�rio
* [FS0020] Verificar exist�ncia de usu�rio batch
* [FS0021] Verificar usu�rio batch
*
* @author Paulo Diniz
* @date 03/03/2011
*/
public Usuario pesquisarUsuarioRotinaBatch()throws ErroRepositorioException;
/**
* [UC0230] Inserir Usu�rio
* [FS0022] Verificar exist�ncia de usu�rio internet
* [FS0023] Verificar usu�rio internet
*
* @author Paulo Diniz
* @date 03/03/2011
*/
public Usuario pesquisarUsuarioInternet()throws ErroRepositorioException;
/**
*
* Filtra os Usuarios por Id ou Nome para ser utilizado no Autocomplete
*
* @author Paulo Diniz
* @date 04/04/2011
*
* @param valor
* @throws ErroRepositorioException
*/
public Collection filtrarAutocompleteUsuario(String valor)throws ErroRepositorioException;
}