wilian 2016-03-23 13:32:42 +00:00
parent b22a52953d
commit 151e540b77
6 changed files with 198 additions and 74 deletions

View File

@ -7,6 +7,7 @@ import java.util.List;
public class Constantes { public class Constantes {
public static final Long FORMA_PAGO_DINHEIRO = new Long(1);
public static final Long FORMA_PAGO_RESERVA = new Long(94); public static final Long FORMA_PAGO_RESERVA = new Long(94);
public static final Long FORMA_PAGO_NOTA_CREDITO = new Long(93); public static final Long FORMA_PAGO_NOTA_CREDITO = new Long(93);
public static final Long FORMA_PAGO_CREDITO = new Long(2); public static final Long FORMA_PAGO_CREDITO = new Long(2);
@ -14,6 +15,7 @@ public class Constantes {
public static final Long MVO_CANCEL_CANCELACION = new Long(31); public static final Long MVO_CANCEL_CANCELACION = new Long(31);
public static final Long MVO_CANCEL_DEVOLUCAO = new Long(32); public static final Long MVO_CANCEL_DEVOLUCAO = new Long(32);
public static final Long MVO_CANCEL_TROCA = new Long(10);
public static Long TPV_DIRECTO_NORMAL = new Long(1); public static Long TPV_DIRECTO_NORMAL = new Long(1);
public static Long TPV_MANUAL = new Long(3); public static Long TPV_MANUAL = new Long(3);
@ -41,4 +43,5 @@ public class Constantes {
public static final String UTF_8 = "UTF-8"; public static final String UTF_8 = "UTF-8";
} }

View File

@ -176,12 +176,15 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("AND B.FECHORVENTA BETWEEN :dataInicial AND :dataFinal ") .append("AND B.FECHORVENTA BETWEEN :dataInicial AND :dataFinal ")
.append("AND B.TIPOVENTA_ID IN (:tipoVenta) ") .append("AND B.TIPOVENTA_ID IN (:tipoVenta) ")
.append("AND ( ") .append("AND ( ")
.append(" (B.INDSTATUSBOLETO = 'V' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))) ") .append(" (B.INDSTATUSBOLETO = 'V' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionIdVenda))) ")
.append(" OR ") .append(" OR ")
.append(" (B.INDSTATUSBOLETO = 'C' AND B.MOTIVOCANCELACION_ID IN (:motivocancelacionId)) ") .append(" (B.INDSTATUSBOLETO = 'C' AND B.MOTIVOCANCELACION_ID IN (:motivocancelacionId)) ")
.append(" OR ")
.append(" (B.INDSTATUSBOLETO = 'T' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))) ")
.append(" ) "); .append(" ) ");
parametros.put("tipoVenta", Arrays.asList(Constantes.TPV_BOLETO_REMOTO,Constantes.TPV_MANUAL,Constantes.TPV_DIRECTO_NORMAL)); parametros.put("tipoVenta", Arrays.asList(Constantes.TPV_BOLETO_REMOTO,Constantes.TPV_MANUAL,Constantes.TPV_DIRECTO_NORMAL, Constantes.TPV_TRANSFERENCIAS));
parametros.put("motivocancelacionIdVenda", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION,Constantes.MVO_CANCEL_DEVOLUCAO,Constantes.MVO_CANCEL_TROCA));
parametros.put("motivocancelacionId", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION,Constantes.MVO_CANCEL_DEVOLUCAO)); parametros.put("motivocancelacionId", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION,Constantes.MVO_CANCEL_DEVOLUCAO));
if(parametros.containsKey("empresaId")) { if(parametros.containsKey("empresaId")) {
@ -592,15 +595,20 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
Map<String, Object> parametros = carregarParametros(null, conferencia.getEmpresa(), conferencia.getPuntoVenta()); Map<String, Object> parametros = carregarParametros(null, conferencia.getEmpresa(), conferencia.getPuntoVenta());
StringBuilder sQuery = new StringBuilder(); StringBuilder sQuery = new StringBuilder();
sQuery.append("SELECT B.BOLETO_ID AS \"boletoId\", B.NUMASIENTO AS \"numAsiento\", B.NUMASIENTOVINCULADO AS \"numAsientoVinculado\", B.NUMFOLIOSISTEMA AS \"numFolioSistema\", B.NUMSERIEPREIMPRESA AS \"numSeriePreimpresa\", ") sQuery.append("SELECT B.BOLETO_ID AS \"boletoId\", B.NUMASIENTO AS \"numAsiento\", B.NUMASIENTOVINCULADO AS \"numAsientoVinculado\", ")
.append("B.NUMOPERACION AS \"numoperacion\", B.NUMFOLIOSISTEMA AS \"numFolioSistema\", B.NUMSERIEPREIMPRESA AS \"numSeriePreimpresa\", ")
.append("B.NUMFOLIOPREIMPRESO AS \"numFolioPreImpreso\", EST.CVEESTADO AS \"uf\", CAT.DESCCATEGORIA AS \"desccategoria\", ") .append("B.NUMFOLIOPREIMPRESO AS \"numFolioPreImpreso\", EST.CVEESTADO AS \"uf\", CAT.DESCCATEGORIA AS \"desccategoria\", ")
.append("NVL(B.PRECIOPAGADO,0) AS \"valorpagado\", NVL(B.IMPORTEOUTROS,0) AS \"seguroOutros\", ") .append("NVL(B.PRECIOPAGADO,0) AS \"valorpagado\", NVL(B.IMPORTEOUTROS,0) AS \"seguroOutros\", ")
.append("NVL(B.IMPORTEPEDAGIO,0) AS \"pedagio\", NVL(B.IMPORTESEGURO,0) AS \"seguro\", NVL(B.IMPORTETAXAEMBARQUE,0) AS \"embarque\", ") .append("NVL(B.IMPORTEPEDAGIO,0) AS \"pedagio\", NVL(B.IMPORTESEGURO,0) AS \"seguro\", NVL(B.IMPORTETAXAEMBARQUE,0) AS \"embarque\", ")
.append("B.TIPOVENTA_ID AS \"tipoVenta\", B.INDSTATUSBOLETO AS \"indstatusboleto\", LOG.STATUS AS \"status\", ") .append("B.TIPOVENTA_ID AS \"tipoVenta\", B.INDSTATUSBOLETO AS \"indstatusboleto\", LOG.STATUS AS \"status\", ")
.append("FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", ") .append("FP.FORMAPAGO_ID AS \"formapagoId\", FP.DESCPAGO AS \"descpago\", LOG.LOGCONFERENCIA_ID AS \"logconferenciaId\", ")
.append("MC.DESCMOTIVO AS \"descmotivocancelacion\", U.NOMBUSUARIO AS \"nombusuario\", B.MOTIVOCANCELACION_ID AS \"motivocancelacionId\", ") .append("MC.DESCMOTIVO AS \"descmotivocancelacion\", U.NOMBUSUARIO AS \"nombusuario\", B.MOTIVOCANCELACION_ID AS \"motivocancelacionId\", ")
.append("BF.IMPORTE AS \"importeFp\", COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", COMCAT.COMEMPCATEGORIA_ID AS \"comempcategoriaId\" ") .append("BF.IMPORTE AS \"importeFp\", COMFP.COMEMPFORMAPAGO_ID AS \"comempformapagoId\", COMCAT.COMEMPCATEGORIA_ID AS \"comempcategoriaId\", ")
.append("BO1.TIPOVENTA_ID \"tipoVentaOriginal1\", BO2.TIPOVENTA_ID \"tipoVentaOriginal2\", OCD.OCD_ID \"ocdId\" ")
.append("FROM BOLETO B ") .append("FROM BOLETO B ")
.append("LEFT JOIN BOLETO BO1 ON BO1.BOLETO_ID = B.BOLETOORIGINAL_ID ")
.append("LEFT JOIN BOLETO BO2 ON BO2.BOLETO_ID = BO1.BOLETOORIGINAL_ID ")
.append("LEFT JOIN OCD OCD ON B.BOLETOORIGINAL_ID = OCD.BOLETO_ID ")
.append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ") .append("LEFT JOIN PARADA ORI ON ORI.PARADA_ID = B.ORIGEN_ID ")
.append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.PARADA_ID ") .append("LEFT JOIN CIUDAD CID ON CID.CIUDAD_ID = ORI.PARADA_ID ")
.append("LEFT JOIN ESTADO EST ON EST.ESTADO_ID = CID.ESTADO_ID ") .append("LEFT JOIN ESTADO EST ON EST.ESTADO_ID = CID.ESTADO_ID ")
@ -614,12 +622,15 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("LEFT JOIN COM_EMP_CATEGORIA COMCAT ON COMCAT.CATEGORIA_ID = B.CATEGORIA_ID AND COMCAT.EMPRESA_ID = B.EMPRESACORRIDA_ID ") .append("LEFT JOIN COM_EMP_CATEGORIA COMCAT ON COMCAT.CATEGORIA_ID = B.CATEGORIA_ID AND COMCAT.EMPRESA_ID = B.EMPRESACORRIDA_ID ")
.append("WHERE B.ACTIVO = 1 ") .append("WHERE B.ACTIVO = 1 ")
.append("AND TO_DATE(B.FECHORVENTA,'DD/MM/YY') = :datamovimento ") .append("AND TO_DATE(B.FECHORVENTA,'DD/MM/YY') = :datamovimento ")
.append("AND ((B.INDSTATUSBOLETO = 'V' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))) ") .append("AND ((B.INDSTATUSBOLETO = 'V' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionIdVenda))) ")
.append(" OR ") .append(" OR ")
.append(" (B.INDSTATUSBOLETO = 'C' AND B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))") .append(" (B.INDSTATUSBOLETO = 'C' AND B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))")
.append(" OR ")
.append(" (B.INDSTATUSBOLETO = 'T' AND (B.MOTIVOCANCELACION_ID IS NULL OR B.MOTIVOCANCELACION_ID IN (:motivocancelacionId))) ")
.append(" )"); .append(" )");
parametros.put("datamovimento", conferencia.getDatamovimento()); parametros.put("datamovimento", conferencia.getDatamovimento());
parametros.put("motivocancelacionIdVenda", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION, Constantes.MVO_CANCEL_DEVOLUCAO, Constantes.MVO_CANCEL_TROCA));
parametros.put("motivocancelacionId", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION, Constantes.MVO_CANCEL_DEVOLUCAO)); parametros.put("motivocancelacionId", Arrays.asList(Constantes.MVO_CANCEL_CANCELACION, Constantes.MVO_CANCEL_DEVOLUCAO));
if(parametros.containsKey("empresaId")) { if(parametros.containsKey("empresaId")) {
@ -635,41 +646,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
parametros.put("numfoliosistema", conferencia.getNumfoliosistema()); parametros.put("numfoliosistema", conferencia.getNumfoliosistema());
} }
/*parametros.put("tipoVenta", Arrays.asList(Constantes.TPV_BOLETO_REMOTO,Constantes.TPV_MANUAL,Constantes.TPV_DIRECTO_NORMAL)); sQuery.append("ORDER BY B.BOLETO_ID ");
if(BoletoStatusComissao.BOLETOS.equals(boletoStatusComissao)) {
sQuery.append("AND B.TIPOVENTA_ID NOT IN (:tipoVenta) ")
.append("AND B.INDSTATUSBOLETO IN ('V','C') ");
parametros.put("tipoVenta", Arrays.asList(Constantes.TPV_BOLETO_REMOTO,Constantes.TPV_MANUAL));
}
if(BoletoStatusComissao.BOLETO_MANUAL.equals(boletoStatusComissao)) {
sQuery.append("AND B.TIPOVENTA_ID = :tipoVenta ");
parametros.put("tipoVenta", Constantes.TPV_MANUAL);
}
if(BoletoStatusComissao.BOLETO_CANCELADO.equals(boletoStatusComissao) || BoletoStatusComissao.BOLETO_DEVOLVIDO.equals(boletoStatusComissao)) {
sQuery.append("AND B.TIPOVENTA_ID = :tipoVenta ")
.append("AND B.INDSTATUSBOLETO = 'C' ")
.append("AND B.MOTIVOCANCELACION_ID = :motivocancelacionId ");
parametros.put("motivocancelacionId", BoletoStatusComissao.BOLETO_CANCELADO.equals(boletoStatusComissao) ? Constantes.MVO_CANCEL_CANCELACION : Constantes.MVO_CANCEL_DEVOLUCAO);
parametros.put("tipoVenta", Constantes.TPV_DIRECTO_NORMAL);
}
if(BoletoStatusComissao.GAP.equals(boletoStatusComissao)) {
sQuery.append("AND B.TIPOVENTA_ID = :tipoVenta ")
.append("AND B.INDSTATUSBOLETO = 'V' ")
.append("AND B.MOTIVOCANCELACION_ID IS NULL ");
parametros.put("tipoVenta", Constantes.TPV_BOLETO_REMOTO);
}
if(BoletoStatusComissao.GAP_CANCELADO.equals(boletoStatusComissao) || BoletoStatusComissao.GAP_DEVOLVIDO.equals(boletoStatusComissao)) {
sQuery.append("AND B.TIPOVENTA_ID = :tipoVenta ")
.append("AND B.INDSTATUSBOLETO = 'C' ")
.append("AND B.MOTIVOCANCELACION_ID = :motivocancelacionId ");
parametros.put("motivocancelacionId", BoletoStatusComissao.GAP_CANCELADO.equals(boletoStatusComissao) ? Constantes.MVO_CANCEL_CANCELACION : Constantes.MVO_CANCEL_DEVOLUCAO);
parametros.put("tipoVenta", Constantes.TPV_BOLETO_REMOTO);
}*/
log.info(sQuery.toString()); log.info(sQuery.toString());
@ -699,6 +676,10 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.addScalar("importeFp", Hibernate.BIG_DECIMAL) .addScalar("importeFp", Hibernate.BIG_DECIMAL)
.addScalar("comempformapagoId", Hibernate.INTEGER) .addScalar("comempformapagoId", Hibernate.INTEGER)
.addScalar("comempcategoriaId", Hibernate.INTEGER) .addScalar("comempcategoriaId", Hibernate.INTEGER)
.addScalar("numoperacion", Hibernate.STRING)
.addScalar("tipoVentaOriginal1", Hibernate.INTEGER)
.addScalar("tipoVentaOriginal2", Hibernate.INTEGER)
.addScalar("ocdId", Hibernate.INTEGER)
.setResultTransformer(Transformers.aliasToBean(BoletoComissao.class)); .setResultTransformer(Transformers.aliasToBean(BoletoComissao.class));
setParametros(qr, parametros); setParametros(qr, parametros);
@ -738,9 +719,10 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
.append("FROM OCD O ") .append("FROM OCD O ")
.append("LEFT JOIN BOLETO B ON B.BOLETO_ID = O.BOLETO_ID ") .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = O.BOLETO_ID ")
.append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.OCD_ID = O.OCD_ID ") .append("LEFT JOIN LOG_CONFERENCIA LOG ON LOG.OCD_ID = O.OCD_ID ")
.append("INNER JOIN USUARIO U ON O.USUARIO_ID = U.USUARIO_ID ") .append("INNER JOIN USUARIO U ON O.USUARIOPAGO_ID = U.USUARIO_ID ")
.append("WHERE O.ACTIVO = 1 ") .append("WHERE O.ACTIVO = 1 ")
.append("AND TO_DATE(O.FECINC,'DD/MM/YY') = :datamovimento "); .append("AND TO_DATE(O.FECINC,'DD/MM/YY') = :datamovimento ")
.append("AND O.INDPAGO = 1 ");
parametros.put("datamovimento", conferencia.getDatamovimento()); parametros.put("datamovimento", conferencia.getDatamovimento());

