fixes bug#10852

dev:thiago
qua:marcelo

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@80613 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2018-04-06 21:09:26 +00:00
parent 79723ad243
commit b4dbe7c6c3
2 changed files with 193 additions and 123 deletions

View File

@ -54,6 +54,7 @@ import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO;
import com.rjconsultores.ventaboletos.vo.comissao.FormapagoVO;
import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO;
import com.rjconsultores.ventaboletos.vo.comissao.OcdVO;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
@Repository("conferenciaComissaoDAO")
public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Conferencia, Long>
@ -244,6 +245,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
}
}
}
private void setParametros(NamedParameterStatement npst, Map<String, Object> parametros) throws SQLException {
for (Entry<String, Object> parametro : parametros.entrySet()) {
npst.setObject(parametro.getKey(), parametro.getValue());
}
}
private void carregarMovimentoVendas(Connection con, List<ConferenciaComissaoVO> lsConferencias,
String competencia, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento, Date dataInicialDate, Date dataFinalDate)
@ -588,16 +595,19 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
}
@Override
@SuppressWarnings("unchecked")
public List<EventosFinanceirosVO> carregarEventosFinanceiros(Conferencia conferencia)
throws BusinessException {
Connection con = null;
NamedParameterStatement npst = null;
ResultSet rSet = null;
try {
Map<String, Object> parametros = carregarParametros(null, null, conferencia.getCompetencia(), conferencia.getEmpresa(),
conferencia.getPuntoVenta(), conferencia.getDatamovimento(), true);
StringBuilder sQuery = new StringBuilder()
.append("SELECT EE.BOLETO_ID AS \"boletoId\", EE.EVENTOEXTRA_ID AS \"eventoextraId\", EE.NUMDOCUMENTO AS \"numdocumento\", ")
.append("CFP.IMPORTE AS \"impingreso\", TEE.DESCTIPOEVENTO AS \"desctipoevento\", EE.DESCINFO AS \"descinfo\", ")
.append("LOG.STATUS AS \"status\", FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", ")
.append("NVL(LOG.STATUS,-1) AS \"status\", FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", ")
.append("TEE.INDTIPO AS \"indtipo\", U.NOMBUSUARIO AS \"nombusuario\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", ")
.append("COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", COMTEE.COMEMPTIPOEVENTOEXTRA_ID AS \"comemptipoeventoextraId\", ")
.append("COALESCE(CEC.INDTIPO_DEB_CRED, 0) AS \"tipoeventoextradebcred\", ")
@ -631,43 +641,60 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
sQuery.append("AND EE.PUNTOVENTA_ID = :puntoventaId ");
}
sQuery.append("ORDER BY TEE.DESCTIPOEVENTO ");
@SuppressWarnings("deprecation")
Query qr = getSession().createSQLQuery(sQuery.toString())
.addScalar("boletoId", Hibernate.LONG)
.addScalar("eventoextraId", Hibernate.LONG)
.addScalar("numdocumento", Hibernate.STRING)
.addScalar("impingreso", Hibernate.BIG_DECIMAL)
.addScalar("desctipoevento", Hibernate.STRING)
.addScalar("descinfo", Hibernate.STRING)
.addScalar("status", Hibernate.INTEGER)
.addScalar("formapagoId", Hibernate.INTEGER)
.addScalar("descpago", Hibernate.STRING)
.addScalar("comempformapagoId", Hibernate.INTEGER)
.addScalar("comemptipoeventoextraId", Hibernate.INTEGER)
.addScalar("tipoeventoextradebcred", Hibernate.INTEGER)
.addScalar("indtipo", Hibernate.STRING)
.addScalar("nombusuario", Hibernate.STRING)
.addScalar("logconferenciaId", Hibernate.LONG)
.addScalar("exigeConferenciaAba", Hibernate.BOOLEAN)
.addScalar("numFolioSistema", Hibernate.STRING)
.addScalar("cvetipoevento", Hibernate.STRING)
.addScalar("feccorte", Hibernate.DATE)
.addScalar("icmsBase", Hibernate.BIG_DECIMAL)
.addScalar("estadoId", Hibernate.INTEGER)
.setResultTransformer(Transformers.aliasToBean(EventosFinanceirosVO.class));
setParametros(qr, parametros);
List<EventosFinanceirosVO> result = qr.list();
for (EventosFinanceirosVO e : result) {
e.setConferencia(conferencia);
con = getConnection();
npst = new NamedParameterStatement(con, sQuery.toString());
setParametros(npst, parametros);
rSet = npst.executeQuery();
List<EventosFinanceirosVO> result = new ArrayList<EventosFinanceirosVO>();
while(rSet.next()) {
EventosFinanceirosVO eventosFinanceiros = new EventosFinanceirosVO();
eventosFinanceiros.setBoletoId(rSet.getLong("boletoId") > 0 ? rSet.getLong("boletoId") : null);
eventosFinanceiros.setEventoextraId(rSet.getLong("eventoextraId"));
eventosFinanceiros.setNumdocumento(rSet.getString("numdocumento"));
eventosFinanceiros.setImpingreso(rSet.getBigDecimal("impingreso"));
eventosFinanceiros.setDesctipoevento(rSet.getString("desctipoevento"));
eventosFinanceiros.setDescinfo(rSet.getString("descinfo"));
eventosFinanceiros.setStatus(rSet.getInt("status") >= 0 ? rSet.getInt("status") : null);
eventosFinanceiros.setFormapagoId(rSet.getInt("formapagoId") > 0 ? rSet.getInt("formapagoId") : null);
eventosFinanceiros.setDescpago(rSet.getString("descpago"));
eventosFinanceiros.setComempformapagoId(rSet.getInt("comempformapagoId") > 0 ? rSet.getInt("comempformapagoId") : null);
eventosFinanceiros.setComemptipoeventoextraId(rSet.getInt("comemptipoeventoextraId") > 0 ? rSet.getInt("comemptipoeventoextraId") : null);
eventosFinanceiros.setTipoeventoextradebcred(rSet.getInt("tipoeventoextradebcred") > 0 ? rSet.getInt("tipoeventoextradebcred") : null);
eventosFinanceiros.setIndtipo(rSet.getString("indtipo"));
eventosFinanceiros.setNombusuario(rSet.getString("nombusuario"));
eventosFinanceiros.setLogconferenciaId(rSet.getLong("logconferenciaId") > 0 ? rSet.getLong("logconferenciaId") : null);
eventosFinanceiros.setExigeConferenciaAba(rSet.getBoolean("exigeConferenciaAba"));
eventosFinanceiros.setNumFolioSistema(rSet.getString("numFolioSistema"));
eventosFinanceiros.setCvetipoevento(rSet.getString("cvetipoevento"));
eventosFinanceiros.setFeccorte(rSet.getDate("feccorte"));
eventosFinanceiros.setIcmsBase(rSet.getBigDecimal("icmsBase"));
eventosFinanceiros.setEstadoId(rSet.getInt("estadoId") > 0 ? rSet.getInt("estadoId") : null);
eventosFinanceiros.setConferencia(conferencia);
result.add(eventosFinanceiros);
}
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
} finally {
try {
if(rSet != null && !rSet.isClosed()) {
rSet.close();
}
if(npst != null && !npst.isClosed()) {
npst.close();
}
if(con != null && !con.isClosed()) {
con.close();
}
} catch (SQLException e) {
log.error(e.getMessage(), e);
}
}
}
@ -791,9 +818,13 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
}
@Override
@SuppressWarnings("unchecked")
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia, boolean isCalculoComissao, boolean isConsideraBilhetesDevolvidosEmOutraAgencia)
throws BusinessException {
Connection con = null;
NamedParameterStatement npst = null;
ResultSet rSet = null;
try {
Map<String, Object> parametros = carregarParametros(null, null, conferencia.getCompetencia(), conferencia.getEmpresa(),
conferencia.getPuntoVenta(), conferencia.getDatamovimento(), true);
@ -802,7 +833,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("SELECT C.CAJA_ID AS \"cajaId\", C.NUMASIENTO AS \"numAsiento\", C.NUMASIENTOVINCULADO AS \"numAsientoVinculado\", C.NUMOPERACION AS \"numoperacion\", C.NUMFOLIOSISTEMA AS \"numFolioSistema\", ")
.append("C.NUMSERIEPREIMPRESA AS \"numSeriePreimpresa\", C.NUMFOLIOPREIMPRESO AS \"numFolioPreImpreso\", EST.CVEESTADO AS \"uf\", CAT.DESCCATEGORIA AS \"desccategoria\", ")
.append("NVL(C.PRECIOBASE,0) AS \"valorbase\", NVL(C.PRECIOPAGADO,0) AS \"valorpagado\", NVL(C.IMPORTEOUTROS,0) AS \"seguroOutros\", NVL(C.IMPORTEPEDAGIO,0) AS \"pedagio\", NVL(C.IMPORTESEGURO,0) AS \"seguro\", ")
.append("NVL(C.IMPORTETAXAEMBARQUE,0) AS \"embarque\", C.TIPOVENTA_ID AS \"tipoVenta\", C.INDSTATUSBOLETO AS \"indstatusboleto\", LOG.STATUS AS \"status\", FP.FORMAPAGO_ID AS \"formapagoId\", ")
.append("NVL(C.IMPORTETAXAEMBARQUE,0) AS \"embarque\", C.TIPOVENTA_ID AS \"tipoVenta\", C.INDSTATUSBOLETO AS \"indstatusboleto\", NVL(LOG.STATUS,-1) AS \"status\", FP.FORMAPAGO_ID AS \"formapagoId\", ")
.append("FP.DESCPAGO AS \"descpago\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", MC.DESCMOTIVO AS \"descmotivocancelacion\", U.NOMBUSUARIO AS \"nombusuario\", C.MOTIVOCANCELACION_ID AS \"motivocancelacionId\", ")
.append("CF.IMPORTE AS \"importeFp\", COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", ")
.append("(select max(COMEMPCATEGORIA_ID) from COM_EMP_CATEGORIA where CATEGORIA_ID = C.CATEGORIA_ID AND EMPRESA_ID = M.EMPRESA_ID AND ACTIVO = 1) AS \"comempcategoriaId\", C.NOMBPASAJERO AS \"nombpasajero\", ")
@ -834,22 +865,15 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("WHERE C.ACTIVO = 1 ")
.append("AND C.FECCORTE BETWEEN TO_DATE(:dataInicial, 'DD/MM/YYYY') AND TO_DATE(:dataFinal, 'DD/MM/YYYY') ")
.append("AND ((C.INDSTATUSBOLETO = 'E' AND C.INDREIMPRESION = 1) OR C.INDREIMPRESION = 0 OR C.MOTIVOCANCELACION_ID = :motivoCancelacionGeracaoOcd) ");
parametros.put("motivoCancelacionGeracaoOcd", Constantes.MVO_CANCEL_GERACAO_OCD.intValue());
if (parametros.containsKey("empresaId")) {
sQuery.append("AND M.EMPRESA_ID = :empresaId ");
}
if (parametros.containsKey("puntoventaId")) {
if (isCalculoComissao && isConsideraBilhetesDevolvidosEmOutraAgencia){
sQuery.append("AND ( ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND (C.MOTIVOCANCELACION_ID IS NULL OR C.MOTIVOCANCELACION_ID NOT IN (:motivosCancelacion))) ")
.append(" OR ")
.append(" (C.PTOVTAVENTA_ID = :puntoventaId AND C.MOTIVOCANCELACION_ID IN (:motivosCancelacion)) ")
.append(" OR ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND (C.PTOVTAVENTA_ID IS NULL OR C.PUNTOVENTA_ID = C.PTOVTAVENTA_ID)) ")
.append(" OR ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND C.INDSTATUSBOLETO = 'E' AND C.MOTIVOCANCELACION_ID IS NULL) ")
.append(" ) ");
parametros.put("motivosCancelacion", Arrays.asList(
String sMotivosCancelacion = Arrays.asList(
Constantes.MVO_CANCEL_DEVOLUCAO.intValue(),
Constantes.MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_100.intValue(),
Constantes.MVO_CANCEL_DEVOLUCAO_CONTIGENCIA_50.intValue(),
@ -857,7 +881,21 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
Constantes.MVO_CANCEL_GERACAO_OCD.intValue(),
Constantes.MVO_CANCEL_TROCA.intValue(),
Constantes.MVO_CANCEL_TRANSFERENCIA.intValue()
));
).toString().replaceAll("[\\[\\]]", "");
sQuery.append("AND ( ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND (C.MOTIVOCANCELACION_ID IS NULL OR C.MOTIVOCANCELACION_ID NOT IN (")
.append(sMotivosCancelacion)
.append("))) ")
.append(" OR ")
.append(" (C.PTOVTAVENTA_ID = :puntoventaId AND C.MOTIVOCANCELACION_ID IN (")
.append(sMotivosCancelacion)
.append(")) ")
.append(" OR ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND (C.PTOVTAVENTA_ID IS NULL OR C.PUNTOVENTA_ID = C.PTOVTAVENTA_ID)) ")
.append(" OR ")
.append(" (C.PUNTOVENTA_ID = :puntoventaId AND C.INDSTATUSBOLETO = 'E' AND C.MOTIVOCANCELACION_ID IS NULL) ")
.append(" ) ");
}else{
sQuery.append("AND C.PUNTOVENTA_ID = :puntoventaId ");
}
@ -867,60 +905,57 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
parametros.put("numfoliosistema", conferencia.getNumfoliosistema());
}
sQuery.append("ORDER BY C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.CAJA_ID ");
@SuppressWarnings("deprecation")
Query qr = getSession().createSQLQuery(sQuery.toString())
.addScalar("cajaId", Hibernate.LONG)
.addScalar("transacaoOriginalId", Hibernate.LONG)
.addScalar("numAsiento", Hibernate.STRING)
.addScalar("numAsientoVinculado", Hibernate.STRING)
.addScalar("numFolioSistema", Hibernate.STRING)
.addScalar("numSeriePreimpresa", Hibernate.STRING)
.addScalar("numFolioPreImpreso", Hibernate.STRING)
.addScalar("uf", Hibernate.STRING)
.addScalar("desccategoria", Hibernate.STRING)
.addScalar("valorpagado", Hibernate.BIG_DECIMAL)
.addScalar("valorTabela", Hibernate.BIG_DECIMAL)
.addScalar("seguroOutros", Hibernate.BIG_DECIMAL)
.addScalar("pedagio", Hibernate.BIG_DECIMAL)
.addScalar("seguro", Hibernate.BIG_DECIMAL)
.addScalar("embarque", Hibernate.BIG_DECIMAL)
.addScalar("tipoVenta", Hibernate.INTEGER)
.addScalar("indstatusboleto", Hibernate.STRING)
.addScalar("status", Hibernate.INTEGER)
.addScalar("formapagoId", Hibernate.INTEGER)
.addScalar("descpago", Hibernate.STRING)
.addScalar("logconferenciaId", Hibernate.LONG)
.addScalar("descmotivocancelacion", Hibernate.STRING)
.addScalar("nombusuario", Hibernate.STRING)
.addScalar("motivoCancelacionId", Hibernate.INTEGER)
.addScalar("importeFp", Hibernate.BIG_DECIMAL)
.addScalar("comempformapagoId", Hibernate.INTEGER)
.addScalar("comempcategoriaId", Hibernate.INTEGER)
.addScalar("numoperacion", Hibernate.STRING)
.addScalar("nombpasajero", Hibernate.STRING)
.addScalar("indcarboletosdevolvidosconf", Hibernate.BOOLEAN)
.addScalar("feccorrida", Hibernate.DATE)
.addScalar("corridaId", Hibernate.INTEGER)
.addScalar("indCancelacion", Hibernate.BOOLEAN)
.addScalar("indreimpresion", Hibernate.BOOLEAN)
.addScalar("feccorte", Hibernate.DATE)
.addScalar("icmsBase", Hibernate.BIG_DECIMAL)
.addScalar("estadoId", Hibernate.INTEGER)
.addScalar("ptoVtaOrigem", Hibernate.BOOLEAN)
.addScalar("valorbase", Hibernate.BIG_DECIMAL)
.addScalar("empresaId", Hibernate.INTEGER)
.addScalar("transacaoId", Hibernate.LONG)
.addScalar("conferidoEntrega", Hibernate.BOOLEAN)
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
parametros.put("motivoCancelacionGeracaoOcd", Constantes.MVO_CANCEL_GERACAO_OCD.intValue());
setParametros(qr, parametros);
con = getConnection();
npst = new NamedParameterStatement(con, sQuery.toString());
setParametros(npst, parametros);
rSet = npst.executeQuery();
List<BoletoComissao> lsBoletoComissao = new ArrayList<BoletoComissao>();
List<BoletoComissao> auxLsBoletoComissao = qr.list();
for (BoletoComissao boletoComissao : auxLsBoletoComissao) {
while(rSet.next()) {
BoletoComissao boletoComissao = new BoletoComissao();
boletoComissao.setCajaId(rSet.getLong("cajaId"));
boletoComissao.setTransacaoOriginalId(rSet.getLong("transacaoOriginalId") > 0 ? rSet.getLong("transacaoOriginalId") : null );
boletoComissao.setNumAsiento(rSet.getString("numAsiento"));
boletoComissao.setNumAsientoVinculado(rSet.getString("numAsientoVinculado"));
boletoComissao.setNumFolioSistema(rSet.getString("numFolioSistema"));
boletoComissao.setNumSeriePreimpresa(rSet.getString("numSeriePreimpresa"));
boletoComissao.setNumFolioPreImpreso(rSet.getString("numFolioPreImpreso"));
boletoComissao.setUf(rSet.getString("uf"));
boletoComissao.setDesccategoria(rSet.getString("desccategoria"));
boletoComissao.setValorpagado(rSet.getBigDecimal("valorpagado"));
boletoComissao.setValorTabela(rSet.getBigDecimal("valorTabela"));
boletoComissao.setSeguroOutros(rSet.getBigDecimal("seguroOutros"));
boletoComissao.setPedagio(rSet.getBigDecimal("pedagio"));
boletoComissao.setEmbarque(rSet.getBigDecimal("embarque"));
boletoComissao.setTipoVenta(rSet.getInt("tipoVenta"));
boletoComissao.setIndstatusboleto(rSet.getString("indstatusboleto"));
boletoComissao.setStatus(rSet.getInt("status") >= 0 ? rSet.getInt("status") : null);
boletoComissao.setFormapagoId(rSet.getInt("formapagoId") > 0 ? rSet.getInt("formapagoId") : null);
boletoComissao.setDescpago(rSet.getString("descpago"));
boletoComissao.setLogconferenciaId(rSet.getLong("logconferenciaId") > 0 ? rSet.getLong("logconferenciaId") : null);
boletoComissao.setDescmotivocancelacion(rSet.getString("descmotivocancelacion"));
boletoComissao.setNombusuario(rSet.getString("nombusuario"));
boletoComissao.setMotivoCancelacionId(rSet.getInt("motivoCancelacionId") > 0 ? rSet.getInt("motivoCancelacionId") : null);
boletoComissao.setImporteFp(rSet.getBigDecimal("importeFp"));
boletoComissao.setComempformapagoId(rSet.getInt("comempformapagoId") > 0 ? rSet.getInt("comempformapagoId") : null);
boletoComissao.setComempcategoriaId(rSet.getInt("comempcategoriaId") > 0 ? rSet.getInt("comempcategoriaId") : null);
boletoComissao.setNumoperacion(rSet.getString("numoperacion"));
boletoComissao.setNombpasajero(rSet.getString("nombpasajero"));
boletoComissao.setIndcarboletosdevolvidosconf(rSet.getBoolean("indcarboletosdevolvidosconf"));
boletoComissao.setFeccorrida(rSet.getDate("feccorrida"));
boletoComissao.setCorridaId(rSet.getInt("corridaId") > 0 ? rSet.getInt("corridaId") : null);
boletoComissao.setIndCancelacion(rSet.getBoolean("indCancelacion"));
boletoComissao.setIndreimpresion(rSet.getBoolean("indreimpresion"));
boletoComissao.setFeccorte(rSet.getDate("feccorte"));
boletoComissao.setIcmsBase(rSet.getBigDecimal("icmsBase"));
boletoComissao.setEstadoId(rSet.getInt("estadoId") > 0 ? rSet.getInt("estadoId") : null);
boletoComissao.setPtoVtaOrigem(rSet.getBoolean("ptoVtaOrigem"));
boletoComissao.setValorbase(rSet.getBigDecimal("valorbase"));
boletoComissao.setEmpresaId(rSet.getInt("empresaId"));
boletoComissao.setTransacaoId(rSet.getLong("transacaoId") > 0 ? rSet.getLong("transacaoId") : null);
boletoComissao.setConferidoEntrega(rSet.getBoolean("conferidoEntrega"));
if(boletoComissao.getStatus() == null && boletoComissao.getConferidoEntrega() != null && boletoComissao.getConferidoEntrega()) {
boletoComissao.setConferido(true);
boletoComissao.setStatus(StatusLogConferencia.CONFERIDO.getValue());
@ -962,24 +997,42 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
lsBoletoComissao.add(boletoComissao);
}
}
return lsBoletoComissao;
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
} finally {
try {
if(rSet != null && !rSet.isClosed()) {
rSet.close();
}
if(npst != null && !npst.isClosed()) {
npst.close();
}
if(con != null && !con.isClosed()) {
con.close();
}
} catch (SQLException e) {
log.error(e.getMessage(), e);
}
}
}
@Override
@SuppressWarnings("unchecked")
public List<OcdVO> carregarOcds(Conferencia conferencia) throws BusinessException {
Connection con = null;
NamedParameterStatement npst = null;
ResultSet rSet = null;
try {
Map<String, Object> parametros = carregarParametros(null, null, null, conferencia.getEmpresa(),
conferencia.getPuntoVenta(), conferencia.getDatamovimento(), false);
StringBuilder sQuery = new StringBuilder()
.append("SELECT DISTINCT O.OCD_ID AS \"ocdId\", O.NUMOPERACION AS \"numoperacion\", O.FECINC AS \"fecinc\", O.FECPAGAR AS \"fecpagar\", O.FECPAGO AS \"fecpago\", ")
.append("O.INDPAGO AS \"indpago\", O.VALOR_PAGAR AS \"valorPagar\", (B.PRECIOPAGADO * (O.PENALIZACION / 100)) AS \"penalizacion\", LOG.STATUS AS \"status\", ")
.append("O.INDPAGO AS \"indpago\", O.VALOR_PAGAR AS \"valorPagar\", (B.PRECIOPAGADO * (O.PENALIZACION / 100)) AS \"penalizacion\", NVL(LOG.STATUS,-1) AS \"status\", ")
.append("U.NOMBUSUARIO AS \"nombusuario\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", U.CVEUSUARIO AS \"login\", B.NUMFOLIOSISTEMA AS \"numFolioSistema\", ")
.append("CEC.INDOCD AS \"exigeConferenciaAba\" ")
.append("FROM OCD O ")
@ -999,36 +1052,51 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
if (parametros.containsKey("puntoventaId")) {
sQuery.append("AND O.PUNTOVENTAPAGO_ID = :puntoventaId ");
}
@SuppressWarnings("deprecation")
Query qr = getSession().createSQLQuery(sQuery.toString())
.addScalar("ocdId", Hibernate.LONG)
.addScalar("numoperacion", Hibernate.STRING)
.addScalar("fecinc", Hibernate.DATE)
.addScalar("fecpagar", Hibernate.DATE)
.addScalar("fecpago", Hibernate.DATE)
.addScalar("indpago", Hibernate.BOOLEAN)
.addScalar("valorPagar", Hibernate.BIG_DECIMAL)
.addScalar("penalizacion", Hibernate.BIG_DECIMAL)
.addScalar("status", Hibernate.INTEGER)
.addScalar("nombusuario", Hibernate.STRING)
.addScalar("logconferenciaId", Hibernate.LONG)
.addScalar("login", Hibernate.STRING)
.addScalar("numFolioSistema", Hibernate.STRING)
.addScalar("exigeConferenciaAba", Hibernate.BOOLEAN)
.setResultTransformer(Transformers.aliasToBean(OcdVO.class));
setParametros(qr, parametros);
List<OcdVO> result = qr.list();
for (OcdVO ocd : result) {
con = getConnection();
npst = new NamedParameterStatement(con, sQuery.toString());
setParametros(npst, parametros);
rSet = npst.executeQuery();
List<OcdVO> result = new ArrayList<OcdVO>();
while(rSet.next()) {
OcdVO ocd = new OcdVO();
ocd.setOcdId(rSet.getLong("ocdId"));
ocd.setNumoperacion(rSet.getString("numoperacion"));
ocd.setFecinc(rSet.getDate("fecinc"));
ocd.setFecpagar(rSet.getDate("fecpagar"));
ocd.setFecpago(rSet.getDate("fecpago"));
ocd.setIndpago(rSet.getBoolean("indpago"));
ocd.setValorPagar(rSet.getBigDecimal("valorPagar"));
ocd.setPenalizacion(rSet.getBigDecimal("penalizacion"));
ocd.setStatus(rSet.getInt("status") >= 0 ? rSet.getInt("status") : null);
ocd.setLogconferenciaId(rSet.getLong("logconferenciaId") > 0 ? rSet.getLong("logconferenciaId") : null);
ocd.setLogin(rSet.getString("login"));
ocd.setNumFolioSistema(rSet.getString("numFolioSistema"));
ocd.setExigeConferenciaAba(rSet.getBoolean("exigeConferenciaAba"));
ocd.setConferencia(conferencia);
result.add(ocd);
}
return result;
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new BusinessException(e.getMessage(), e);
} finally {
try {
if(rSet != null && !rSet.isClosed()) {
rSet.close();
}
if(npst != null && !npst.isClosed()) {
npst.close();
}
if(con != null && !con.isClosed()) {
con.close();
}
} catch (SQLException e) {
log.error(e.getMessage(), e);
}
}
}

View File

@ -200,6 +200,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
}
@Override
@Transactional
public RegistroCalculo relatorioCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo) throws ComissaoException, BusinessException {
return realizarCalculoComissao(puntoVentaId, empresaId, periodo, isRetencaoDiaria, usuarioId, isRefazerCalculo);
}
@ -305,6 +306,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
return respDescontos;
}
@Transactional
public RegistroCalculo realizarCalculoComissao(Integer puntoVentaId, Integer empresaId, Date periodo, Boolean isRetencaoDiaria, Integer usuarioId, Boolean isRefazerCalculo) throws ComissaoException, BusinessException {
PtovtaComissao ptovtaComissao = ptovtaComissaoService.buscarPuntaVentaEmpresa(puntoVentaId, empresaId);