*/
public TipoFuncAcompTpfa buscarMaiorHierarquia(ItemEstruturaIett itemEstruturaIett, TipoFuncAcompTpfa tpfa, UsuarioUsu usuarioLogado) throws ECARException {
TipoFuncAcompDao tipoFuncAcompDao = new TipoFuncAcompDao(request);
UsuarioDao usuarioDao = new UsuarioDao(request);
TipoFuncAcompTpfa tpfaSuperior = null;
ItemEstUsutpfuacIettutfa iettutfa = null;
List<TipoFuncAcompTpfa> funcoesSuperiores = tipoFuncAcompDao.getListaTpfaSuperioresOrderByHierarquia(tpfa);
for (TipoFuncAcompTpfa tipoFuncAcompTpfa : funcoesSuperiores) {
iettutfa = getUsuarioAcompanhamento(itemEstruturaIett, tipoFuncAcompTpfa);
//Se existir usu�rio ou grupo associado a fun��o
//o sistema verifica se � o usu�rio logado ou algum grupo que ele perten�a
if (iettutfa != null){
if (iettutfa.getUsuarioUsu() != null && iettutfa.getUsuarioUsu().equals(usuarioLogado)){
//Verifica se o usu�rio logado est� associado a fun��o
tpfaSuperior = tipoFuncAcompTpfa;
break;
} else if (iettutfa.getSisAtributoSatb() != null){
Set gruposAcessoUsuarioLogado = usuarioDao.getClassesAcessoUsuario(usuarioLogado);
//Verifica se o usu�rio logado pertence ao grupo de usu�rio associado a fun��o do item
if (gruposAcessoUsuarioLogado != null && gruposAcessoUsuarioLogado.contains(iettutfa.getSisAtributoSatb())){
tpfaSuperior = tipoFuncAcompTpfa;
break;
}
}
}