191 lines
6.0 KiB
Java
191 lines
6.0 KiB
Java
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
|
|
|
import java.util.List;
|
|
|
|
import org.hibernate.Criteria;
|
|
import org.hibernate.FetchMode;
|
|
import org.hibernate.Session;
|
|
import org.hibernate.SessionFactory;
|
|
import org.hibernate.criterion.Criterion;
|
|
import org.hibernate.criterion.MatchMode;
|
|
import org.hibernate.criterion.Order;
|
|
import org.hibernate.criterion.Restrictions;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.PtovtaTipoEstoqueDAO;
|
|
import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
|
import com.rjconsultores.ventaboletos.entidad.Parada;
|
|
import com.rjconsultores.ventaboletos.entidad.PtovtaTipoEstoque;
|
|
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
|
import com.rjconsultores.ventaboletos.entidad.Usuario;
|
|
|
|
/**
|
|
*
|
|
* @author Administrador
|
|
*/
|
|
@Repository("puntoVentaDAO")
|
|
public class PuntoVentaHibernateDAO extends GenericHibernateDAO<PuntoVenta, Integer>
|
|
implements PuntoVentaDAO {
|
|
|
|
@Autowired
|
|
private PtovtaTipoEstoqueDAO ptovtaTipoEstoqueDAO;
|
|
|
|
@Autowired
|
|
public PuntoVentaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
|
setSessionFactory(factory);
|
|
}
|
|
|
|
@Override
|
|
public List<PuntoVenta> obtenerTodos() {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
|
|
c.addOrder(Order.asc("nombpuntoventa"));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
// public List<PuntoVenta> buscaLike(String strEstacion) {
|
|
// Criteria c = getSession().createCriteria(getPersistentClass());
|
|
// c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
// c.add(Restrictions.like("nombpuntoventa", strEstacion, MatchMode.START));
|
|
//
|
|
// return c.list();
|
|
// }
|
|
|
|
public List<PuntoVenta> buscaLike(String strEstacion) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
|
Criterion cr1 = Restrictions.like("nombpuntoventa", strEstacion, MatchMode.START);
|
|
|
|
Criterion crActivo = Restrictions.eq("activo", Boolean.TRUE);
|
|
|
|
PtovtaTipoEstoque supr = ptovtaTipoEstoqueDAO.buscarTipoSuprimento();
|
|
PtovtaTipoEstoque cont = ptovtaTipoEstoqueDAO.buscarTipoContabilidade();
|
|
|
|
Criterion suprCont = Restrictions.in("ptovtaTipoEstoque", new PtovtaTipoEstoque[] { supr, cont });
|
|
|
|
Criterion pt2 = Restrictions.or(crActivo, suprCont);
|
|
|
|
c.add(Restrictions.and(cr1, pt2));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
public List<PuntoVenta> busca(String nomPuntoVenta, String numPuntoVenta) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
|
|
c.add(Restrictions.eq("nombpuntoventa", nomPuntoVenta));
|
|
c.add(Restrictions.eq("numPuntoVenta", numPuntoVenta));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
public List<PuntoVenta> buscaPuntoVenta(String numPuntoVenta) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
c.add(Restrictions.eq("numPuntoVenta", numPuntoVenta));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
public List<PuntoVenta> buscaPuntoVentaParada(Parada parada) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
|
c.addOrder(Order.asc("nombpuntoventa"));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
@Override
|
|
public List<PuntoVenta> buscarPuntoVentaSubordinados(PuntoVenta puntoVenta) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
|
c.add(Restrictions.eq("puntoVentaPadre", puntoVenta));
|
|
|
|
return c.list();
|
|
}
|
|
|
|
@Override
|
|
public List<PuntoVenta> buscarPuntosVentaMovimentacionBilhetes(List<Empresa> empresas) {
|
|
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
|
Criterion crtPtovta = Restrictions.and(Restrictions.eq("activo", Boolean.TRUE), Restrictions.in("empresa", empresas));
|
|
|
|
PtovtaTipoEstoque supr = ptovtaTipoEstoqueDAO.buscarTipoSuprimento();
|
|
PtovtaTipoEstoque cont = ptovtaTipoEstoqueDAO.buscarTipoContabilidade();
|
|
|
|
Criterion suprCont = Restrictions.in("ptovtaTipoEstoque", new PtovtaTipoEstoque[] { supr, cont });
|
|
|
|
c.add(Restrictions.or(suprCont, crtPtovta));
|
|
|
|
c.addOrder(Order.asc("nombpuntoventa"));
|
|
List<PuntoVenta> puntosVenta = c.list();
|
|
|
|
// List<PuntoVenta> puntosVenta = geraListaDummy();
|
|
|
|
return puntosVenta;
|
|
}
|
|
|
|
public List<PuntoVenta> buscarPuntoVentaPorTipoEstoque(PtovtaTipoEstoque tipoEstoque) {
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
c.add(Restrictions.eq("ptovtaTipoEstoque", tipoEstoque));
|
|
|
|
List<PuntoVenta> puntosVenta = c.list();
|
|
|
|
return puntosVenta;
|
|
}
|
|
|
|
private List<PuntoVenta> geraListaDummy() {
|
|
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
|
PtovtaTipoEstoque supr = ptovtaTipoEstoqueDAO.buscarTipoSuprimento();
|
|
PtovtaTipoEstoque cont = ptovtaTipoEstoqueDAO.buscarTipoContabilidade();
|
|
|
|
Criterion suprCont = Restrictions.in("ptovtaTipoEstoque", new PtovtaTipoEstoque[] { supr, cont });
|
|
|
|
Criterion crtPtovta = Restrictions.in("puntoventaId", new Integer[] { 1, 2, 3, 786, 1321, 1722 });
|
|
|
|
c.add(Restrictions.or(suprCont, crtPtovta));
|
|
List<PuntoVenta> puntosVenta = c.list();
|
|
|
|
// PuntoVenta pv1 = new PuntoVenta(Integer.valueOf(1));
|
|
// pv1.setNombpuntoventa("pv1");
|
|
//
|
|
// PuntoVenta pv2 = new PuntoVenta(Integer.valueOf(2));
|
|
// pv2.setNombpuntoventa("pv2");
|
|
//
|
|
// PuntoVenta pv3 = new PuntoVenta(Integer.valueOf(3));
|
|
// pv3.setNombpuntoventa("pv3");
|
|
//
|
|
// PuntoVenta pv4 = new PuntoVenta(Integer.valueOf(786));
|
|
// pv4.setNombpuntoventa("pv4");
|
|
//
|
|
// PuntoVenta pv5 = new PuntoVenta(Integer.valueOf(1321));
|
|
// pv5.setNombpuntoventa("pv5");
|
|
//
|
|
// PuntoVenta pv6 = new PuntoVenta(Integer.valueOf(1722));
|
|
// pv6.setNombpuntoventa("SUPRIMENTO");
|
|
//
|
|
// List<PuntoVenta> puntosVenta = new ArrayList<PuntoVenta>();
|
|
// puntosVenta.add(pv6);
|
|
// puntosVenta.add(pv1);
|
|
// puntosVenta.add(pv2);
|
|
// puntosVenta.add(pv3);
|
|
// puntosVenta.add(pv4);
|
|
// puntosVenta.add(pv5);
|
|
|
|
return puntosVenta;
|
|
}
|
|
}
|