From 016194e589f1b76b9e2ead39dcdfb855716a82f6 Mon Sep 17 00:00:00 2001 From: wilian Date: Thu, 16 Jun 2016 18:04:39 +0000 Subject: [PATCH] fixes bug #7573 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@57010 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ConferenciaComissaoHibernateDAO.java | 70 ++++++++++++++++--- 1 file changed, 61 insertions(+), 9 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java index aad09e9d5..844accd92 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java @@ -1,6 +1,10 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.text.ParseException; import java.util.ArrayList; import java.util.Calendar; @@ -15,6 +19,8 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeSet; +import javax.sql.DataSource; + import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Hibernate; @@ -54,6 +60,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException { + Connection con = null; try { + con = dataSourceRead.getConnection(); + List lsConferencias = new ArrayList(); carregarPuntoVentas(lsConferencias, competencia, empresa, puntoVenta); carregarConferenciasRegistradas(lsConferencias, competencia, empresa, puntoVenta); - carregarMovimentoVendas(lsConferencias, competencia, empresa, puntoVenta); + carregarMovimentoVendas(con, lsConferencias, competencia, empresa, puntoVenta); carregarDiasSemMovimento(lsConferencias, competencia, empresa, puntoVenta); Collections.sort(lsConferencias); @@ -75,6 +87,14 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException { + private void carregarMovimentoVendas(Connection con, List lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException, SQLException { + PreparedStatement stmt = null; + ResultSet rset = null; + try { Map parametros = carregarParametros(competencia, empresa, puntoVenta); StringBuilder sQuery = new StringBuilder("SELECT PV.PUNTOVENTA_ID AS \"puntoventaId\", PV.NUMPUNTOVENTA as \"numPuntoVenta\", PV.NOMBPUNTOVENTA as \"nombpuntoventa\", TO_DATE(B.FECHORVENTA, 'DD/MM/YY') as \"datamovimento\" "); sQuery.append("FROM BOLETO B ") .append("INNER JOIN PUNTO_VENTA PV ON B.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ") .append("WHERE PV.ACTIVO = 1 ") - .append("AND B.FECHORVENTA BETWEEN :dataInicial AND :dataFinal "); + .append("AND B.FECHORVENTA BETWEEN ? AND ? "); if(parametros.containsKey("empresaId")) { - sQuery.append("AND (B.EMPRESACORRIDA_ID = :empresaId OR B.MARCA_ID = :empresaId) "); + sQuery.append("AND B.MARCA_ID = ? "); } if(parametros.containsKey("puntoventaId")) { - sQuery.append("AND PV.PUNTOVENTA_ID = :puntoventaId "); + sQuery.append("AND PV.PUNTOVENTA_ID = ? "); } sQuery.append("GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, TO_DATE(B.FECHORVENTA, 'DD/MM/YY') "); log.info(sQuery.toString()); - Query qr = getSession().createSQLQuery(sQuery.toString()) + stmt = con.prepareStatement(sQuery.toString()); + int idxParametro = 1; + stmt.setDate(idxParametro++, new java.sql.Date(((Date)parametros.get("dataInicial")).getTime())); + stmt.setDate(idxParametro++, new java.sql.Date(((Date)parametros.get("dataFinal")).getTime())); + if(parametros.containsKey("empresaId")) { + stmt.setInt(idxParametro++, (Integer) parametros.get("empresaId")); + } + if(parametros.containsKey("puntoventaId")) { + stmt.setInt(idxParametro++, (Integer) parametros.get("puntoventaId")); + } + + rset = stmt.executeQuery(); + List movimentos = new ArrayList(); + while(rset.next()) { + ConferenciaComissaoVO conferenciaComissao = new ConferenciaComissaoVO(); + conferenciaComissao.setPuntoventaId(rset.getInt("puntoventaId")); + conferenciaComissao.setNumPuntoVenta(rset.getString("numPuntoVenta")); + conferenciaComissao.setNombpuntoventa(rset.getString("nombpuntoventa")); + conferenciaComissao.setDatamovimento(rset.getDate("datamovimento")); + + movimentos.add(conferenciaComissao); + } + + /*Query qr = getSession().createSQLQuery(sQuery.toString()) .addScalar("puntoventaId", Hibernate.INTEGER) .addScalar("numPuntoVenta", Hibernate.STRING) .addScalar("nombpuntoventa", Hibernate.STRING) .addScalar("datamovimento", Hibernate.DATE) .setResultTransformer(Transformers.aliasToBean(ConferenciaComissaoVO.class)); - setParametros(qr, parametros); + setParametros(qr, parametros);*/ - processarQueryConferenciaComissao(qr.list(), lsConferencias, competencia); + processarQueryConferenciaComissao(movimentos, lsConferencias, competencia); } catch (Exception e) { log.error(e.getMessage(), e); throw new BusinessException(e.getMessage(), e); + } finally { + if(rset != null && !rset.isClosed()) { + rset.close(); + } + if(stmt != null && !stmt.isClosed()) { + stmt.close(); + } } }