fixes bug#0011700

dev: gleimar
qua: jose

Implementação efetuada.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@85128 d1611594-4594-4d17-8e1d-87c2c4800839
master
emerson 2018-09-05 19:11:03 +00:00
parent fb6064122e
commit ba94cf1477
1 changed files with 14 additions and 6 deletions

View File

@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
@ -39,12 +40,19 @@ public class PerfilFuncionHibernateDAO extends GenericHibernateDAO<PerfilFuncion
@Override
public boolean usuarioPossuiPermissaoFuncionalidade(Integer usuarioId, String descRuta) {
Criteria criteria = getSession().createCriteria(getPersistentClass());
criteria.add(Restrictions.eq("activo", Boolean.TRUE));
criteria.add(Restrictions.eq("usuarioId", usuarioId));
criteria.createAlias("funcionSistema", "fs");
criteria.add(Restrictions.eq("fs.descruta", descRuta));
PerfilFuncion perfilFuncion = (PerfilFuncion)criteria.uniqueResult();
StringBuilder instrucao = new StringBuilder();
instrucao.append("select pf.* from perfil_funcion pf ");
instrucao.append("inner join funcion_sistema fs on pf.funcionsistema_id = fs.funcionsistema_id ");
instrucao.append("inner join usuario_perfil up on pf.perfil_id = up.perfil_id ");
instrucao.append("where pf.activo = 1 ");
instrucao.append("and up.usuario_id = :usuarioId ");
instrucao.append("and fs.descruta = :descruta ");
Query query = getSession().createSQLQuery(instrucao.toString()).addEntity(PerfilFuncion.class);
query.setInteger("usuarioId", usuarioId);
query.setString("descruta", descRuta);
PerfilFuncion perfilFuncion = (PerfilFuncion)query.uniqueResult();
return !perfilFuncion.getIndLectura();
}