View File

@ -5,6 +5,8 @@ public enum BoletoStatusComissao {
BOLETOS_VENDIDOS, BOLETOS_VENDIDOS,
BOLETO_CANCELADO, BOLETO_CANCELADO,
BOLETO_DEVOLVIDO, BOLETO_DEVOLVIDO,
BOLETO_DEVOLVIDO_TROCADO,
BOLETO_DEVOLVIDO_OCD,
BOLETO_MANUAL, BOLETO_MANUAL,
GAP_VENDIDOS, GAP_VENDIDOS,
GAP_CANCELADO, GAP_CANCELADO,

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.entidad.Conferencia; import com.rjconsultores.ventaboletos.entidad.Conferencia;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
@ -66,4 +67,6 @@ public interface ConferenciaComissaoService extends GenericService<Conferencia,
public boolean isConferenciaCompetenciaEncerrada(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException; public boolean isConferenciaCompetenciaEncerrada(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException;
public Map<BoletoStatusComissao, BigDecimal> totalizarBoletoComissaoDevolvidosTrocaOcd(List<BoletoComissao> lsBoletoComissao) throws BusinessException;
} }

View File

@ -4,7 +4,9 @@ import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -171,9 +173,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesVendidos(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesVendidos(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.V.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesNormalVendido(boletoComissao)) {
Constantes.TPV_BOLETO_REMOTO.intValue() != boletoComissao.getTipoVenta() &&
Constantes.TPV_MANUAL.intValue() != boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -183,8 +183,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesManuais(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesManuais(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.V.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesManualVendido(boletoComissao)) {
Constantes.TPV_MANUAL.intValue() == boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -194,10 +193,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesCancelados(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesCancelados(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.C.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesNormalCancelado(boletoComissao)) {
Constantes.MVO_CANCEL_CANCELACION.intValue() == boletoComissao.getMotivoCancelacionId() &&
Constantes.TPV_BOLETO_REMOTO.intValue() != boletoComissao.getTipoVenta() &&
Constantes.TPV_MANUAL.intValue() != boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -207,10 +203,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesDevolvidos(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesDevolvidos(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.C.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesNormalDevolvido(boletoComissao) || isBilhetesNormalTrocado(boletoComissao)) {
Constantes.MVO_CANCEL_DEVOLUCAO.intValue() == boletoComissao.getMotivoCancelacionId() &&
Constantes.TPV_BOLETO_REMOTO.intValue() != boletoComissao.getTipoVenta() &&
Constantes.TPV_MANUAL.intValue() != boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -220,8 +213,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesGapsVendidos(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesGapsVendidos(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.V.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesGapVendido(boletoComissao)) {
Constantes.TPV_BOLETO_REMOTO.intValue() == boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -231,9 +223,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesGapCancelados(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesGapCancelados(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.C.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesGapCancelado(boletoComissao)) {
Constantes.MVO_CANCEL_CANCELACION.intValue() == boletoComissao.getMotivoCancelacionId() &&
Constantes.TPV_BOLETO_REMOTO.intValue() == boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -243,9 +233,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
private List<BoletoComissao> carregarBilhetesGapDevolvidos(List<BoletoComissao> boletoComissaos) { private List<BoletoComissao> carregarBilhetesGapDevolvidos(List<BoletoComissao> boletoComissaos) {
List<BoletoComissao> boletos = new ArrayList<BoletoComissao>(); List<BoletoComissao> boletos = new ArrayList<BoletoComissao>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(IndStatusBoleto.C.getShortValue().equalsIgnoreCase(boletoComissao.getIndstatusboleto()) && if(isBilhetesGapDevolvido(boletoComissao)) {
Constantes.MVO_CANCEL_DEVOLUCAO.intValue() == boletoComissao.getMotivoCancelacionId() &&
Constantes.TPV_BOLETO_REMOTO.intValue() == boletoComissao.getTipoVenta()) {
boletos.add(boletoComissao); boletos.add(boletoComissao);
} }
} }
@ -290,6 +278,29 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
return total; return total;
} }
@Override
public Map<BoletoStatusComissao, BigDecimal> totalizarBoletoComissaoDevolvidosTrocaOcd(List<BoletoComissao> lsBoletoComissao) throws BusinessException {
BigDecimal totalDevolvidos = BigDecimal.ZERO;
BigDecimal totalTroca = BigDecimal.ZERO;
BigDecimal totalOcd = BigDecimal.ZERO;
if(lsBoletoComissao != null) {
for (BoletoComissao boletoComissao : lsBoletoComissao) {
if(boletoComissao.getOcdId() != null) {
totalOcd = totalOcd.add(boletoComissao.getTotal());
} else if(boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue())) {
totalDevolvidos = totalOcd.add(boletoComissao.getTotal());
} else if(boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.T.getShortValue())) {
totalTroca = totalOcd.add(boletoComissao.getTotal());
}
}
}
Map<BoletoStatusComissao, BigDecimal> maps = new HashMap<BoletoStatusComissao, BigDecimal>();
maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO, totalDevolvidos);
maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_OCD, totalOcd);
maps.put(BoletoStatusComissao.BOLETO_DEVOLVIDO_TROCADO, totalTroca);
return maps;
}
@Override @Override
public BigDecimal totalizarEventosFinanceiros(List<EventosFinanceirosVO> lsEventosFinanceiros) throws BusinessException { public BigDecimal totalizarEventosFinanceiros(List<EventosFinanceirosVO> lsEventosFinanceiros) throws BusinessException {
BigDecimal total = BigDecimal.ZERO; BigDecimal total = BigDecimal.ZERO;
@ -310,7 +321,6 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
if(lsOcd != null) { if(lsOcd != null) {
for (OcdVO ocd : lsOcd) { for (OcdVO ocd : lsOcd) {
total.setValorPagar(total.getValorPagar().add(ocd.getValorPagar())); total.setValorPagar(total.getValorPagar().add(ocd.getValorPagar()));
total.setPenalizacion(total.getPenalizacion().add(ocd.getPenalizacion()));
} }
} }
return total; return total;
@ -327,18 +337,49 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
resumoComissao.setTotalReceitas(totalCreditosEventoFinanceiros); resumoComissao.setTotalReceitas(totalCreditosEventoFinanceiros);
resumoComissao.setTotalDespesas(totalDebitosEventoFinanceiros); resumoComissao.setTotalDespesas(totalDebitosEventoFinanceiros);
resumoComissao.setTotalOcd(totalOcd); resumoComissao.setTotalOcd(totalOcd);
resumoComissao.setValorDeposito(conferenciaComissaoDAO.carregarTotalFechamentoContaCorrente(conferencia));
carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros); carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros);
BigDecimal totalFormapagoDinheiro = getFormapagoDinheiro(resumoComissao);
totalFormapagoDinheiro = totalFormapagoDinheiro.subtract(carregarTotalDevolvidosDinhero(boletoComissaos));
totalFormapagoDinheiro = totalFormapagoDinheiro.subtract(totalOcd.getValorPagar());
resumoComissao.setValorDeposito(totalFormapagoDinheiro);
return resumoComissao; return resumoComissao;
} }
private BigDecimal carregarTotalDevolvidosDinhero(List<BoletoComissao> boletoComissaos) {
BigDecimal totalDevolvidoDinheiro = BigDecimal.ZERO;
for (BoletoComissao boletoComissao : boletoComissaos) {
if(boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == Constantes.MVO_CANCEL_DEVOLUCAO.intValue()) {
for (FormapagoVO formapago : boletoComissao.getFormapagos()) {
if(formapago.getFormapagoId() == Constantes.FORMA_PAGO_DINHEIRO.intValue()) {
totalDevolvidoDinheiro = totalDevolvidoDinheiro.add(formapago.getImporte());
}
}
}
}
return totalDevolvidoDinheiro;
}
private BigDecimal getFormapagoDinheiro(ResumoComissao resumoComissao) {
for (FormapagoVO formapago : resumoComissao.getTotalFormapago()) {
if(formapago.getFormapagoId() == Constantes.FORMA_PAGO_DINHEIRO.intValue()) {
return formapago.getImporte();
}
}
return BigDecimal.ZERO;
}
private void carregarTotalFormapago(ResumoComissao resumoComissao, List<BoletoComissao> boletoComissaos, List<EventosFinanceirosVO> lsEventosFinanceiros) { private void carregarTotalFormapago(ResumoComissao resumoComissao, List<BoletoComissao> boletoComissaos, List<EventosFinanceirosVO> lsEventosFinanceiros) {
List<FormapagoVO> totalFormapagos = new ArrayList<FormapagoVO>(); List<FormapagoVO> totalFormapagos = new ArrayList<FormapagoVO>();
for (BoletoComissao boletoComissao : boletoComissaos) { for (BoletoComissao boletoComissao : boletoComissaos) {
if(boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.V.getShortValue()) && if(boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.V.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == null) { (boletoComissao.getMotivoCancelacionId() == null ||
boletoComissao.getMotivoCancelacionId() != Constantes.MVO_CANCEL_CANCELACION.intValue() ||
boletoComissao.getMotivoCancelacionId() != Constantes.MVO_CANCEL_DEVOLUCAO.intValue())) {
for (FormapagoVO formapagoBoleto : boletoComissao.getFormapagos()) { for (FormapagoVO formapagoBoleto : boletoComissao.getFormapagos()) {
FormapagoVO formapago; FormapagoVO formapago;
if(totalFormapagos.contains(formapagoBoleto)) { if(totalFormapagos.contains(formapagoBoleto)) {
@ -446,4 +487,55 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic
return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(competencia, empresa, puntoVenta); return conferenciaComissaoDAO.isConferenciaCompetenciaEncerrada(competencia, empresa, puntoVenta);
} }
public boolean isBilhetesManualVendido(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_MANUAL.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.V.getShortValue());
}
public boolean isBilhetesNormalVendido(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_DIRECTO_NORMAL.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.V.getShortValue());
}
public boolean isBilhetesNormalCancelado(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_DIRECTO_NORMAL.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == Constantes.MVO_CANCEL_CANCELACION.intValue();
}
public boolean isBilhetesNormalDevolvido(BoletoComissao boletoComissao) {
return (boletoComissao.getTipoVenta() == Constantes.TPV_DIRECTO_NORMAL.intValue() || boletoComissao.getTipoVentaOriginal() == Constantes.TPV_DIRECTO_NORMAL.intValue()) &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == Constantes.MVO_CANCEL_DEVOLUCAO.intValue();
}
public boolean isBilhetesNormalTrocado(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_TRANSFERENCIAS.intValue() &&
boletoComissao.getTipoVentaOriginal() == Constantes.TPV_DIRECTO_NORMAL.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.T.getShortValue());
}
public boolean isBilhetesGapVendido(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_BOLETO_REMOTO.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.V.getShortValue());
}
public boolean isBilhetesGapCancelado(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_BOLETO_REMOTO.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == Constantes.MVO_CANCEL_CANCELACION.intValue();
}
public boolean isBilhetesGapDevolvido(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_BOLETO_REMOTO.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.C.getShortValue()) &&
boletoComissao.getMotivoCancelacionId() == Constantes.MVO_CANCEL_DEVOLUCAO.intValue();
}
public boolean isBilhetesGapTrocado(BoletoComissao boletoComissao) {
return boletoComissao.getTipoVenta() == Constantes.TPV_TRANSFERENCIAS.intValue() &&
boletoComissao.getTipoVentaOriginal() == Constantes.TPV_BOLETO_REMOTO.intValue() &&
boletoComissao.getIndstatusboleto().equals(IndStatusBoleto.T.getShortValue());
}
} }

View File

@ -35,6 +35,10 @@ public class BoletoComissao {
private String uf; private String uf;
private String desccategoria; private String desccategoria;
private Integer status; private Integer status;
private String numoperacion;
private Integer tipoVentaOriginal1;
private Integer tipoVentaOriginal2;
private Integer ocdId;
private Integer estadoId; private Integer estadoId;
private Integer formapagoId; private Integer formapagoId;
@ -265,8 +269,6 @@ public class BoletoComissao {
return true; return true;
if (obj == null) if (obj == null)
return false; return false;
if (getClass() != obj.getClass())
return false;
BoletoComissao other = (BoletoComissao) obj; BoletoComissao other = (BoletoComissao) obj;
if (boletoId == null) { if (boletoId == null) {
if (other.boletoId != null) if (other.boletoId != null)
@ -356,7 +358,11 @@ public class BoletoComissao {
} }
public String getSituacaoBilhete() { public String getSituacaoBilhete() {
if(StringUtils.isNotBlank(getDescmotivocancelacion())) { if(getOcdId() != null) {
return "OCD";
} else if(!getIndstatusboleto().equalsIgnoreCase(IndStatusBoleto.V.getShortValue()) &&
!getIndstatusboleto().equalsIgnoreCase(IndStatusBoleto.T.getShortValue())&&
StringUtils.isNotBlank(getDescmotivocancelacion())) {
return getDescmotivocancelacion(); return getDescmotivocancelacion();
} else { } else {
IndStatusBoleto indStatusBoleto = IndStatusBoleto.getIndStatusBoleto(getIndstatusboleto()); IndStatusBoleto indStatusBoleto = IndStatusBoleto.getIndStatusBoleto(getIndstatusboleto());
@ -416,4 +422,40 @@ public class BoletoComissao {
this.logconferenciaId = logconferenciaId; this.logconferenciaId = logconferenciaId;
} }
public String getNumoperacion() {
return numoperacion;
}
public void setNumoperacion(String numoperacion) {
this.numoperacion = numoperacion;
}
public Integer getTipoVentaOriginal() {
return tipoVentaOriginal2 != null ? tipoVentaOriginal2 : tipoVentaOriginal1;
}
public Integer getTipoVentaOriginal1() {
return tipoVentaOriginal1;
}
public void setTipoVentaOriginal1(Integer tipoVentaOriginal1) {
this.tipoVentaOriginal1 = tipoVentaOriginal1;
}
public Integer getTipoVentaOriginal2() {
return tipoVentaOriginal2;
}
public void setTipoVentaOriginal2(Integer tipoVentaOriginal2) {
this.tipoVentaOriginal2 = tipoVentaOriginal2;
}
public Integer getOcdId() {
return ocdId;
}
public void setOcdId(Integer ocdId) {
this.ocdId = ocdId;
}
} }