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;
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
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.text.ParseException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
@ -15,6 +19,8 @@ import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.hibernate.Hibernate;
|
import org.hibernate.Hibernate;
|
||||||
|
@ -54,6 +60,9 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
||||||
@Autowired
|
@Autowired
|
||||||
private ContaCorrenteAgenciaDAO contaCorrenteAgenciaDAO;
|
private ContaCorrenteAgenciaDAO contaCorrenteAgenciaDAO;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DataSource dataSourceRead;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public ConferenciaComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
public ConferenciaComissaoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
setSessionFactory(factory);
|
setSessionFactory(factory);
|
||||||
|
@ -61,12 +70,15 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ConferenciaComissaoVO> carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
public List<ConferenciaComissaoVO> carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
||||||
|
Connection con = null;
|
||||||
try {
|
try {
|
||||||
|
con = dataSourceRead.getConnection();
|
||||||
|
|
||||||
List<ConferenciaComissaoVO> lsConferencias = new ArrayList<ConferenciaComissaoVO>();
|
List<ConferenciaComissaoVO> lsConferencias = new ArrayList<ConferenciaComissaoVO>();
|
||||||
|
|
||||||
carregarPuntoVentas(lsConferencias, competencia, empresa, puntoVenta);
|
carregarPuntoVentas(lsConferencias, competencia, empresa, puntoVenta);
|
||||||
carregarConferenciasRegistradas(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);
|
carregarDiasSemMovimento(lsConferencias, competencia, empresa, puntoVenta);
|
||||||
|
|
||||||
Collections.sort(lsConferencias);
|
Collections.sort(lsConferencias);
|
||||||
|
@ -75,6 +87,14 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
throw new BusinessException(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(Connection con, List<ConferenciaComissaoVO> lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException, SQLException {
|
||||||
private void carregarMovimentoVendas(List<ConferenciaComissaoVO> lsConferencias, String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException {
|
PreparedStatement stmt = null;
|
||||||
|
ResultSet rset = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Map<String, Object> parametros = carregarParametros(competencia, empresa, puntoVenta);
|
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\" ");
|
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 ")
|
sQuery.append("FROM BOLETO B ")
|
||||||
.append("INNER JOIN PUNTO_VENTA PV ON B.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ")
|
.append("INNER JOIN PUNTO_VENTA PV ON B.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ")
|
||||||
.append("WHERE PV.ACTIVO = 1 ")
|
.append("WHERE PV.ACTIVO = 1 ")
|
||||||
.append("AND B.FECHORVENTA BETWEEN :dataInicial AND :dataFinal ");
|
.append("AND B.FECHORVENTA BETWEEN ? AND ? ");
|
||||||
|
|
||||||
if(parametros.containsKey("empresaId")) {
|
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")) {
|
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') ");
|
sQuery.append("GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, TO_DATE(B.FECHORVENTA, 'DD/MM/YY') ");
|
||||||
|
|
||||||
log.info(sQuery.toString());
|
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("puntoventaId", Hibernate.INTEGER)
|
||||||
.addScalar("numPuntoVenta", Hibernate.STRING)
|
.addScalar("numPuntoVenta", Hibernate.STRING)
|
||||||
.addScalar("nombpuntoventa", Hibernate.STRING)
|
.addScalar("nombpuntoventa", Hibernate.STRING)
|
||||||
.addScalar("datamovimento", Hibernate.DATE)
|
.addScalar("datamovimento", Hibernate.DATE)
|
||||||
.setResultTransformer(Transformers.aliasToBean(ConferenciaComissaoVO.class));
|
.setResultTransformer(Transformers.aliasToBean(ConferenciaComissaoVO.class));
|
||||||
setParametros(qr, parametros);
|
setParametros(qr, parametros);*/
|
||||||
|
|
||||||
processarQueryConferenciaComissao(qr.list(), lsConferencias, competencia);
|
processarQueryConferenciaComissao(movimentos, lsConferencias, competencia);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
throw new BusinessException(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