AdmMono/src/com/rjconsultores/ventaboletos/dao/hibernate/CajaHibernateDAO.java

79 lines
3.2 KiB
Java

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<Object, Long> implements CajaDAO {
@Autowired
private SQLBuilder sqlBuilder;
@Autowired
public CajaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<CajaVO> 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();
}
}