igor.rodrigo 2016-07-04 21:23:31 +00:00
parent 237cc08f3e
commit 5f0177a483
4 changed files with 81 additions and 0 deletions

View File

@ -16,6 +16,7 @@ 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.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.TarifaService;
@ -70,4 +71,7 @@ public interface TarifaDAO extends GenericDAO<Tarifa, Integer> {
public boolean existeTarifas(VigenciaTarifa vigenciaTarifa);
public void excluirTodasTarifas(Moneda moneda, Marca marca, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Parada origem,
Parada destino, Categoria categoria, TipoPuntoVenta tipoPuntoVenta, Ruta ruta, Via via);
}

View File

@ -9,6 +9,7 @@ import java.util.List;
import org.apache.commons.lang.Validate;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Projections;
@ -30,6 +31,7 @@ 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.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -218,4 +220,68 @@ public class TarifaHibernateDAO extends GenericHibernateDAO<Tarifa, Integer> imp
c.setProjection(Projections.rowCount());
return (HibernateFix.count(c.list()) > 0);
}
@Override
public void excluirTodasTarifas(Moneda moneda, Marca marca, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Parada origem,
Parada destino, Categoria categoria, TipoPuntoVenta tipoPuntoVenta, Ruta ruta, Via via){
StringBuilder hql = new StringBuilder();
hql.append(" update Tarifa set activo = 0 where tarifaId in (");
hql.append(" select t.tarifaId from Tarifa t " );
if(categoria == null && tipoPuntoVenta == null){
hql.append(" where 0 = 0 ");
}
if(categoria != null){
hql.append(" inner join t.lsTarifaCategoria as tarifascategoria " );
hql.append(" where 0 = 0 and tarifascategoria.categoria.categoriaId = " + categoria.getCategoriaId());
}
if(tipoPuntoVenta != null){
hql.append(" inner join t.lsTarifaTipoptovta as tarifastipoptovta " );
if(categoria == null){
hql.append(" where 0 = 0 and tarifastipoptovta.tipoPuntoVenta.tipoptovtaId = " + tipoPuntoVenta.getTipoptovtaId());
}else{
hql.append(" and tarifastipoptovta.tipoPuntoVenta.tipoptovtaId = " + tipoPuntoVenta.getTipoptovtaId());
}
}
if(moneda != null){
hql.append(" and t.moneda.monedaId = " + moneda.getMonedaId());
}
if(marca != null){
hql.append(" and t.marca.marcaId = " + marca.getMarcaId());
}
if(claseServicio != null){
hql.append(" and t.claseServicio.claseservicioId = " + claseServicio.getClaseservicioId());
}
if(vigenciaTarifa != null){
hql.append(" and t.vigenciaTarifa.vigenciatarifaId = " + vigenciaTarifa.getVigenciatarifaId());
}
if(origem != null){
hql.append(" and t.origen.paradaId = " + origem.getParadaId());
}
if(destino != null){
hql.append(" and t.destino.paradaId = " + destino.getParadaId());
}
if(ruta != null){
hql.append(" and t.ruta.rutaId = " + ruta.getRutaId());
}
if(via != null){
hql.append(" and t.via.viaId = " + via.getViaId());
}
hql.append(")") ;
Query sq = getSession().createQuery(hql.toString());
sq.executeUpdate();
}
}

View File

@ -17,6 +17,7 @@ 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.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
@ -61,4 +62,7 @@ public interface TarifaService extends GenericService<Tarifa, Integer> {
public boolean existeTarifas(VigenciaTarifa vigenciaTarifa);
public void excluirTodasTarifas(Moneda moneda, Marca marca, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Parada origem,
Parada destino, Categoria categoria, TipoPuntoVenta tipoPuntoVenta, Ruta ruta, Via via);
}

View File

@ -31,6 +31,7 @@ import com.rjconsultores.ventaboletos.entidad.TarifaMinima;
import com.rjconsultores.ventaboletos.entidad.TarifaTipoptovta;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Tramo;
import com.rjconsultores.ventaboletos.entidad.Via;
import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.ConstanteService;
@ -279,4 +280,10 @@ public class TarifaServiceImpl implements TarifaService {
public boolean existeTarifas(VigenciaTarifa vigenciaTarifa) {
return tarifaDAO.existeTarifas(vigenciaTarifa);
}
@Override
public void excluirTodasTarifas(Moneda moneda, Marca marca, ClaseServicio claseServicio, VigenciaTarifa vigenciaTarifa, Parada origem,
Parada destino, Categoria categoria, TipoPuntoVenta tipoPuntoVenta, Ruta ruta, Via via){
tarifaDAO.excluirTodasTarifas(moneda, marca, claseServicio, vigenciaTarifa, origem, destino, categoria, tipoPuntoVenta, ruta, via);
}
}