fixes bug #7573
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@57010 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
771ced7a19
commit
016194e589
|
@ -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<Confere
|
|||
@Autowired
|
||||
private ContaCorrenteAgenciaDAO contaCorrenteAgenciaDAO;
|
||||
|
||||
@Autowired
|
||||
private DataSource dataSourceRead;
|
||||
|
||||
@Autowired
|
||||
public ConferenciaComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||
setSessionFactory(factory);
|
||||
|
@ -61,12 +70,15 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
|
||||
@Override
|
||||
public List<ConferenciaComissaoVO> carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
||||
Connection con = null;
|
||||
try {
|
||||
con = dataSourceRead.getConnection();
|
||||
|
||||
List<ConferenciaComissaoVO> lsConferencias = new ArrayList<ConferenciaComissaoVO>();
|
||||
|
||||
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<Confere
|
|||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
throw new BusinessException(e.getMessage(), e);
|
||||
} finally {
|
||||
try {
|
||||
if(con != null && !con.isClosed()) {
|
||||
con.close();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,40 +184,72 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "unchecked", "deprecation" })
|
||||
private void carregarMovimentoVendas(List<ConferenciaComissaoVO> lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
||||
private void carregarMovimentoVendas(Connection con, List<ConferenciaComissaoVO> lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException, SQLException {
|
||||
PreparedStatement stmt = null;
|
||||
ResultSet rset = null;
|
||||
|
||||
try {
|
||||
Map<String, Object> 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<ConferenciaComissaoVO> movimentos = new ArrayList<ConferenciaComissaoVO>();
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue