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