diff --git a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java index 85e2beed6..55b8e7737 100644 --- a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java +++ b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java @@ -25,6 +25,7 @@ public class Constantes { public static final Long MVO_CANCEL_BOLETO_ENTREGADO = new Long(16); public static final Long MVO_CANCEL_BOLETO_AGRUPAMENTO = new Long(17); public static final Long MVO_CANCEL_GERACAO_OCD = new Long(99); + public static final Long MVO_CANCEL_QUITACAO_OCD = new Long(35); public static Long TPV_DIRECTO_NORMAL = new Long(1); public static Long TPV_MANUAL = new Long(3); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java index e65317174..de64aedfd 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java @@ -202,12 +202,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO parametros = carregarParametros(competencia, empresa, puntoVenta, dataMovimento); StringBuilder sQuery = new StringBuilder() .append("SELECT PV.PUNTOVENTA_ID AS \"puntoventaId\", PV.NUMPUNTOVENTA as \"numPuntoVenta\", ") - .append("PV.NOMBPUNTOVENTA as \"nombpuntoventa\", TO_DATE(B.FECHORVENTA, 'DD/MM/YY') as \"datamovimento\" ") - .append("FROM BOLETO B ") - .append("INNER JOIN PUNTO_VENTA PV ON B.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ") - .append("INNER JOIN MARCA M ON B.MARCA_ID = M.MARCA_ID ") + .append("PV.NOMBPUNTOVENTA as \"nombpuntoventa\", TO_DATE(C.FECHORVENTA, 'DD/MM/YY') as \"datamovimento\" ") + .append("FROM CAJA C ") + .append("INNER JOIN PUNTO_VENTA PV ON C.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ") + .append("INNER JOIN MARCA M ON C.MARCA_ID = M.MARCA_ID ") .append("WHERE PV.ACTIVO = 1 ") - .append("AND B.FECHORVENTA BETWEEN TO_DATE(?, 'DD/MM/YYYY HH24:MI') AND TO_DATE(?, 'DD/MM/YYYY HH24:MI') "); + .append("AND C.FECHORVENTA BETWEEN TO_DATE(?, 'DD/MM/YYYY HH24:MI') AND TO_DATE(?, 'DD/MM/YYYY HH24:MI') "); if (parametros.containsKey("empresaId")) { sQuery.append("AND M.EMPRESA_ID = ? "); @@ -216,7 +216,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO carregarBilhetesComissao(Conferencia conferencia) throws BusinessException { @@ -696,69 +700,58 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO :motivocancelacionIdQuitacaoOcd) ") + .append("AND C.FECHORVENTA BETWEEN TO_DATE(:dataInicial, 'DD/MM/YYYY HH24:MI') AND TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI') ") + .append("AND C.FECHORVENTA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA "); if (parametros.containsKey("empresaId")) { sQuery.append("AND M.EMPRESA_ID = :empresaId "); } if (parametros.containsKey("puntoventaId")) { - sQuery.append("AND B.PUNTOVENTA_ID = :puntoventaId "); + sQuery.append("AND C.PUNTOVENTA_ID = :puntoventaId "); } if (StringUtils.isNotBlank(conferencia.getNumfoliosistema())) { - sQuery.append("AND B.NUMFOLIOSISTEMA = :numfoliosistema "); + sQuery.append("AND C.NUMFOLIOSISTEMA = :numfoliosistema "); parametros.put("numfoliosistema", conferencia.getNumfoliosistema()); } - sQuery.append("ORDER BY B.BOLETO_ID "); + sQuery.append("ORDER BY C.CAJA_ID "); @SuppressWarnings("deprecation") Query qr = getSession().createSQLQuery(sQuery.toString()) - .addScalar("boletoId", Hibernate.LONG) - .addScalar("boletoOriginalId", Hibernate.LONG) + .addScalar("cajaId", 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("uf", Hibernate.STRING) + .addScalar("desccategoria", Hibernate.STRING) .addScalar("valorpagado", Hibernate.BIG_DECIMAL) .addScalar("valorTabela", Hibernate.BIG_DECIMAL) .addScalar("seguroOutros", Hibernate.BIG_DECIMAL) @@ -774,26 +767,19 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO lsBoletoComissao = new ArrayList(); List auxLsBoletoComissao = qr.list(); @@ -870,9 +856,12 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO carregarLogConferencia(Long conferenciaId) throws BusinessException { try { StringBuilder sQuery = new StringBuilder() - .append("SELECT log ").append("FROM LogConferencia log ") + .append("SELECT log ") + .append("FROM LogConferencia log ") .append("WHERE log.activo = 1 ") .append("AND log.conferencia.conferenciaId = :conferenciaId "); Query qr = getSession().createQuery(sQuery.toString()); diff --git a/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java b/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java index c1f47290f..8763f3b6f 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/LogConferencia.java @@ -92,6 +92,9 @@ public class LogConferencia implements Serializable { @Column(name = "INDMESMODIA") private Boolean indmesmodia; + @Column(name = "CAJA_ID") + private Long cajaId; + public Long getLogconferenciaId() { return logconferenciaId; } @@ -259,5 +262,13 @@ public class LogConferencia implements Serializable { public void setIndmesmodia(Boolean indmesmodia) { this.indmesmodia = indmesmodia; } + + public Long getCajaId() { + return cajaId; + } + + public void setCajaId(Long cajaId) { + this.cajaId = cajaId; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java index d57ec0cdf..a859bd9df 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java @@ -381,7 +381,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic BigDecimal total = BigDecimal.ZERO; if (lsBoletoComissao != null) { for (BoletoComissao boletoComissao : lsBoletoComissao) { - if(boletoComissao.isNaoSomarBilhete()) { + if(boletoComissao.isNotSomarBilhete()) { continue; } @@ -402,7 +402,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic BigDecimal totalOcd = BigDecimal.ZERO; if (lsBoletoComissao != null) { for (BoletoComissao boletoComissao : lsBoletoComissao) { - if(boletoComissao.isNaoSomarBilhete()) { + if(boletoComissao.isNotSomarBilhete()) { continue; } if (boletoComissao.isOcd()) { @@ -426,7 +426,12 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic BigDecimal total = BigDecimal.ZERO; if (lsEventosFinanceiros != null) { for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { - total = total.add(eventosFinanceiros.getImpingreso()); + /*total = total.add(eventosFinanceiros.getImpingreso());*/ + if (eventosFinanceiros.isCredito()) { + total = MoneyHelper.somar(total, eventosFinanceiros.getImpingreso()); + } else if (eventosFinanceiros.isDebito()) { + total = MoneyHelper.subtrair(total, eventosFinanceiros.getImpingreso().abs()); + } } } return total; @@ -461,7 +466,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic resumoComissao.setTotalOcd(totalOcd); carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros); - subtrairOcdFormapagoDinheiro(totalOcd, resumoComissao); + //subtrairOcdFormapagoDinheiro(totalOcd, resumoComissao); carregarTotalDeposito(resumoComissao, boletoComissaos, lsEventosFinanceiros); resumoComissao.setQuantidadeEcf(puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia.getEmpresa().getEmpresaId(), conferencia.getPuntoVenta().getPuntoventaId())); @@ -483,7 +488,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic BigDecimal totalDeposito = BigDecimal.ZERO; for (BoletoComissao boletoComissao : boletoComissaos) { - if (!boletoComissao.isNaoSomarBilhete()) { + if (!boletoComissao.isNotSomarBilhete()) { for (FormapagoVO formapago : boletoComissao.getFormapagos()) { if(formaspagosDeposito.contains(formapago.getFormapagoId())) { //somando as vendas @@ -492,11 +497,14 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic //subtraindo os cancelamentos } else if(boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); - //subtraindo as trocas + //subtraindo as trocas e devolucoes } else if(boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) { if(boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido()) { totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); } + //subtraindo as quitacoes de ocd + } else if(boletoComissao.isMotivocancelacionQuitacaoOcd()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); } } } @@ -509,15 +517,15 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic if (eventosFinanceiros.isCredito()) { totalDeposito = MoneyHelper.somar(totalDeposito, eventosFinanceiros.getImpingreso()); } else if (eventosFinanceiros.isDebito()) { - totalDeposito = MoneyHelper.subtrair(totalDeposito, eventosFinanceiros.getImpingreso().compareTo(BigDecimal.ZERO) >= 0 ? eventosFinanceiros.getImpingreso() : eventosFinanceiros.getImpingreso().abs()); + totalDeposito = MoneyHelper.subtrair(totalDeposito, eventosFinanceiros.getImpingreso().abs()); } } } //subtraindo as ocds pagas - if(resumoComissao.getTotalOcd() != null && resumoComissao.getTotalOcd().getValorPagar() != null) { + /*if(resumoComissao.getTotalOcd() != null && resumoComissao.getTotalOcd().getValorPagar() != null) { totalDeposito = MoneyHelper.subtrair(totalDeposito, resumoComissao.getTotalOcd().getValorPagar()); - } + }*/ resumoComissao.setValorDeposito(totalDeposito); @@ -563,7 +571,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic private void carregarTotalFormapago(ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { List totalFormapagos = new ArrayList(); for (BoletoComissao boletoComissao : boletoComissaos) { - if (!boletoComissao.isNaoSomarBilhete()) { + if (!boletoComissao.isNotSomarBilhete()) { for (FormapagoVO formapagoBoleto : boletoComissao.getFormapagos()) { FormapagoVO formapago; if (totalFormapagos.contains(formapagoBoleto)) { @@ -573,19 +581,25 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic totalFormapagos.add(formapago); } + //somando as vendas if (boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual()) { formapago.add(formapagoBoleto.getImporte()); + //subtraindo os cancelamentos } else if (boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { formapago.subtract(formapagoBoleto.getImporte()); + //subtraindo as trocas e devolucoes } else if(boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) { - if(boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido()) { + if(boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido() || boletoComissao.isMotivocancelacionQuitacaoOcd()) { formapago.subtract(formapagoBoleto.getImporte()); } + //subtraindo as quitacoes de ocd + } else if(boletoComissao.isMotivocancelacionQuitacaoOcd()) { + formapago.subtract(formapagoBoleto.getImporte()); } } } } - + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { FormapagoVO formapagoEventoFinanceiro = new FormapagoVO(eventosFinanceiros.getFormapagoId(), eventosFinanceiros.getDescpago(), null, BigDecimal.ZERO); if (totalFormapagos.contains(formapagoEventoFinanceiro)) { @@ -597,7 +611,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic if (eventosFinanceiros.isCredito()) { formapagoEventoFinanceiro.add(eventosFinanceiros.getImpingreso()); } else if (eventosFinanceiros.isDebito()) { - formapagoEventoFinanceiro.subtract(eventosFinanceiros.getImpingreso().compareTo(BigDecimal.ZERO) >= 0 ? eventosFinanceiros.getImpingreso() : eventosFinanceiros.getImpingreso().abs()); + formapagoEventoFinanceiro.subtract(eventosFinanceiros.getImpingreso().abs()); } } diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java index 2eff50fc6..ebeb8b9a2 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java @@ -79,6 +79,8 @@ public class BoletoComissao { private Boolean indreimpresion; private Integer tipoventaAnteriorId; + + private Long cajaId; public Integer getEmpresaId() { return empresaId; @@ -303,10 +305,10 @@ public class BoletoComissao { if (obj == null) return false; BoletoComissao other = (BoletoComissao) obj; - if (getBoletoId() == null) { - if (other.getBoletoId() != null) + if (getCajaId() == null) { + if (other.getCajaId() != null) return false; - } else if (!getBoletoId().equals(other.getBoletoId())) + } else if (!getCajaId().equals(other.getCajaId())) return false; return true; } @@ -388,10 +390,6 @@ public class BoletoComissao { } public String getSituacaoBilhete() { - if("768596".equals(getNumFolioSistema())) { - System.out.println(""); - } - if (isOcd()) { return "OCD"; } @@ -442,7 +440,7 @@ public class BoletoComissao { } public boolean isOcd() { - return getOcdId() != null && isStatusCancelado() && !isFormapagoTrocaPassagem(); + return isMotivocancelacionGeracaoOcd() && isStatusCancelado() && !isFormapagoTrocaPassagem(); } public String getNombusuario() { @@ -510,11 +508,11 @@ public class BoletoComissao { } public Integer getTipoVentaOriginal() { - if(isVendaBilheteTroca(tipoVenta) || isVendaBilheteTransferencia(tipoVenta)) { + /*if(isVendaBilheteTroca(tipoVenta) || isVendaBilheteTransferencia(tipoVenta)) { return tipoVentaOriginal2 != null ? tipoVentaOriginal2 : tipoVentaOriginal1 != null ? tipoVentaOriginal1 : tipoventaAnteriorId != null ? tipoventaAnteriorId : tipoVenta; - } + }*/ return tipoVenta; } @@ -542,11 +540,11 @@ public class BoletoComissao { this.ocdId = ocdId; } - private boolean isBoletoOriginal() { +/* private boolean isBoletoOriginal() { return boletoOriginalId == null && getMotivoCancelacionOriginal() != null && getMotivoCancelacionOriginal() == Constantes.MVO_CANCEL_BOLETO_AGRUPAMENTO.intValue(); - } + }*/ public Integer getMotivoCancelacionOriginal() { return motivoCancelacionOriginal2 != null ? motivoCancelacionOriginal2 : motivoCancelacionOriginal1; @@ -653,16 +651,21 @@ public class BoletoComissao { && getMotivoCancelacionId() == Constantes.MVO_CANCEL_GERACAO_OCD.intValue(); } + public boolean isMotivocancelacionQuitacaoOcd() { + return !isSemMotivocancelacion() + && getMotivoCancelacionId() == Constantes.MVO_CANCEL_QUITACAO_OCD.intValue(); + } + /** ABA BILHETE MANUAL */ public boolean isBilhetesManualVendido() { - return (isVendaBilheteManual(getTipoVentaOriginal()) && isStatusVendido() && isSemMotivocancelacion()) || // Venda sem alteracao - (isVendaBilheteManual(getTipoVentaOriginal()) && isStatusVendido() && isMotivocancelacionTransferido()); // Venda transferida; + return (isVendaBilheteManual(getTipoVenta()) && isStatusVendido() && isSemMotivocancelacion()) || // Venda sem alteracao + (isVendaBilheteManual(getTipoVenta()) && isStatusVendido() && isMotivocancelacionTransferido()); // Venda transferida; } /** ABA BILHETE MANUAL */ public boolean isBilhetesAbertoManualVendido() { - return (isVendaBilheteAbertoManual(getTipoVentaOriginal()) && isStatusVendido() && isSemMotivocancelacion()) || // Venda sem alteracao - (isVendaBilheteAbertoManual(getTipoVentaOriginal()) && isStatusVendido() && isMotivocancelacionTransferido()); // Venda transferida; + return (isVendaBilheteAbertoManual(getTipoVenta()) && isStatusVendido() && isSemMotivocancelacion()) || // Venda sem alteracao + (isVendaBilheteAbertoManual(getTipoVenta()) && isStatusVendido() && isMotivocancelacionTransferido()); // Venda transferida; } public boolean isStatusVendido() { @@ -826,7 +829,7 @@ public class BoletoComissao { return false; } - if((isVendaBilheteTransferencia(getTipoVenta())) && isVendaGap(getTipoVentaOriginal())) { + if(isVendaBilheteTransferencia(getTipoVenta())) { return false; } @@ -877,11 +880,7 @@ public class BoletoComissao { return false; } - if((isVendaBilheteTransferencia(getTipoVenta())) && !isVendaGap(getTipoVentaOriginal())) { - return false; - } - - return isStatusVendido() || isStatusTroca(); + return (isStatusVendido() || isStatusTroca()) && isNotNumFolioPreImpressoGerado(); } /** Define bilhete na aba de gap cancelada */ @@ -945,7 +944,7 @@ public class BoletoComissao { private boolean isNotNumFolioPreImpressoGerado() { return StringUtils.isBlank(getNumFolioPreImpreso()); } - + public Boolean getIndreimpresion() { return indreimpresion; } @@ -959,12 +958,12 @@ public class BoletoComissao { return "BoletoComissao [boletoId=" + boletoId + ", tipoVenta=" + tipoVenta + ", indstatusboleto=" + indstatusboleto + ", motivoCancelacionId=" + motivoCancelacionId + ", descmotivocancelacion=" + descmotivocancelacion + ", tipoVentaOriginal1=" + tipoVentaOriginal1 + ", tipoVentaOriginal2=" + tipoVentaOriginal2 + ", indCancelacion=" + indCancelacion + ", indreimpresion=" + indreimpresion + ", total=" + getTotal() + "]"; } - public boolean isNaoSomarBilhete() { - /*if(getIndreimpresion() != null && getIndreimpresion()) { + public boolean isNotSomarBilhete() { + if(getIndreimpresion() != null && getIndreimpresion()) { return true; - }*/ + } - if(isStatusTroca() && isVendaBilheteTransferencia(getTipoVenta())) { +/* if(isStatusTroca() && isVendaBilheteTransferencia(getTipoVenta())) { return true; } @@ -982,9 +981,17 @@ public class BoletoComissao { if(isMotivocancelacionAgrupamento()) { return true; - } + }*/ return false; } + public Long getCajaId() { + return cajaId; + } + + public void setCajaId(Long cajaId) { + this.cajaId = cajaId; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/LogConferenciaVO.java b/src/com/rjconsultores/ventaboletos/vo/comissao/LogConferenciaVO.java index 88333dab6..14a89aacd 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/LogConferenciaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/LogConferenciaVO.java @@ -32,6 +32,7 @@ public class LogConferenciaVO { private String desctipoinformativo; private String descpendencia; private String descComportamentoData; + private Long cajaId; public LogConferenciaVO() { super(); @@ -285,5 +286,13 @@ public class LogConferenciaVO { public void setDescComportamentoData(String descComportamentoData) { this.descComportamentoData = descComportamentoData; } + + public Long getCajaId() { + return cajaId; + } + + public void setCajaId(Long cajaId) { + this.cajaId = cajaId; + } }