Erro ao editar Perfil (fixes bug #6331)
Tempo: 02 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@44321 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
8e6347b131
commit
f13aebecd4
|
@ -12,5 +12,8 @@ import java.util.List;
|
||||||
* @author rodrigo
|
* @author rodrigo
|
||||||
*/
|
*/
|
||||||
public interface PerfilDAO extends GenericDAO<Perfil, Integer> {
|
public interface PerfilDAO extends GenericDAO<Perfil, Integer> {
|
||||||
|
|
||||||
public List<Perfil> buscar(String dscPerfil);
|
public List<Perfil> buscar(String dscPerfil);
|
||||||
|
|
||||||
|
public List<Perfil> buscaPerfilJerarquia(Perfil perfilUsuario);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
*/
|
*/
|
||||||
package com.rjconsultores.ventaboletos.dao.hibernate;
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.dao.PerfilDAO;
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.Perfil;
|
|
||||||
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.Order;
|
import org.hibernate.criterion.Order;
|
||||||
import org.hibernate.criterion.Restrictions;
|
import org.hibernate.criterion.Restrictions;
|
||||||
|
@ -15,32 +15,58 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.dao.PerfilDAO;
|
||||||
|
import com.rjconsultores.ventaboletos.entidad.Perfil;
|
||||||
|
import com.rjconsultores.ventaboletos.vo.segurida.PerfilJerarquia;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author rodrigo
|
* @author rodrigo
|
||||||
*/
|
*/
|
||||||
@Repository("perfilDAO")
|
@Repository("perfilDAO")
|
||||||
public class PerfilHibernateDAO extends GenericHibernateDAO<Perfil, Integer>
|
public class PerfilHibernateDAO extends GenericHibernateDAO<Perfil, Integer>
|
||||||
implements PerfilDAO {
|
implements PerfilDAO {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public PerfilHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
public PerfilHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
setSessionFactory(factory);
|
setSessionFactory(factory);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Perfil> obtenerTodos() {
|
public List<Perfil> buscaPerfilJerarquia(Perfil perfilUsuario) {
|
||||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
||||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
||||||
c.add(Restrictions.not(Restrictions.eq("descperfil", "RJ")));
|
|
||||||
c.addOrder(Order.asc("descperfil"));
|
|
||||||
|
|
||||||
return c.list();
|
PerfilJerarquia usuarioJerarquia = perfilUsuario.getIndJerarquia() == null ? PerfilJerarquia.NORMAL : PerfilJerarquia.buscar(perfilUsuario.getIndJerarquia());
|
||||||
}
|
|
||||||
|
|
||||||
public List<Perfil> buscar(String dscPerfil) {
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append(" from Perfil p ");
|
||||||
|
sb.append(" where p.activo = 1 ");
|
||||||
|
|
||||||
return this.findByCriteria(Restrictions.eq("descperfil", dscPerfil.trim()),Restrictions.eq("activo", Boolean.TRUE));
|
if (!usuarioJerarquia.equals(PerfilJerarquia.ADMIN)) {
|
||||||
|
if (!usuarioJerarquia.equals(PerfilJerarquia.NORMAL)) {
|
||||||
}
|
sb.append(" and (p.indJerarquia >= " + usuarioJerarquia.getValor() + " or p.indJerarquia <=" + PerfilJerarquia.NORMAL.getValor() + " or p.indJerarquia is null ) ");
|
||||||
|
} else {
|
||||||
|
sb.append(" and (p.indJerarquia is null or p.indJerarquia <=" + PerfilJerarquia.NORMAL.getValor() + " ) ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sb.append(" order by p.descperfil ");
|
||||||
|
|
||||||
|
Query query = getSession().createQuery(sb.toString());
|
||||||
|
return query.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Perfil> obtenerTodos() {
|
||||||
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
c.add(Restrictions.not(Restrictions.eq("descperfil", "RJ")));
|
||||||
|
c.addOrder(Order.asc("descperfil"));
|
||||||
|
|
||||||
|
return c.list();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Perfil> buscar(String dscPerfil) {
|
||||||
|
|
||||||
|
return this.findByCriteria(Restrictions.eq("descperfil", dscPerfil.trim()), Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,20 +9,23 @@ import java.util.List;
|
||||||
import com.rjconsultores.ventaboletos.entidad.Perfil;
|
import com.rjconsultores.ventaboletos.entidad.Perfil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author rodrigo
|
* @author rodrigo
|
||||||
*/
|
*/
|
||||||
public interface PerfilService{
|
public interface PerfilService {
|
||||||
|
|
||||||
public List<Perfil> obtenerTodos();
|
public List<Perfil> obtenerTodos();
|
||||||
|
|
||||||
public Perfil obtenerID(Integer id);
|
public Perfil obtenerID(Integer id);
|
||||||
|
|
||||||
public Perfil suscribir(Perfil entidad);
|
public Perfil suscribir(Perfil entidad);
|
||||||
|
|
||||||
public Perfil actualizacion(Perfil entidad);
|
public Perfil actualizacion(Perfil entidad);
|
||||||
|
|
||||||
|
public void borrar(Perfil entidad);
|
||||||
|
|
||||||
|
public List<Perfil> buscar(String dscPerfil);
|
||||||
|
|
||||||
|
public List<Perfil> buscaPerfilJerarquia(Perfil perfilUsuario);
|
||||||
|
|
||||||
public void borrar(Perfil entidad);
|
|
||||||
|
|
||||||
public List<Perfil> buscar(String dscPerfil);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,51 +15,55 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author rodrigo
|
* @author rodrigo
|
||||||
*/
|
*/
|
||||||
@Service("perfilService")
|
@Service("perfilService")
|
||||||
public class PerfilServiceImpl implements PerfilService {
|
public class PerfilServiceImpl implements PerfilService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PerfilDAO perfilDAO;
|
private PerfilDAO perfilDAO;
|
||||||
|
|
||||||
public List<Perfil> obtenerTodos() {
|
public List<Perfil> obtenerTodos() {
|
||||||
return perfilDAO.obtenerTodos();
|
return perfilDAO.obtenerTodos();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Perfil obtenerID(Integer id) {
|
public Perfil obtenerID(Integer id) {
|
||||||
return perfilDAO.obtenerID(id);
|
return perfilDAO.obtenerID(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Perfil suscribir(Perfil entidad) {
|
public Perfil suscribir(Perfil entidad) {
|
||||||
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
entidad.setFecmodif(Calendar.getInstance().getTime());
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
entidad.setActivo(Boolean.TRUE);
|
entidad.setActivo(Boolean.TRUE);
|
||||||
|
|
||||||
return perfilDAO.suscribir(entidad);
|
return perfilDAO.suscribir(entidad);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Perfil actualizacion(Perfil entidad) {
|
public Perfil actualizacion(Perfil entidad) {
|
||||||
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
entidad.setFecmodif(Calendar.getInstance().getTime());
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
entidad.setActivo(Boolean.TRUE);
|
entidad.setActivo(Boolean.TRUE);
|
||||||
|
|
||||||
return perfilDAO.actualizacion(entidad);
|
return perfilDAO.actualizacion(entidad);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void borrar(Perfil entidad) {
|
public void borrar(Perfil entidad) {
|
||||||
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
entidad.setFecmodif(Calendar.getInstance().getTime());
|
entidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
entidad.setActivo(Boolean.FALSE);
|
entidad.setActivo(Boolean.FALSE);
|
||||||
|
|
||||||
perfilDAO.actualizacion(entidad);
|
perfilDAO.actualizacion(entidad);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Perfil> buscar(String dscPerfil) {
|
public List<Perfil> buscar(String dscPerfil) {
|
||||||
return perfilDAO.buscar(dscPerfil);
|
return perfilDAO.buscar(dscPerfil);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Perfil> buscaPerfilJerarquia(Perfil perfilUsuario) {
|
||||||
|
return perfilDAO.buscaPerfilJerarquia(perfilUsuario);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.rjconsultores.ventaboletos.vo.segurida;
|
||||||
|
|
||||||
|
public enum PerfilJerarquia {
|
||||||
|
|
||||||
|
NORMAL(0), ADMIN(1), JERARQUIA_2(2), JERARQUIA_3(3), JERARQUIA_4(4);
|
||||||
|
|
||||||
|
private Integer valor;
|
||||||
|
|
||||||
|
private PerfilJerarquia(Integer valor) {
|
||||||
|
this.valor = valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getValor() {
|
||||||
|
return valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static PerfilJerarquia buscar(Integer valor) {
|
||||||
|
|
||||||
|
if (valor == null)
|
||||||
|
return NORMAL;
|
||||||
|
|
||||||
|
for (PerfilJerarquia jerarquia : PerfilJerarquia.values()) {
|
||||||
|
if (jerarquia.getValor().equals(valor)) {
|
||||||
|
return jerarquia;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue