fixes bug #9784
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@74444 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
341e8db44c
commit
c97852cf1b
|
@ -38,7 +38,7 @@ public interface ConferenciaComissaoDAO extends GenericDAO<Conferencia, Long> {
|
|||
|
||||
public LogConferencia obtenerLogConferenciaID(Long logconferenciaId);
|
||||
|
||||
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia, boolean ehConsultaComissao) throws BusinessException;
|
||||
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia, boolean isCalculoComissao, boolean ehConsultaComissao) throws BusinessException;
|
||||
|
||||
public List<OcdVO> carregarOcds(Conferencia conferencia) throws BusinessException;
|
||||
|
||||
|
|
|
@ -798,7 +798,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia, boolean ehConsultaComissao)
|
||||
public List<BoletoComissao> carregarBilhetesComissao(Conferencia conferencia, boolean isCalculoComissao, boolean isConsideraBilhetesDevolvidosEmOutraAgencia)
|
||||
throws BusinessException {
|
||||
try {
|
||||
Map<String, Object> parametros = carregarParametros(null, null, conferencia.getCompetencia(), conferencia.getEmpresa(),
|
||||
|
@ -807,7 +807,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
StringBuilder sQuery = new StringBuilder()
|
||||
.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.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.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("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\", ")
|
||||
|
@ -816,7 +816,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("NVL(T.PRECIO,0) + NVL(T.IMPORTEPEDAGIO,0) + NVL(T.IMPORTETAXAEMBARQUE,0) + NVL(T.IMPORTESEGURO,0) + NVL(T.IMPORTEOUTROS,0) AS \"valorTabela\", ")
|
||||
.append("C.INDCANCELACION AS \"indCancelacion\", C.INDREIMPRESION AS \"indreimpresion\", C.FECCORTE AS \"feccorte\", ")
|
||||
.append("EI.ICMS as \"icmsBase\", EST.ESTADO_ID as \"estadoId\", ")
|
||||
.append("CASE WHEN C.PTOVTAVENTA_ID = C.PUNTOVENTA_ID THEN 1 ELSE 0 END AS ptoVtaOrigem ")
|
||||
.append("CASE WHEN C.PTOVTAVENTA_ID = C.PUNTOVENTA_ID OR C.PTOVTAVENTA_ID IS NULL THEN 1 ELSE 0 END AS ptoVtaOrigem ")
|
||||
.append("FROM CAJA C ")
|
||||
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = C.ORIGEN_ID ")
|
||||
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.CIUDAD_ID ")
|
||||
|
@ -835,15 +835,26 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.append("INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = T.VIGENCIATARIFA_ID) ")
|
||||
.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 )) ")
|
||||
.append("AND C.FECHORVENTA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
|
||||
|
||||
if(isCalculoComissao) {
|
||||
sQuery.append("AND ((C.INDSTATUSBOLETO = 'E' AND C.INDREIMPRESION = 1) OR C.INDREIMPRESION = 0 OR C.MOTIVOCANCELACION_ID = 99) ");
|
||||
} else {
|
||||
sQuery.append("AND ((C.INDSTATUSBOLETO = 'E' AND C.INDREIMPRESION = 1) OR C.INDREIMPRESION = 0) ");
|
||||
}
|
||||
|
||||
if (parametros.containsKey("empresaId")) {
|
||||
sQuery.append("AND M.EMPRESA_ID = :empresaId ");
|
||||
}
|
||||
if (parametros.containsKey("puntoventaId")) {
|
||||
if (ehConsultaComissao){
|
||||
sQuery.append("AND (C.PUNTOVENTA_ID = :puntoventaId or (C.ptovtaventa_id =:puntoventaId and C.MOTIVOCANCELACION_ID IN (32,31,10) AND C.INDSTATUSOPERACION = 'F' ) )");
|
||||
if (isConsideraBilhetesDevolvidosEmOutraAgencia){
|
||||
sQuery.append("AND ( ")
|
||||
.append(" C.PUNTOVENTA_ID = :puntoventaId AND C.PTOVTAVENTA_ID IS NULL ")
|
||||
.append(" OR ")
|
||||
.append(" (C.PTOVTAVENTA_ID = :puntoventaId) ")
|
||||
.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 ");
|
||||
}
|
||||
|
@ -852,7 +863,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
sQuery.append("AND C.NUMFOLIOSISTEMA = :numfoliosistema ");
|
||||
parametros.put("numfoliosistema", conferencia.getNumfoliosistema());
|
||||
}
|
||||
sQuery.append("ORDER BY C.CAJA_ID ");
|
||||
sQuery.append("ORDER BY C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.CAJA_ID ");
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
Query qr = getSession().createSQLQuery(sQuery.toString())
|
||||
|
@ -893,6 +904,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
|
|||
.addScalar("icmsBase", Hibernate.BIG_DECIMAL)
|
||||
.addScalar("estadoId", Hibernate.INTEGER)
|
||||
.addScalar("ptoVtaOrigem", Hibernate.BOOLEAN)
|
||||
.addScalar("valorbase", Hibernate.BIG_DECIMAL)
|
||||
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
|
||||
setParametros(qr, parametros);
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@ package com.rjconsultores.ventaboletos.service.impl;
|
|||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
|
@ -305,11 +304,14 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
PtovtaComissao ptovtaComissao = ptovtaComissaoService.buscarPuntaVentaEmpresa(puntoVentaId, empresaId);
|
||||
if (ptovtaComissao != null) {
|
||||
|
||||
//Abate no valor da comissão bpr as saídas de caixa
|
||||
boolean consideraBilhetesDevolvidosEmOutraAgencia = (ptovtaComissao.getIndbilhetesdevcanorigem() == null)?false:ptovtaComissao.getIndbilhetesdevcanorigem();
|
||||
|
||||
Conferencia conferencia = new Conferencia();
|
||||
conferencia.setPuntoVenta(new PuntoVenta(puntoVentaId));
|
||||
conferencia.setEmpresa(new Empresa(empresaId));
|
||||
conferencia.setCompetencia(DateUtil.getStringDate(periodo, "MM/yyyy"));
|
||||
List<BoletoComissao> receitasBoleto = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, true);
|
||||
List<BoletoComissao> receitasBoleto = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, true, consideraBilhetesDevolvidosEmOutraAgencia);
|
||||
List<EventosFinanceirosVO> eventosFinanceirosVOs = conferenciaComissaoDAO.carregarEventosFinanceiros(conferencia);
|
||||
|
||||
Calendar calendario = Calendar.getInstance();
|
||||
|
@ -486,12 +488,17 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
|
||||
/* Calculando comissão para os boletos */
|
||||
|
||||
for (BoletoComissao rcc : list) {
|
||||
|
||||
boolean isAltaTemporada = validaAltaTemporada(impostos, mes, rcc.getEstadoId());
|
||||
|
||||
IndStatusBoleto statusBoleto = IndStatusBoleto.valueOf(rcc.getIndstatusboleto());
|
||||
boolean isSaidaCaixa = (rcc.getMotivoCancelacionId() != null) && (rcc.getIndreimpresion() != null && !rcc.getIndreimpresion());
|
||||
boolean isSaidaCaixa = rcc.getMotivoCancelacionId() != null;
|
||||
boolean isEntregaPassagem = statusBoleto.equals(IndStatusBoleto.E) && (rcc.getMotivoCancelacionId() == null);
|
||||
if(rcc.isMotivocancelacionTransferido() || rcc.isMotivocancelacionQuitacaoOcd()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
BigDecimal receitaItem = BigDecimal.ZERO;
|
||||
BigDecimal receitaDevItem = BigDecimal.ZERO;
|
||||
|
@ -545,7 +552,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
|
||||
// Boletos impressos no punto venta
|
||||
if (statusBoleto.equals(IndStatusBoleto.E) && (rcc.getMotivoCancelacionId() == null)) {
|
||||
if (isEntregaPassagem) {
|
||||
contImpressa++;
|
||||
gapImpressa = MoneyHelper.somar(gapImpressa, receitaItem);
|
||||
|
||||
|
@ -580,20 +587,20 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
if (isSaidaCaixa) {
|
||||
// Devolução Receita
|
||||
if (rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_DEVOLUCAO.intValue()) || rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_GERACAO_OCD.intValue())) {
|
||||
if (rcc.isMotivocancelacionDevolvido() || rcc.isMotivocancelacionGeracaoOcd() || rcc.isMotivocancelacionTrocado() || rcc.isMotivocancelacionQuitacaoOcd()) {
|
||||
|
||||
// Devolução Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
|
||||
// Impresso Venta de otro punto venta
|
||||
if (rcc.isPtoVtaOrigem()) {
|
||||
if (!rcc.isPtoVtaOrigem()) {
|
||||
devolvidosGAPOrigem = MoneyHelper.somar(devolvidosGAPOrigem, receitaDevItem);
|
||||
}
|
||||
devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaDevItem);
|
||||
|
||||
} else {
|
||||
// Impresso Venta de otro punto venta
|
||||
if (rcc.isPtoVtaOrigem()) {
|
||||
if (!rcc.isPtoVtaOrigem()) {
|
||||
devolvidosOrigem = MoneyHelper.somar(devolvidosOrigem, receitaDevItem);
|
||||
}
|
||||
|
||||
|
@ -612,13 +619,10 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
}
|
||||
}
|
||||
|
||||
//Abate no valor da comissão bpr as saídas de caixa
|
||||
boolean consideraBilhetesDevolvidosEmOutraAgencia = (ptovtaComissao.getIndbilhetesdevcanorigem() == null)?false:ptovtaComissao.getIndbilhetesdevcanorigem();
|
||||
|
||||
if (rcc.isPtoVtaOrigem() && consideraBilhetesDevolvidosEmOutraAgencia) {
|
||||
/*if (!rcc.isPtoVtaOrigem() && consideraBilhetesDevolvidosEmOutraAgencia) {*/
|
||||
BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO);
|
||||
comissaoBPR = MoneyHelper.subtrair(comissaoBPR, bpr);
|
||||
}
|
||||
/*}*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -664,7 +668,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
receitaComissao = MoneyHelper.somar(receitaComissao,receitaBPR);
|
||||
receitaComissao = MoneyHelper.somar(receitaComissao,receitaGAP);
|
||||
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,gapImpressa);
|
||||
//receitaComissao = MoneyHelper.subtrair(receitaComissao,gapImpressa);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,internet);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,cancelados);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,devolvidos);
|
||||
|
|
|
@ -192,7 +192,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
|
|||
}
|
||||
|
||||
if (boletoComissaos == null || boletoComissaos.isEmpty()) {
|
||||
boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(c, false);
|
||||
boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(c, false, false);
|
||||
}
|
||||
|
||||
if(boletoStatusComissao == null){
|
||||
|
@ -242,7 +242,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
|
|||
@Override
|
||||
public List<BoletoComissao> carregarBilhetesComissao(List<BoletoComissao> boletoComissaos, Conferencia conferencia, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException {
|
||||
if (boletoComissaos == null) {
|
||||
boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, false);
|
||||
boletoComissaos = conferenciaComissaoDAO.carregarBilhetesComissao(conferencia, false, false);
|
||||
}
|
||||
|
||||
if (boletoStatusComissao == null) {
|
||||
|
|
|
@ -26,6 +26,7 @@ public class BoletoComissao {
|
|||
private Integer motivoCancelacionOriginal1;
|
||||
private Integer motivoCancelacionOriginal2;
|
||||
private String descmotivocancelacion;
|
||||
private BigDecimal valorbase;
|
||||
private BigDecimal valorpagado;
|
||||
private BigDecimal valorTabela;
|
||||
private BigDecimal seguro;
|
||||
|
@ -1019,4 +1020,12 @@ public class BoletoComissao {
|
|||
this.feccorte = feccorte;
|
||||
}
|
||||
|
||||
public BigDecimal getValorbase() {
|
||||
return valorbase;
|
||||
}
|
||||
|
||||
public void setValorbase(BigDecimal valorbase) {
|
||||
this.valorbase = valorbase;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -127,16 +127,11 @@ public class ComissaoReceita {
|
|||
}
|
||||
|
||||
public BigDecimal getDevolvidosRelatorio() {
|
||||
BigDecimal devolvidos = BigDecimal.ZERO;
|
||||
devolvidos = MoneyHelper.somar(getDevolvidos() != null ? getDevolvidos() : BigDecimal.ZERO,
|
||||
getDevolucoesOrigem() != null ? getDevolucoesOrigem() : BigDecimal.ZERO);
|
||||
return MoneyHelper.arredondar(devolvidos, 2);
|
||||
return getDevolvidos();
|
||||
}
|
||||
|
||||
public BigDecimal getDevolvidosGAPRelatorio() {
|
||||
BigDecimal devolvidosGap = MoneyHelper.somar(getDevolvidosGAP() != null ? getDevolvidosGAP() : BigDecimal.ZERO,
|
||||
getDevolucoesOrigemGAP() != null ? getDevolucoesOrigemGAP() : BigDecimal.ZERO);
|
||||
return MoneyHelper.arredondar(devolvidosGap, 2);
|
||||
return getDevolvidosGAP();
|
||||
}
|
||||
|
||||
public BigDecimal getDevolvidosGAP() {
|
||||
|
|
Loading…
Reference in New Issue