correção do caso de uso 3387 relacionado ao filtro por empresa associada ao usuário

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@23721 d1611594-4594-4d17-8e1d-87c2c4800839
master
carla 2013-01-21 17:33:42 +00:00
parent 1273b8f71e
commit 6bedbed68b
12 changed files with 76 additions and 44 deletions

View File

@ -15,7 +15,7 @@ import java.util.List;
*/ */
public interface EmpresaDAO extends GenericDAO<Empresa, Integer> { public interface EmpresaDAO extends GenericDAO<Empresa, Integer> {
public List<Empresa> buscarTodosExceto(Integer... idEmpresa); public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa);
public List<Empresa> obtenerIndExternoFalse(); public List<Empresa> obtenerIndExternoFalse();

View File

@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.dao;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -21,6 +22,6 @@ public interface MarcaDAO extends GenericDAO<Marca, Short> {
public List<Marca> buscarDescricaoIdMarca(); public List<Marca> buscarDescricaoIdMarca();
public List<Marca> buscarMarcaPorEmpresa(Usuario usario); public List<Marca> buscarMarcaPorEmpresa(List<Empresa> empresa);
} }

View File

@ -9,6 +9,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.service.UsuarioEmpresaService; import com.rjconsultores.ventaboletos.service.UsuarioEmpresaService;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.hibernate.Criteria; import org.hibernate.Criteria;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
@ -50,14 +51,15 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer>
return c.list(); return c.list();
} }
public List<Empresa> buscarTodosExceto(Integer... idEmpresa) { public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa) {
Criteria c = this.makeCriteria(); List<Empresa> empresaList = new ArrayList<Empresa>();
for (Integer id : idEmpresa) { for (Integer id : idEmpresa) {
c.add(Restrictions.ne("empresaId", id)); for(Empresa e : empresa){
e.getEmpresaId().equals(id);
} }
c.add(Restrictions.eq("activo", Boolean.TRUE)); }
c.addOrder(Order.asc("nombempresa"));
return c.list(); return empresaList;
} }

View File

@ -4,6 +4,7 @@
*/ */
package com.rjconsultores.ventaboletos.dao.hibernate; package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.hibernate.Criteria; import org.hibernate.Criteria;
@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.MarcaDAO; import com.rjconsultores.ventaboletos.dao.MarcaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -33,15 +35,15 @@ public class MarcaHibernateDAO extends GenericHibernateDAO<Marca, Short>
setSessionFactory(factory); setSessionFactory(factory);
} }
// @Override @Override
// public List<Marca> obtenerTodos() { public List<Marca> obtenerTodos() {
// Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
// c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
// c.addOrder(Order.asc("descmarca")); c.addOrder(Order.asc("descmarca"));
//
// return c.list(); return c.list();
//
// } }
public List<Marca> buscarPorNome(String nomeMarca) { public List<Marca> buscarPorNome(String nomeMarca) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
@ -71,15 +73,14 @@ public class MarcaHibernateDAO extends GenericHibernateDAO<Marca, Short>
} }
@Override
public List<Marca> buscarMarcaPorEmpresa(Usuario usario) {
String hql = " select new com.rjconsultores.ventaboletos.entidad.Marca(marca.marcaId, marca.descmarca) from com.rjconsultores.ventaboletos.entidad.Marca marca inner join marca.empresa empresa, UsuarioEmpresa ue where " +
" empresa.empresaId = ue.empresa.empresaId and marca.activo = 1 and ue.usuario.usuarioId =:usuarioId";
Query sq = getSession().createQuery(hql); public List<Marca> buscarMarcaPorEmpresa(List<Empresa> usuario) {
sq.setParameter("usuarioId", 225); Criteria c = getSession().createCriteria(getPersistentClass());
List<Marca> lsMarca = sq.list(); c.add(Restrictions.eq("activo", Boolean.TRUE));
return lsMarca; for (Empresa id : usuario) {
c.add(Restrictions.eq("empresa", id));
}
return c.list();
} }
} }

View File

@ -37,7 +37,7 @@ public class UsuarioEmpresaHibernateDAO extends GenericHibernateDAO<UsuarioEmpre
public List<UsuarioEmpresa> obtenerPorUsuario(Usuario usuario) { public List<UsuarioEmpresa> obtenerPorUsuario(Usuario usuario) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("usuario", usuario)); c.add(Restrictions.eq("usuarioLog", usuario));
return c.list(); return c.list();
} }
@ -46,7 +46,7 @@ public class UsuarioEmpresaHibernateDAO extends GenericHibernateDAO<UsuarioEmpre
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("empresa", empresa)); c.add(Restrictions.eq("empresa", empresa));
c.add(Restrictions.eq("usuario", usuario)); c.add(Restrictions.eq("usuarioLog", usuario));
return c.list(); return c.list();
} }
@ -54,12 +54,14 @@ public class UsuarioEmpresaHibernateDAO extends GenericHibernateDAO<UsuarioEmpre
public List<Empresa> obtenerEmpresa(Usuario usuario) { public List<Empresa> obtenerEmpresa(Usuario usuario) {
Criteria c = getSession().createCriteria(getPersistentClass()); Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE)); c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("usuario", usuario)); c.add(Restrictions.eq("usuarioLog", usuario));
List<UsuarioEmpresa> usuarioEmpresaList = c.list(); List<UsuarioEmpresa> usuarioEmpresaList = c.list();
List<Empresa> empresaList = new ArrayList<Empresa>(); List<Empresa> empresaList = new ArrayList<Empresa>();
if(!usuarioEmpresaList.isEmpty()){
for(UsuarioEmpresa ue : usuarioEmpresaList){ for(UsuarioEmpresa ue : usuarioEmpresaList){
empresaList.add(ue.getEmpresa()); empresaList.add(ue.getEmpresa());
} }
}
return empresaList; return empresaList;
} }

