From 86262b15bd788d0bdc1d13c08efdd17de45aae45 Mon Sep 17 00:00:00 2001 From: wilian Date: Tue, 19 Jan 2016 18:16:02 +0000 Subject: [PATCH] fixes bug #7035 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@52009 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/BusquedaDatosTicketDAO.java | 2 +- .../BusquedaDatosTicketHibernateDAO.java | 41 +++++++++++++------ .../ventaboletos/entidad/VendaPacote.java | 2 +- .../ws/rs/BusquedaDatosTicketsRS.java | 8 +++- 4 files changed, 37 insertions(+), 16 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/BusquedaDatosTicketDAO.java b/src/com/rjconsultores/ventaboletos/dao/BusquedaDatosTicketDAO.java index 63fdb3563..066d347cf 100644 --- a/src/com/rjconsultores/ventaboletos/dao/BusquedaDatosTicketDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/BusquedaDatosTicketDAO.java @@ -7,6 +7,6 @@ import com.rjconsultores.ventaboletos.vo.busquedapacotes.PacoteVO; public interface BusquedaDatosTicketDAO { - public List buscaDatosTickets(Date fecInicial, Date fecFinal); + public List buscaDatosTickets(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java index 0909c150d..a5a118481 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BusquedaDatosTicketHibernateDAO.java @@ -48,18 +48,20 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO buscaDatosTickets(Date fecInicial, Date fecFinal) { + public List buscaDatosTickets(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal) { vendapacoteIds = null; List pacotes = new ArrayList(); try { - pacotes = carregarDadosPacotes(fecInicial, fecFinal); - carregarDadosPagamento(pacotes); - carregarDadosServico(pacotes); - carregarDadosPassageiros(pacotes); - carregarDadosCliente(pacotes); - carregarDadosEnderecoApanhe(pacotes); - carregarDadosItemPacotes(pacotes); + pacotes = carregarDadosPacotes(fecInicial, fecFinal, fecVentaInicial, fecVentaFinal); + if(!pacotes.isEmpty()) { + carregarDadosPagamento(pacotes); + carregarDadosServico(pacotes); + carregarDadosPassageiros(pacotes); + carregarDadosCliente(pacotes); + carregarDadosEnderecoApanhe(pacotes); + carregarDadosItemPacotes(pacotes); + } } catch(Exception e) { log.error(e.getMessage(), e); @@ -70,7 +72,7 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO carregarDadosPacotes(Date fecInicial, Date fecFinal) { + private List carregarDadosPacotes(Date fecInicial, Date fecFinal, Date fecVentaInicial, Date fecVentaFinal) { StringBuilder sQuery = new StringBuilder(); sQuery.append("SELECT VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, VP.DESCONTO, VP.NUMOPERACION, P.PACOTE_ID, ") .append("P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID, ") @@ -88,14 +90,22 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO= :fecVentaInicial "); + } + if(fecVentaFinal != null) { + sQuery.append("AND VP.DATAVENDA <= :fecVentaFinal "); + } + + sQuery.append("GROUP BY VP.VENDAPACOTE_ID, VP.DATAPACOTE, VP.DATAVENDA, VP.SUBTOTAL, VP.TOTAL, ") .append("VP.DESCONTO, VP.NUMOPERACION, P.PACOTE_ID, P.NOMPACOTE, P.DESCPACOTE, E.NOMBEMPRESA, VP.SITUACAO, PV.NOMBPUNTOVENTA, VP.USUARIO_ID "); SQLQuery query = getSession().createSQLQuery(sQuery.toString()) .addScalar("VENDAPACOTE_ID", LongType.INSTANCE) .addScalar("DATAPACOTE", DateType.INSTANCE) - .addScalar("DATAVENDA", DateType.INSTANCE) + .addScalar("DATAVENDA", TimestampType.INSTANCE) .addScalar("SUBTOTAL", BigDecimalType.INSTANCE) .addScalar("TOTAL", BigDecimalType.INSTANCE) .addScalar("DESCONTO", BigDecimalType.INSTANCE) @@ -119,6 +129,13 @@ public class BusquedaDatosTicketHibernateDAO extends GenericHibernateDAO busquedaDatosTickets(@QueryParam("fecinicial") String fechaIniParam, @QueryParam("fecfinal") String fechaFinParam) throws ParseException{ + public List busquedaDatosTickets(@QueryParam("fecinicial") String fechaIniParam, @QueryParam("fecfinal") String fechaFinParam, @QueryParam("fecventainicial") String fechaVentaIniParam, @QueryParam("fecventafinal") String fechaVentaFinParam) throws ParseException{ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date fecInicial = sdf.parse(fechaIniParam); Date fecFinal = sdf.parse(fechaFinParam); + Date fecVentaInicial = StringUtils.isNotBlank(fechaVentaIniParam) ? sdf.parse(fechaVentaIniParam) : null; + Date fecVentaFinal = StringUtils.isNotBlank(fechaVentaFinParam) ? sdf.parse(fechaVentaFinParam) : null; BusquedaDatosTicketDAO pacoteDao = (BusquedaDatosTicketDAO)AppContext.getApplicationContext().getBean("busquedaDatosTicketDAO"); - List pacotes = pacoteDao.buscaDatosTickets(fecInicial, fecFinal); + List pacotes = pacoteDao.buscaDatosTickets(fecInicial, fecFinal, fecVentaInicial, fecVentaFinal); return pacotes; }