package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.Date; import java.util.List; import org.hibernate.Hibernate; import org.hibernate.SQLQuery; import org.hibernate.SessionFactory; import org.hibernate.transform.AliasToBeanResultTransformer; import org.hibernate.type.BigDecimalType; import org.hibernate.type.DateType; import org.hibernate.type.IntegerType; import org.hibernate.type.LongType; import org.hibernate.type.StringType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.CajaDAO; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.vo.caja.CajaVO; @Repository("cajaDAO") public class CajaHibernateDAO extends GenericHibernateDAO implements CajaDAO { @Autowired private SQLBuilder sqlBuilder; @Autowired public CajaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } @Override public List buscarCajaFecha(boolean yaCerrado, Date fechaDesde, Date fechaHasta) { String sqlBuscarCajaFecha = sqlBuilder.getSQLBuscarCajaFecha(yaCerrado, fechaDesde, fechaHasta); SQLQuery sql = getSession().createSQLQuery(sqlBuscarCajaFecha) .addScalar("cajaId", LongType.INSTANCE) .addScalar("numAsiento", StringType.INSTANCE) .addScalar("categoriaId", IntegerType.INSTANCE) .addScalar("numFolioSistema", StringType.INSTANCE) .addScalar("claseServicioId", IntegerType.INSTANCE) .addScalar("marcaId", IntegerType.INSTANCE) .addScalar("origenId", IntegerType.INSTANCE) .addScalar("destinoId", IntegerType.INSTANCE) .addScalar("corridaId", IntegerType.INSTANCE) .addScalar("fecCorrida", DateType.INSTANCE) .addScalar("nombPasajero", StringType.INSTANCE) .addScalar("precioBase", BigDecimalType.INSTANCE) .addScalar("precioPagado", BigDecimalType.INSTANCE) .addScalar("tipoVentaId", IntegerType.INSTANCE) .addScalar("numSeriePreimpresa", StringType.INSTANCE) .addScalar("numFolioPreImpreso", StringType.INSTANCE) .addScalar("fecHorViaje", DateType.INSTANCE) .addScalar("fecHorVenta", DateType.INSTANCE) .addScalar("puntoVentaId", IntegerType.INSTANCE) .addScalar("numKmViaje", BigDecimalType.INSTANCE) .addScalar("numOperacion", StringType.INSTANCE) .addScalar("motivoCancelacionId", IntegerType.INSTANCE) .addScalar("empresaPuntoVentaId", IntegerType.INSTANCE) .addScalar("empresaCorridaId", IntegerType.INSTANCE) .addScalar("turnoId", IntegerType.INSTANCE) .addScalar("importeTaxaEmbarque", BigDecimalType.INSTANCE) .addScalar("importePedagio", BigDecimalType.INSTANCE) .addScalar("importeOutros", BigDecimalType.INSTANCE) .addScalar("importeSeguro", BigDecimalType.INSTANCE) .addScalar("rutaId", IntegerType.INSTANCE) .addScalar("usuarioId", IntegerType.INSTANCE) .addScalar("numAutorizacion", StringType.INSTANCE) .addScalar("ordenSevicio", StringType.INSTANCE); sql.setResultTransformer(new AliasToBeanResultTransformer(CajaVO.class)); return sql.list(); } }