View File

@ -94,6 +94,13 @@ public class Marca implements Serializable {
this.descmarca = descMarca; this.descmarca = descMarca;
} }
public Marca(Short marcaId, String descMarca, Integer usuarioId , Date fecmodif) {
this.marcaId = marcaId;
this.descmarca = descMarca;
this.usuarioId = usuarioId;
this.fecmodif = fecmodif;
}
public Short getMarcaId() { public Short getMarcaId() {
return marcaId; return marcaId;
} }

View File

@ -14,6 +14,7 @@ import javax.persistence.Basic;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue; import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType; import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
@ -65,11 +66,12 @@ public class Usuario implements Serializable, Authentication, UserDetails {
private String descCorreo; private String descCorreo;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL) @OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL)
private List<UsuarioPerfil> usuarioPerfilList; private List<UsuarioPerfil> usuarioPerfilList;
@OneToOne @OneToOne
@JoinColumn(name = "EMPLEADO_ID") @JoinColumn(name = "EMPLEADO_ID")
private Empleado empleado; private Empleado empleado;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL) @OneToMany(mappedBy = "usuarioLog", cascade = CascadeType.ALL,fetch=FetchType.EAGER)
private List<UsuarioEmpresa> usuarioEmpresaList; private List<UsuarioEmpresa> usuarioEmpresaList;
public String getClaveUsuario() { public String getClaveUsuario() {
@ -182,6 +184,20 @@ public class Usuario implements Serializable, Authentication, UserDetails {
return tmp; return tmp;
} }
public List<Empresa> getEmpresa() {
List<Empresa> tmp = new ArrayList<Empresa>();
if (usuarioEmpresaList != null) {
for (UsuarioEmpresa cp : this.usuarioEmpresaList) {
if ((cp.getActivo())) {
tmp.add(cp.getEmpresa());
}
}
}
return tmp;
}
public void setUsuarioPerfilList(List<UsuarioPerfil> usuarioPerfilList) { public void setUsuarioPerfilList(List<UsuarioPerfil> usuarioPerfilList) {
this.usuarioPerfilList = usuarioPerfilList; this.usuarioPerfilList = usuarioPerfilList;
} }

View File

@ -45,7 +45,8 @@ public class UsuarioEmpresa implements Serializable {
@JoinColumn(name = "USUARIO_ID", referencedColumnName = "USUARIO_ID") @JoinColumn(name = "USUARIO_ID", referencedColumnName = "USUARIO_ID")
@ManyToOne @ManyToOne
private Usuario usuario; private Usuario usuarioLog;
@JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID") @JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne @ManyToOne
private Empresa empresa; private Empresa empresa;
@ -100,12 +101,12 @@ public class UsuarioEmpresa implements Serializable {
} }
public Usuario getUsuario() { public Usuario getUsuarioLog() {
return usuario; return usuarioLog;
} }
public void setUsuario(Usuario usuario) { public void setUsuarioLog(Usuario usuario) {
this.usuario = usuario; this.usuarioLog = usuario;
} }
public void setEmpresa(Empresa empresa) { public void setEmpresa(Empresa empresa) {

View File

@ -17,7 +17,7 @@ public interface EmpresaService extends GenericService<Empresa, Integer> {
public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo); public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo);
public List<Empresa> buscarTodosExceto(Integer... idEmpresa); public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa);
public List<Empresa> obtenerIndExternoFalse(); public List<Empresa> obtenerIndExternoFalse();

View File

@ -4,6 +4,7 @@
*/ */
package com.rjconsultores.ventaboletos.service; package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -21,5 +22,5 @@ public interface MarcaService extends GenericService<Marca, Short> {
public List<Marca> buscarDescricaoIdMarca(); public List<Marca> buscarDescricaoIdMarca();
public List<Marca> buscarMarcaPorEmpresa(Usuario usario); public List<Marca> buscarMarcaPorEmpresa(List<Empresa> empresa);
} }

View File

@ -64,8 +64,8 @@ public class EmpresaServiceImpl implements EmpresaService {
return empresaDAO.buscar(nombempresa, indExterna, indTipo); return empresaDAO.buscar(nombempresa, indExterna, indTipo);
} }
public List<Empresa> buscarTodosExceto(Integer... idEmpresa) { public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa) {
return empresaDAO.buscarTodosExceto(idEmpresa); return empresaDAO.buscarTodosExceto( empresa, idEmpresa);
} }
public List<Empresa> obtenerIndExternoFalse() { public List<Empresa> obtenerIndExternoFalse() {

View File

@ -5,6 +5,7 @@
package com.rjconsultores.ventaboletos.service.impl; package com.rjconsultores.ventaboletos.service.impl;
import com.rjconsultores.ventaboletos.dao.MarcaDAO; import com.rjconsultores.ventaboletos.dao.MarcaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.service.MarcaService; import com.rjconsultores.ventaboletos.service.MarcaService;
@ -74,7 +75,7 @@ public class MarcaServiceImpl implements MarcaService {
} }
public List<Marca> buscarMarcaPorEmpresa(Usuario usario) { public List<Marca> buscarMarcaPorEmpresa(List<Empresa> empresa){
return marcaDAO.buscarMarcaPorEmpresa(usario); return marcaDAO.buscarMarcaPorEmpresa(empresa);
} }
} }