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 List<Empresa> buscarTodosExceto(Integer... idEmpresa);
public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa);
public List<Empresa> obtenerIndExternoFalse();

View File

@ -6,6 +6,7 @@ package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -21,6 +22,6 @@ public interface MarcaDAO extends GenericDAO<Marca, Short> {
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.service.UsuarioEmpresaService;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
@ -50,14 +51,15 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer>
return c.list();
}
public List<Empresa> buscarTodosExceto(Integer... idEmpresa) {
Criteria c = this.makeCriteria();
public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa) {
List<Empresa> empresaList = new ArrayList<Empresa>();
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;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Criteria;
@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.MarcaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -33,15 +35,15 @@ public class MarcaHibernateDAO extends GenericHibernateDAO<Marca, Short>
setSessionFactory(factory);
}
// @Override
// public List<Marca> obtenerTodos() {
// Criteria c = getSession().createCriteria(getPersistentClass());
// c.add(Restrictions.eq("activo", Boolean.TRUE));
// c.addOrder(Order.asc("descmarca"));
//
// return c.list();
//
// }
@Override
public List<Marca> obtenerTodos() {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.addOrder(Order.asc("descmarca"));
return c.list();
}
public List<Marca> buscarPorNome(String nomeMarca) {
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);
sq.setParameter("usuarioId", 225);
List<Marca> lsMarca = sq.list();
return lsMarca;
public List<Marca> buscarMarcaPorEmpresa(List<Empresa> usuario) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
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) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("usuario", usuario));
c.add(Restrictions.eq("usuarioLog", usuario));
return c.list();
}
@ -46,7 +46,7 @@ public class UsuarioEmpresaHibernateDAO extends GenericHibernateDAO<UsuarioEmpre
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("empresa", empresa));
c.add(Restrictions.eq("usuario", usuario));
c.add(Restrictions.eq("usuarioLog", usuario));
return c.list();
}
@ -54,12 +54,14 @@ public class UsuarioEmpresaHibernateDAO extends GenericHibernateDAO<UsuarioEmpre
public List<Empresa> obtenerEmpresa(Usuario usuario) {
Criteria c = getSession().createCriteria(getPersistentClass());
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<Empresa> empresaList = new ArrayList<Empresa>();
if(!usuarioEmpresaList.isEmpty()){
for(UsuarioEmpresa ue : usuarioEmpresaList){
empresaList.add(ue.getEmpresa());
}
}
return empresaList;
}

View File

@ -94,6 +94,13 @@ public class Marca implements Serializable {
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() {
return marcaId;
}

View File

@ -14,6 +14,7 @@ import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@ -65,11 +66,12 @@ public class Usuario implements Serializable, Authentication, UserDetails {
private String descCorreo;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL)
private List<UsuarioPerfil> usuarioPerfilList;
@OneToOne
@JoinColumn(name = "EMPLEADO_ID")
private Empleado empleado;
@OneToMany(mappedBy = "usuario", cascade = CascadeType.ALL)
@OneToMany(mappedBy = "usuarioLog", cascade = CascadeType.ALL,fetch=FetchType.EAGER)
private List<UsuarioEmpresa> usuarioEmpresaList;
public String getClaveUsuario() {
@ -182,6 +184,20 @@ public class Usuario implements Serializable, Authentication, UserDetails {
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) {
this.usuarioPerfilList = usuarioPerfilList;
}

View File

@ -45,7 +45,8 @@ public class UsuarioEmpresa implements Serializable {
@JoinColumn(name = "USUARIO_ID", referencedColumnName = "USUARIO_ID")
@ManyToOne
private Usuario usuario;
private Usuario usuarioLog;
@JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID")
@ManyToOne
private Empresa empresa;
@ -100,12 +101,12 @@ public class UsuarioEmpresa implements Serializable {
}
public Usuario getUsuario() {
return usuario;
public Usuario getUsuarioLog() {
return usuarioLog;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
public void setUsuarioLog(Usuario usuario) {
this.usuarioLog = usuario;
}
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> buscarTodosExceto(Integer... idEmpresa);
public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa);
public List<Empresa> obtenerIndExternoFalse();

View File

@ -4,6 +4,7 @@
*/
package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Usuario;
@ -21,5 +22,5 @@ public interface MarcaService extends GenericService<Marca, Short> {
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);
}
public List<Empresa> buscarTodosExceto(Integer... idEmpresa) {
return empresaDAO.buscarTodosExceto(idEmpresa);
public List<Empresa> buscarTodosExceto(List<Empresa> empresa,Integer... idEmpresa) {
return empresaDAO.buscarTodosExceto( empresa, idEmpresa);
}
public List<Empresa> obtenerIndExternoFalse() {

View File

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