gleimar 2012-08-23 21:28:07 +00:00
parent 4d221881c0
commit 33bbc90814
4 changed files with 75 additions and 165 deletions

View File

@ -9,14 +9,19 @@ import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tarifa;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.service.TarifaService;
import java.util.List;
import org.zkoss.web.fn.ServletFns;
/**
*
* @author rodrigo
@ -27,7 +32,19 @@ public interface TarifaDAO extends GenericDAO<Tarifa, Integer> {
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa,
Categoria categoria, TipoPuntoVenta tipoPuntoVenta);
public boolean existe(Marca marca, Tramo tramo, Moneda moneda, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa);
/**
* {@link TarifaService#existe(Marca, Tramo, Moneda, ClaseServicio, VigenciaTarifa, Ruta, OrgaoConcedente)}
*
* @param marca
* @param tramo
* @param moneda
* @param claseServicio
* @param vigenciaTarifa
* @param ruta
* @param orgaoConcedente
* @return
*/
public boolean existe(Marca marca, Tramo tramo, Moneda moneda, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Ruta ruta, OrgaoConcedente orgaoConcedente);
public List<Tarifa> pesquisar(Marca marca, Tramo tramo, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa);

View File

@ -4,22 +4,9 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import com.rjconsultores.ventaboletos.dao.RutaDAO;
import com.rjconsultores.ventaboletos.dao.TarifaDAO;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
import com.rjconsultores.ventaboletos.entidad.Tarifa;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.Validate;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
@ -30,6 +17,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.RutaDAO;
import com.rjconsultores.ventaboletos.dao.TarifaDAO;
import com.rjconsultores.ventaboletos.entidad.Categoria;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Tarifa;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
/**
*
* @author rodrigo
@ -55,8 +57,7 @@ public class TarifaHibernateDAO extends GenericHibernateDAO<Tarifa, Integer>
return c.list();
}
public List<Tarifa> pesquisar(Marca marca, Tramo tramo, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa) {
public List<Tarifa> pesquisar(Marca marca, Tramo tramo, Moneda moneda,ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa) {
Criteria c = getSession().createCriteria(getPersistentClass());
@ -83,8 +84,17 @@ public class TarifaHibernateDAO extends GenericHibernateDAO<Tarifa, Integer>
return c.list();
}
public boolean existe(Marca marca, Tramo tramo, Moneda moneda, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa) {
public boolean existe(Marca marca, Tramo tramo, Moneda moneda, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Ruta ruta, OrgaoConcedente orgaoConcedente) {
Validate.notNull(marca);
Validate.notNull(tramo);
Validate.notNull(moneda);
Validate.notNull(claseServicio);
Validate.notNull(vigenciaTarifa);
Validate.notNull(ruta);
Validate.notNull(orgaoConcedente);
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("marca", marca));
@ -92,14 +102,15 @@ public class TarifaHibernateDAO extends GenericHibernateDAO<Tarifa, Integer>
c.add(Restrictions.eq("moneda", moneda));
c.add(Restrictions.eq("claseServicio", claseServicio));
c.add(Restrictions.eq("vigenciaTarifa", vigenciaTarifa));
c.add(Restrictions.eq("ruta", ruta));
c.add(Restrictions.eq("orgaoConcedente", orgaoConcedente));
c.setProjection(Projections.rowCount());
return (HibernateFix.count(c.list()) > 0);
}
public List<Tarifa> pesquisar(Marca marca, Parada origem, Parada destino, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa,
Categoria categoria, TipoPuntoVenta tipoPuntoVenta) {
public List<Tarifa> pesquisar(Marca marca, Parada origem, Parada destino, Moneda moneda,ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa,Categoria categoria, TipoPuntoVenta tipoPuntoVenta) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
@ -173,133 +184,7 @@ public class TarifaHibernateDAO extends GenericHibernateDAO<Tarifa, Integer>
return c.list();
}
public List<Tarifa> pesquisar(List<Moneda> lsMoneda, List<Marca> lsMarca,
List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria,
List<Empresa> lsEmpresa, List<Ruta> lsRuta,
List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa) {
// Criteria c = getSession().createCriteria(getPersistentClass());
// c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
//
// c.add(Restrictions.eq("activo", Boolean.TRUE));
//
// if (!lsVigenciaTarifa.isEmpty()) {
// List<VigenciaTarifa> lsAux = null;
// if (lsVigenciaTarifa.size() > 1000) {
// lsAux = new ArrayList<VigenciaTarifa>();
// for (VigenciaTarifa v : lsVigenciaTarifa) {
// lsAux.add(v);
// if (lsAux.size() == 1000) {
// c.add(Restrictions.in("vigenciaTarifa", lsAux));
// lsAux = new ArrayList<VigenciaTarifa>();
// }
// }
// if (lsAux != null && lsAux.size() > 0) {
// c.add(Restrictions.in("vigenciaTarifa", lsAux));
// }
// } else {
// c.add(Restrictions.in("vigenciaTarifa", lsVigenciaTarifa));
// }
// }
//
// if (!lsMoneda.isEmpty()) {
// c.add(Restrictions.in("moneda", lsMoneda));
// }
//
// if (!lsMarca.isEmpty()) {
// c.add(Restrictions.in("marca", lsMarca));
// }
//
// if (!lsClaseServicio.isEmpty()) {
// c.add(Restrictions.in("claseServicio", lsClaseServicio));
// }
//
// Criteria cCategoria = null;
// if (!lsCategoria.isEmpty()) {
// cCategoria = c.createCriteria("lsTarifaCategoria");
// cCategoria.add(Restrictions.in("categoria", lsCategoria));
// }
//
// Criteria cTipoPuntoVenta = null;
// if (!lsTipoPuntoVenta.isEmpty()) {
// cTipoPuntoVenta = c.createCriteria("lsTarifaTipoptovta");
// cTipoPuntoVenta.add(Restrictions.in("tipoPuntoVenta", lsTipoPuntoVenta));
// }
//
// if (!lsEmpresa.isEmpty()) {
// Criteria criteriaRuta = getSession().createCriteria(Ruta.class);
// Criteria cEmpresa = criteriaRuta.createCriteria("lsRutaEmpresa");
// log.info("Excel: Qtd lsEmpresa" + lsEmpresa.size());
// cEmpresa.add(Restrictions.in("empresa", lsEmpresa));
//
// List<Ruta> lsRutasComEmpresa = criteriaRuta.list();
// List<Tramo> lsTramos = new ArrayList<Tramo>();
// for (Ruta ruta : lsRutasComEmpresa) {
// ruta = rutaDAO.obtenerID(ruta.getRutaId());
// for (RutaCombinacion rc : ruta.getRutaCombinacionList()) {
// if (!lsTramos.contains(rc.getTramo())) {
// lsTramos.add(rc.getTramo());
// }
// }
// }
//
// if (!lsTramos.isEmpty()) {
// List<Tramo> lsAux = null;
// if (lsTramos.size() > 1000) {
// lsAux = new ArrayList<Tramo>();
// for (Tramo t : lsTramos) {
// lsAux.add(t);
// if (lsAux.size() == 500) {
// log.info("Excel: Qtd lsAux 1 - " + lsAux.size());
// c.add(Restrictions.in("tramo", lsAux));
// lsAux = new ArrayList<Tramo>();
// }
// }
// if (lsAux != null && lsAux.size() > 0) {
// log.info("Excel: Qtd lsAux 2 - " + lsAux.size());
// c.add(Restrictions.in("tramo", lsAux));
// }
// } else {
// log.info("Excel: Qtd lsAux 3 - " + lsAux.size());
// c.add(Restrictions.in("tramo", lsTramos));
// }
// }
// }
//
//
//
//
// if (!lsRuta.isEmpty()) {
// List<Tramo> lsTramos = new ArrayList<Tramo>();
// for (Ruta ruta : lsRuta) {
// ruta = rutaDAO.obtenerID(ruta.getRutaId());
// for (RutaCombinacion rc : ruta.getRutaCombinacionList()) {
// if (!lsTramos.contains(rc.getTramo())) {
// lsTramos.add(rc.getTramo());
// }
// }
// }
//
// if (!lsTramos.isEmpty()) {
// List<Tramo> lsAux = null;
// if (lsTramos.size() > 1000) {
// lsAux = new ArrayList<Tramo>();
// for (Tramo t : lsTramos) {
// lsAux.add(t);
// if (lsAux.size() == 1000) {
// c.add(Restrictions.in("tramo", lsAux));
// lsAux = new ArrayList<Tramo>();
// }
// }
// if (lsAux != null && lsAux.size() > 0) {
// c.add(Restrictions.in("tramo", lsAux));
// }
// } else {
// c.add(Restrictions.in("tramo", lsTramos));
// }
// }
// }
//
// return c.list();
public List<Tarifa> pesquisar(List<Moneda> lsMoneda, List<Marca> lsMarca,List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria,List<Empresa> lsEmpresa, List<Ruta> lsRuta,List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa) {
StringBuilder hql = new StringBuilder(" SELECT T FROM ");
hql.append(" Tarifa as T ");

View File

@ -9,6 +9,7 @@ import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Plaza;
import com.rjconsultores.ventaboletos.entidad.Ruta;
@ -28,24 +29,31 @@ public interface TarifaService extends GenericService<Tarifa, Integer> {
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa,
Categoria categoria, TipoPuntoVenta tipoPuntoVenta);
public List<Tarifa> pesquisar(Marca marca, Tramo tramo, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa);
public List<Tarifa> pesquisar(Marca marca, Tramo tramo, Moneda moneda,ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa);
public boolean existe(Marca marca, Tramo tramo, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa);
/**
* Método usado para checar se uma tarifa já está cadastrada no sistema.
*
* Uma tarifa é considerada única de acordo a marca, tramo, moneda, claseServicio, vigenciaTarifa, ruta e orgaoConcedente
*
* @param marca
* @param tramo
* @param moneda
* @param claseServicio
* @param vigenciaTarifa
* @param ruta
* @param orgaoConcedente
* @return
*/
public boolean existe(Marca marca, Tramo tramo, Moneda moneda,ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Ruta ruta, OrgaoConcedente orgaoConcedente);
public Tarifa buscar(Tramo tramo, Marca marca, ClaseServicio claseServicio,
VigenciaTarifa vigenciaTarifa, Moneda moneda);
public Tarifa buscar(Tramo tramo, Marca marca, ClaseServicio claseServicio,VigenciaTarifa vigenciaTarifa, Moneda moneda);
public List<Tarifa> buscarPorVigencia(VigenciaTarifa vigencia);
public List<Tarifa> pesquisar(List<Moneda> lsMoneda, List<Marca> lsMarca,
List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria,
List<Empresa> lsEmpresa, List<Ruta> lsRuta,
List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa);
public List<Tarifa> pesquisar(List<Moneda> lsMoneda, List<Marca> lsMarca,List<ClaseServicio> lsClaseServicio, List<Categoria> lsCategoria,List<Empresa> lsEmpresa, List<Ruta> lsRuta,List<TipoPuntoVenta> lsTipoPuntoVenta, List<VigenciaTarifa> lsVigenciaTarifa);
public Boolean podeAlterarTarifaMinima(Tarifa tarifa, Marca marca, Parada origem,
Parada destino, ClaseServicio claseServicio, Plaza plaza, Moneda moneda);
public Boolean podeAlterarTarifaMinima(Tarifa tarifa, Marca marca, Parada origem,Parada destino, ClaseServicio claseServicio, Plaza plaza, Moneda moneda);
public List<Tarifa> buscarExisteVigencia(VigenciaTarifa vigenciaTarifa);

View File

@ -18,6 +18,7 @@ import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaCombinacion;
@ -260,9 +261,8 @@ public class TarifaServiceImpl implements TarifaService {
return tarifaDAO.pesquisar(marca, tramo, moneda, claseServicio, vigenciaTarifa);
}
public boolean existe(Marca marca, Tramo tramo, Moneda moneda,
ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa) {
return tarifaDAO.existe(marca, tramo, moneda, claseServicio, vigenciaTarifa);
public boolean existe(Marca marca, Tramo tramo, Moneda moneda,ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Ruta ruta, OrgaoConcedente orgaoConcedente) {
return tarifaDAO.existe(marca, tramo, moneda, claseServicio, vigenciaTarifa, ruta, orgaoConcedente);
}
public List<Tarifa> pesquisar(Marca marca, Parada origem, Parada destino, Moneda moneda,