fixes bug #7861
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@59650 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
f2458b83f1
commit
e68612723a
|
@ -41,7 +41,11 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
|
|||
while (rset.next()) {
|
||||
Map<String, Object> dataResult = new HashMap<String, Object>();
|
||||
dataResult.put("estabelecimento", rset.getString("nombpuntoventa"));
|
||||
|
||||
if (rset.getString("numtarjeta") != null) {
|
||||
dataResult.put("cartao", rset.getString("numtarjeta").replace('*', ' ').trim());
|
||||
}
|
||||
|
||||
dataResult.put("datavenda", rset.getDate("fechorventa"));
|
||||
dataResult.put("datadevolucao", rset.getDate("datadevolucao"));
|
||||
dataResult.put("valor_total_compra", rset.getBigDecimal("valor_cesta"));
|
||||
|
@ -178,195 +182,55 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
|
|||
return sql.toString();
|
||||
}
|
||||
|
||||
/*private String getSql() {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
//Busca os boletos originais dos boletos que foram geradas OCDS
|
||||
//Esses boletos sofreram transferência.
|
||||
//O intuito dessa query é recuperar os dados originais de cartões de crédito
|
||||
sql.append(" WITH boletos_originais AS ");
|
||||
sql.append(" (SELECT distinct b.boleto_id as boleto_id_bo, ctj.numtarjeta as numtarjeta_bo, ptovta.numsitef as numsitef_bo, c.caja_id, c.fechorventa AS fechorventa_bo, ");
|
||||
sql.append(" CASE WHEN ctj.numautorizacion IS NULL THEN '-' ELSE ctj.numautorizacion END AS numautorizacion_bo, ");
|
||||
sql.append(" ctj.nsu as nsu_bo, c.numoperacion AS numoperacion ");
|
||||
sql.append(" FROM boleto b, caja_det_pago cdt, caja c, caja_tarjeta ctj, ptovta_empresa ptovta ");
|
||||
sql.append(" WHERE b.boleto_id IN ");
|
||||
sql.append(" ( SELECT b.boletooriginal_id FROM OCD o ");
|
||||
sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID ");
|
||||
sql.append(" INNER JOIN caja c ON c.numoperacion = b.numoperacion ");
|
||||
sql.append(" AND b.numfoliosistema = c.numfoliosistema ");
|
||||
sql.append(" AND o.fecinc between :data_inicial and :data_final ");
|
||||
if (parametros.get("EMPRESA_ID") != null) {
|
||||
sql.append(" INNER JOIN marca ma on ma.marca_id = b.marca_id");
|
||||
sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID"));
|
||||
}
|
||||
if (parametros.get("NUMPUNTOVENTA") != null) {
|
||||
sql.append(" AND o.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
|
||||
}
|
||||
sql.append(" AND b.boletooriginal_id IS NOT NULL ");
|
||||
sql.append(")");
|
||||
|
||||
sql.append(" AND c.numoperacion = b.numoperacion ");
|
||||
//Para venda pela internet aparecer é preciso descomentar a linha abaixo
|
||||
sql.append(" AND b.numfoliosistema = c.numfoliosistema ");
|
||||
sql.append(" AND cdt.caja_id = c.caja_id ");
|
||||
sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id ");
|
||||
sql.append(" AND cdt.formapago_id IN (2) ");
|
||||
sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id ");
|
||||
if (parametros.get("EMPRESA_ID") != null) {
|
||||
//Para venda pela internet aparecer é preciso descomentar a linha abaixo
|
||||
sql.append(" AND ptovta.empresa_id = " + parametros.get("EMPRESA_ID"));
|
||||
}
|
||||
sql.append("), ");
|
||||
//Busca os boletos que foram vendidos pela internet(boleto originais)
|
||||
sql.append(" boletos_o_venda_internet AS( ");
|
||||
sql.append(" SELECT DISTINCT b.boleto_id AS boleto_id_bo_vi, ctj.numtarjeta AS numtarjeta_bo_vi, ");
|
||||
sql.append(" ptovta.numsitef AS numsitef_bo_vi, c.caja_id, c.fechorventa AS fechorventa_bo_vi, ");
|
||||
sql.append(" CASE WHEN ctj.numautorizacion IS NULL THEN '-' ELSE ctj.numautorizacion END AS numautorizacion_bo_vi, ");
|
||||
sql.append(" ctj.nsu AS nsu_bo_vi, c.numoperacion AS numoperacion FROM boleto b, caja_det_pago cdt, caja c, ");
|
||||
sql.append(" caja_tarjeta ctj, ptovta_empresa ptovta WHERE b.boleto_id IN(SELECT b.boletooriginal_id ");
|
||||
sql.append(" FROM OCD o INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID ");
|
||||
sql.append(" inner join caja c on c.numoperacion = b.numoperacion ");
|
||||
sql.append(" and c.feccorrida = b.feccorrida ");
|
||||
sql.append(" and c.corrida_id = b.corrida_id ");
|
||||
sql.append(" and c.numasiento = b.numasiento ");
|
||||
sql.append(" AND o.fecinc between :data_inicial and :data_final ");
|
||||
if (parametros.get("EMPRESA_ID") != null) {
|
||||
sql.append(" INNER JOIN marca ma on ma.marca_id = b.marca_id");
|
||||
sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID"));
|
||||
}
|
||||
if (parametros.get("NUMPUNTOVENTA") != null) {
|
||||
sql.append(" AND o.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
|
||||
}
|
||||
sql.append(" AND b.boletooriginal_id IS NOT NULL ");
|
||||
sql.append(")");
|
||||
sql.append(" AND c.numoperacion = b.numoperacion ");
|
||||
sql.append(" AND cdt.caja_id = c.caja_id ");
|
||||
sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id ");
|
||||
sql.append(" AND cdt.formapago_id IN (2) ");
|
||||
sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id ");
|
||||
sql.append(" AND b.feccorrida = c.feccorrida ");
|
||||
sql.append(" AND b.corrida_id = c.corrida_id ");
|
||||
sql.append(" AND b.numasiento = c.numasiento ");
|
||||
sql.append(" AND b.puntoventa_id = ");
|
||||
|
||||
//Pega o ponto de venda
|
||||
Constante constante = constanteService.buscarPorNomeConstante("PUNTO_VENTA_INTERNET");
|
||||
if(constante != null) {
|
||||
sql.append(constante.getValorconstante());
|
||||
} else {
|
||||
sql.append("99999");
|
||||
}
|
||||
sql.append(" ),"); //É o código do puntoventa de compras pela internet
|
||||
|
||||
//Busca os boletos novos após a transferência e geração de OCD
|
||||
sql.append(" boletos_novos AS( ");
|
||||
sql.append(" SELECT c.caja_id as caja_id_bn, b.boleto_id as boleto_id_bn, b.boletooriginal_id as boleto_id_original_bn, ");
|
||||
sql.append(" b.puntoventa_id as puntoventa_id_bn, p.nombpuntoventa as nombpuntoventa_bn, c.fechorventa as fechorventa_bn, ");
|
||||
sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ ");
|
||||
sql.append(" coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda_bn, ");
|
||||
sql.append(" CASE WHEN o.VALOR_TARJETA is null OR o.VALOR_TARJETA = 0 THEN TO_CHAR(COALESCE(o.VALOR_PAGAR,0),'FM9999999.90')ELSE TO_CHAR(COALESCE(o.VALOR_TARJETA,0),'FM9999999.90') END as valor_cancelar_bn, ");
|
||||
sql.append(" c.numfoliosistema as numfoliosistema_bn, o.fecinc as datadevolucao_bn ");
|
||||
sql.append(" FROM OCD o ");
|
||||
sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID ");
|
||||
sql.append(" INNER JOIN caja c ON c.numoperacion = b.numoperacion ");
|
||||
sql.append(" AND b.numfoliosistema = c.numfoliosistema ");
|
||||
sql.append(" INNER JOIN punto_venta p ");
|
||||
sql.append(" ON p.puntoventa_id = b.puntoventa_id ");
|
||||
//sql.append(" AND o.VALOR_TARJETA <> 0 ");
|
||||
sql.append(" AND o.fecinc between :data_inicial and :data_final ");
|
||||
if (parametros.get("EMPRESA_ID") != null) {
|
||||
sql.append(" INNER JOIN marca ma on ma.marca_id = b.marca_id");
|
||||
sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID"));
|
||||
}
|
||||
if (parametros.get("NUMPUNTOVENTA") != null) {
|
||||
sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
|
||||
}
|
||||
|
||||
sql.append("),");
|
||||
//Busca todas as OCD's exceto os boletos que foram transferidos antes da geração da OCD
|
||||
sql.append(" ocds AS(select distinct c.caja_id, b.boleto_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,");
|
||||
sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda,");
|
||||
sql.append(" TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar,");
|
||||
sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao, c.numoperacion ");
|
||||
sql.append(" from OCD o");
|
||||
sql.append(" inner join boleto b on o.BOLETO_ID = b.BOLETO_ID");
|
||||
sql.append(" inner join caja c on c.numoperacion = b.numoperacion ");
|
||||
//sql.append(" and c.numfoliosistema = b.numfoliosistema ");
|
||||
sql.append(" inner join caja_det_pago cdt ON cdt.caja_id = c.caja_id and cdt.formapago_id in (:formaPago1)");
|
||||
sql.append(" inner join caja_tarjeta ctj on cdt.cajadetpago_id = ctj.cajadetpago_id");
|
||||
sql.append(" inner join punto_venta p on p.puntoventa_id = b.puntoventa_id");
|
||||
sql.append(" inner join ptovta_empresa ptovta on b.puntoventa_id = ptovta.puntoventa_id");
|
||||
sql.append(" inner join marca m on m.marca_id = b.marca_id ");
|
||||
sql.append(" and m.EMPRESA_ID = ptovta.EMPRESA_ID ");
|
||||
if (parametros.get("EMPRESA_ID") != null) {
|
||||
sql.append(" inner join empresa e on e.empresa_id = m.empresa_id and m.empresa_id = " + parametros.get("EMPRESA_ID"));
|
||||
}
|
||||
sql.append(" AND o.fecinc between :data_inicial and :data_final ");
|
||||
if (parametros.get("NUMPUNTOVENTA") != null) {
|
||||
sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
|
||||
}
|
||||
//sql.append(" order by c.fechorventa, o.fecinc ),");
|
||||
sql.append(" ),");
|
||||
sql.append(" ocds_total_compra AS ");
|
||||
//Busca com base no numoperacion da consulta "ocds" os valores totais da compra(Cesta de compras)
|
||||
sql.append(" (SELECT c.numoperacion AS numoperacion_cc,");
|
||||
sql.append(" SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta ");
|
||||
sql.append(" FROM CAJA c INNER JOIN ocds o on c.caja_id = o.caja_id ");
|
||||
sql.append(" LEFT JOIN evento_extra e on e.boleto_id = o.boleto_id ");
|
||||
sql.append(" GROUP BY c.numoperacion),");
|
||||
sql.append(" total_compra_bo_originais AS");
|
||||
//Busca com base no numoperacion da consulta "boletos_originais" os valores totais da compra(Cesta de compras)
|
||||
sql.append(" (SELECT c.numoperacion AS numoperacion_cc, ");
|
||||
sql.append(" SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta ");
|
||||
sql.append(" FROM CAJA c");
|
||||
sql.append(" INNER JOIN boletos_originais bo on c.caja_id = bo.caja_id ");
|
||||
sql.append(" LEFT JOIN evento_extra e on e.boleto_id = bo.boleto_id_bo ");
|
||||
sql.append(" GROUP BY c.numoperacion), ");
|
||||
//Busca com base no numoperacion da consulta "boletos_o_venda_internet" os valores totais da compra(Cesta de compras)
|
||||
sql.append(" total_compra_bo_internet AS ");
|
||||
sql.append(" (SELECT c.numoperacion AS numoperacion_cc, SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ ");
|
||||
sql.append(" COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta ");
|
||||
sql.append(" FROM CAJA c INNER JOIN boletos_o_venda_internet bo ON c.caja_id = bo.caja_id LEFT JOIN evento_extra e");
|
||||
sql.append(" ON e.boleto_id = bo.boleto_id_bo_vi GROUP BY c.numoperacion)");
|
||||
|
||||
sql.append(" SELECT nombpuntoventa, fechorventa, datadevolucao, numtarjeta, numsitef, valor_venda, valor_cancelar, ");
|
||||
sql.append(" descmotivo, numautorizacion, nsu, numfoliosistema, valor_cesta ");
|
||||
sql.append(" FROM ( ");
|
||||
|
||||
//Realiza o join entre as Views 'ocds' e ocds_total_compra afim de obter o total da cesta de compras
|
||||
sql.append(" SELECT caja_id, nombpuntoventa, numtarjeta, fechorventa, numsitef, valor_venda, valor_cancelar, ");
|
||||
sql.append(" descmotivo, numautorizacion, nsu, numfoliosistema, datadevolucao, valor_cesta ");
|
||||
sql.append(" FROM ocds ");
|
||||
sql.append(" INNER JOIN ocds_total_compra ocdst ");
|
||||
sql.append(" ON ocds.numoperacion = ocdst.numoperacion_cc ");
|
||||
|
||||
sql.append(" UNION ");
|
||||
//Realiza o join entre as Views 'boletos_originais' e total_compra_bo_originais afim de obter o total da cesta de compras
|
||||
//Realiza também o join com as Views boletos_novos com o intuito de exibir os boletos transferidos os quais foram
|
||||
//geradas OCD´s
|
||||
sql.append(" SELECT bn.caja_id_bn, bn.nombpuntoventa_bn as nombpuntoventa, bo.numtarjeta_bo as numtarjeta, bo.fechorventa_bo as fechorventa, ");
|
||||
sql.append(" bo.numsitef_bo as numsitef, bn.valor_venda_bn as valor_venda, bn.valor_cancelar_bn as valor_cancelar, 'OCD' AS descmotivo, ");
|
||||
sql.append(" bo.numautorizacion_bo as numautorizacion, bo.nsu_bo as nsu, numfoliosistema_bn as numfoliosistema, datadevolucao_bn as datadevolucao, total_c_bo_originais.valor_cesta");
|
||||
sql.append(" FROM boletos_originais bo ");
|
||||
sql.append(" INNER JOIN total_compra_bo_originais total_c_bo_originais ");
|
||||
sql.append(" ON total_c_bo_originais.numoperacion_cc = bo.numoperacion ");
|
||||
sql.append(" INNER JOIN boletos_novos bn ");
|
||||
sql.append(" ON bo.boleto_id_bo = bn.boleto_id_original_bn ");
|
||||
|
||||
sql.append(" UNION ");
|
||||
|
||||
//Realiza o join entre as Views 'boletos_o_venda_internet' e total_compra_bo_internet afim de obter o total da cesta de compras
|
||||
//Realiza também o join com as Views boletos_novos com o intuito de exibir os boletos novos os quais foram
|
||||
//geradas OCD´s
|
||||
sql.append(" SELECT bn.caja_id_bn, bn.nombpuntoventa_bn as nombpuntoventa, bo.numtarjeta_bo_vi as numtarjeta, bo.fechorventa_bo_vi as fechorventa, bo.numsitef_bo_vi as numsitef, ");
|
||||
sql.append(" bn.valor_venda_bn as valor_venda, bn.valor_cancelar_bn as valor_cancelar, 'OCD' AS descmotivo, bo.numautorizacion_bo_vi as numautorizacion, bo.nsu_bo_vi as nsu, ");
|
||||
sql.append(" numfoliosistema_bn as numfoliosistema, datadevolucao_bn as datadevolucao, total_c_bo_internet.valor_cesta FROM boletos_o_venda_internet bo ");
|
||||
sql.append(" INNER JOIN total_compra_bo_internet total_c_bo_internet ON total_c_bo_internet.numoperacion_cc = bo.numoperacion ");
|
||||
sql.append(" INNER JOIN boletos_novos bn ON bo.boleto_id_bo_vi = bn.boleto_id_original_bn ");
|
||||
|
||||
sql.append(") ORDER BY datadevolucao ");
|
||||
|
||||
return sql.toString();
|
||||
|
||||
}*/
|
||||
/*
|
||||
* private String getSql() { StringBuilder sql = new StringBuilder(); //Busca os boletos originais dos boletos que foram geradas OCDS //Esses boletos sofreram transferência. //O intuito dessa query é recuperar os dados originais de cartões de crédito sql.append(" WITH boletos_originais AS "); sql.append(" (SELECT distinct b.boleto_id as boleto_id_bo, ctj.numtarjeta as numtarjeta_bo, ptovta.numsitef as numsitef_bo, c.caja_id, c.fechorventa AS fechorventa_bo, ");
|
||||
* sql.append(" CASE WHEN ctj.numautorizacion IS NULL THEN '-' ELSE ctj.numautorizacion END AS numautorizacion_bo, "); sql.append(" ctj.nsu as nsu_bo, c.numoperacion AS numoperacion "); sql.append(" FROM boleto b, caja_det_pago cdt, caja c, caja_tarjeta ctj, ptovta_empresa ptovta "); sql.append(" WHERE b.boleto_id IN "); sql.append(" ( SELECT b.boletooriginal_id FROM OCD o "); sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); sql.append(
|
||||
* " INNER JOIN caja c ON c.numoperacion = b.numoperacion "); sql.append(" AND b.numfoliosistema = c.numfoliosistema "); sql.append(" AND o.fecinc between :data_inicial and :data_final "); if (parametros.get("EMPRESA_ID") != null) { sql.append(" INNER JOIN marca ma on ma.marca_id = b.marca_id"); sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID")); } if (parametros.get("NUMPUNTOVENTA") != null) { sql.append(" AND o.puntoventa_id IN (" +
|
||||
* parametros.get("NUMPUNTOVENTA").toString() + ")"); } sql.append(" AND b.boletooriginal_id IS NOT NULL "); sql.append(")");
|
||||
*
|
||||
* sql.append(" AND c.numoperacion = b.numoperacion "); //Para venda pela internet aparecer é preciso descomentar a linha abaixo sql.append(" AND b.numfoliosistema = c.numfoliosistema "); sql.append(" AND cdt.caja_id = c.caja_id "); sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id "); sql.append(" AND cdt.formapago_id IN (2) "); sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id "); if (parametros.get("EMPRESA_ID") != null) { //Para venda pela internet
|
||||
* aparecer é preciso descomentar a linha abaixo sql.append(" AND ptovta.empresa_id = " + parametros.get("EMPRESA_ID")); } sql.append("), "); //Busca os boletos que foram vendidos pela internet(boleto originais) sql.append(" boletos_o_venda_internet AS( "); sql.append(" SELECT DISTINCT b.boleto_id AS boleto_id_bo_vi, ctj.numtarjeta AS numtarjeta_bo_vi, "); sql.append(" ptovta.numsitef AS numsitef_bo_vi, c.caja_id, c.fechorventa AS fechorventa_bo_vi, "); sql.append(
|
||||
* " CASE WHEN ctj.numautorizacion IS NULL THEN '-' ELSE ctj.numautorizacion END AS numautorizacion_bo_vi, "); sql.append(" ctj.nsu AS nsu_bo_vi, c.numoperacion AS numoperacion FROM boleto b, caja_det_pago cdt, caja c, "); sql.append(" caja_tarjeta ctj, ptovta_empresa ptovta WHERE b.boleto_id IN(SELECT b.boletooriginal_id "); sql.append(" FROM OCD o INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); sql.append(" inner join caja c on c.numoperacion = b.numoperacion ");
|
||||
* sql.append(" and c.feccorrida = b.feccorrida "); sql.append(" and c.corrida_id = b.corrida_id "); sql.append(" and c.numasiento = b.numasiento "); sql.append(" AND o.fecinc between :data_inicial and :data_final "); if (parametros.get("EMPRESA_ID") != null) { sql.append(" INNER JOIN marca ma on ma.marca_id = b.marca_id"); sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID")); } if
|
||||
* (parametros.get("NUMPUNTOVENTA") != null) { sql.append(" AND o.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); } sql.append(" AND b.boletooriginal_id IS NOT NULL "); sql.append(")"); sql.append(" AND c.numoperacion = b.numoperacion "); sql.append(" AND cdt.caja_id = c.caja_id "); sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id "); sql.append(" AND cdt.formapago_id IN (2) "); sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id ");
|
||||
* sql.append(" AND b.feccorrida = c.feccorrida "); sql.append(" AND b.corrida_id = c.corrida_id "); sql.append(" AND b.numasiento = c.numasiento "); sql.append(" AND b.puntoventa_id = ");
|
||||
*
|
||||
* //Pega o ponto de venda Constante constante = constanteService.buscarPorNomeConstante("PUNTO_VENTA_INTERNET"); if(constante != null) { sql.append(constante.getValorconstante()); } else { sql.append("99999"); } sql.append(" ),"); //É o código do puntoventa de compras pela internet
|
||||
*
|
||||
* //Busca os boletos novos após a transferência e geração de OCD sql.append(" boletos_novos AS( "); sql.append(" SELECT c.caja_id as caja_id_bn, b.boleto_id as boleto_id_bn, b.boletooriginal_id as boleto_id_original_bn, "); sql.append(" b.puntoventa_id as puntoventa_id_bn, p.nombpuntoventa as nombpuntoventa_bn, c.fechorventa as fechorventa_bn, "); sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ "); sql.append(
|
||||
* " coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda_bn, "); sql.append(" CASE WHEN o.VALOR_TARJETA is null OR o.VALOR_TARJETA = 0 THEN TO_CHAR(COALESCE(o.VALOR_PAGAR,0),'FM9999999.90')ELSE TO_CHAR(COALESCE(o.VALOR_TARJETA,0),'FM9999999.90') END as valor_cancelar_bn, "); sql.append(" c.numfoliosistema as numfoliosistema_bn, o.fecinc as datadevolucao_bn "); sql.append(" FROM OCD o "); sql.append(
|
||||
* " INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); sql.append(" INNER JOIN caja c ON c.numoperacion = b.numoperacion "); sql.append(" AND b.numfoliosistema = c.numfoliosistema "); sql.append(" INNER JOIN punto_venta p "); sql.append(" ON p.puntoventa_id = b.puntoventa_id "); //sql.append(" AND o.VALOR_TARJETA <> 0 "); sql.append(" AND o.fecinc between :data_inicial and :data_final "); if (parametros.get("EMPRESA_ID") != null) { sql.append(
|
||||
* " INNER JOIN marca ma on ma.marca_id = b.marca_id"); sql.append(" AND ma.empresa_id = " + parametros.get("EMPRESA_ID")); } if (parametros.get("NUMPUNTOVENTA") != null) { sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); }
|
||||
*
|
||||
* sql.append("),"); //Busca todas as OCD's exceto os boletos que foram transferidos antes da geração da OCD sql.append(" ocds AS(select distinct c.caja_id, b.boleto_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,"); sql.append(" (coalesce(c.preciopagado,0) + coalesce(c.importeoutros,0)+ coalesce(c.importepedagio,0)+ coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda,"); sql.append(
|
||||
* " TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar,"); sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao, c.numoperacion "); sql.append(" from OCD o"); sql.append(" inner join boleto b on o.BOLETO_ID = b.BOLETO_ID"); sql.append(" inner join caja c on c.numoperacion = b.numoperacion "); //sql.append(" and c.numfoliosistema = b.numfoliosistema "); sql.append(
|
||||
* " inner join caja_det_pago cdt ON cdt.caja_id = c.caja_id and cdt.formapago_id in (:formaPago1)"); sql.append(" inner join caja_tarjeta ctj on cdt.cajadetpago_id = ctj.cajadetpago_id"); sql.append(" inner join punto_venta p on p.puntoventa_id = b.puntoventa_id"); sql.append(" inner join ptovta_empresa ptovta on b.puntoventa_id = ptovta.puntoventa_id"); sql.append(" inner join marca m on m.marca_id = b.marca_id "); sql.append(" and m.EMPRESA_ID = ptovta.EMPRESA_ID ");
|
||||
* if (parametros.get("EMPRESA_ID") != null) { sql.append(" inner join empresa e on e.empresa_id = m.empresa_id and m.empresa_id = " + parametros.get("EMPRESA_ID")); } sql.append(" AND o.fecinc between :data_inicial and :data_final "); if (parametros.get("NUMPUNTOVENTA") != null) { sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); } //sql.append(" order by c.fechorventa, o.fecinc ),"); sql.append(" ),"); sql.append(
|
||||
* " ocds_total_compra AS "); //Busca com base no numoperacion da consulta "ocds" os valores totais da compra(Cesta de compras) sql.append(" (SELECT c.numoperacion AS numoperacion_cc,"); sql.append(" SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta "); sql.append(" FROM CAJA c INNER JOIN ocds o on c.caja_id = o.caja_id ");
|
||||
* sql.append(" LEFT JOIN evento_extra e on e.boleto_id = o.boleto_id "); sql.append(" GROUP BY c.numoperacion),"); sql.append(" total_compra_bo_originais AS"); //Busca com base no numoperacion da consulta "boletos_originais" os valores totais da compra(Cesta de compras) sql.append(" (SELECT c.numoperacion AS numoperacion_cc, "); sql.append(
|
||||
* " SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta "); sql.append(" FROM CAJA c"); sql.append(" INNER JOIN boletos_originais bo on c.caja_id = bo.caja_id "); sql.append(" LEFT JOIN evento_extra e on e.boleto_id = bo.boleto_id_bo "); sql.append(" GROUP BY c.numoperacion), "); //Busca com base no numoperacion da consulta
|
||||
* "boletos_o_venda_internet" os valores totais da compra(Cesta de compras) sql.append(" total_compra_bo_internet AS "); sql.append(" (SELECT c.numoperacion AS numoperacion_cc, SUM((COALESCE(c.preciopagado,0) + COALESCE(c.importeoutros,0)+ COALESCE(c.importepedagio,0)+ "); sql.append(" COALESCE(c.importeseguro,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(e.impingreso,0)))AS valor_cesta "); sql.append(
|
||||
* " FROM CAJA c INNER JOIN boletos_o_venda_internet bo ON c.caja_id = bo.caja_id LEFT JOIN evento_extra e"); sql.append(" ON e.boleto_id = bo.boleto_id_bo_vi GROUP BY c.numoperacion)");
|
||||
*
|
||||
* sql.append(" SELECT nombpuntoventa, fechorventa, datadevolucao, numtarjeta, numsitef, valor_venda, valor_cancelar, "); sql.append(" descmotivo, numautorizacion, nsu, numfoliosistema, valor_cesta "); sql.append(" FROM ( ");
|
||||
*
|
||||
* //Realiza o join entre as Views 'ocds' e ocds_total_compra afim de obter o total da cesta de compras sql.append(" SELECT caja_id, nombpuntoventa, numtarjeta, fechorventa, numsitef, valor_venda, valor_cancelar, "); sql.append(" descmotivo, numautorizacion, nsu, numfoliosistema, datadevolucao, valor_cesta "); sql.append(" FROM ocds "); sql.append(" INNER JOIN ocds_total_compra ocdst "); sql.append(" ON ocds.numoperacion = ocdst.numoperacion_cc ");
|
||||
*
|
||||
* sql.append(" UNION "); //Realiza o join entre as Views 'boletos_originais' e total_compra_bo_originais afim de obter o total da cesta de compras //Realiza também o join com as Views boletos_novos com o intuito de exibir os boletos transferidos os quais foram //geradas OCD´s sql.append(" SELECT bn.caja_id_bn, bn.nombpuntoventa_bn as nombpuntoventa, bo.numtarjeta_bo as numtarjeta, bo.fechorventa_bo as fechorventa, "); sql.append(
|
||||
* " bo.numsitef_bo as numsitef, bn.valor_venda_bn as valor_venda, bn.valor_cancelar_bn as valor_cancelar, 'OCD' AS descmotivo, "); sql.append(" bo.numautorizacion_bo as numautorizacion, bo.nsu_bo as nsu, numfoliosistema_bn as numfoliosistema, datadevolucao_bn as datadevolucao, total_c_bo_originais.valor_cesta"); sql.append(" FROM boletos_originais bo "); sql.append(" INNER JOIN total_compra_bo_originais total_c_bo_originais "); sql.append(
|
||||
* " ON total_c_bo_originais.numoperacion_cc = bo.numoperacion "); sql.append(" INNER JOIN boletos_novos bn "); sql.append(" ON bo.boleto_id_bo = bn.boleto_id_original_bn ");
|
||||
*
|
||||
* sql.append(" UNION ");
|
||||
*
|
||||
* //Realiza o join entre as Views 'boletos_o_venda_internet' e total_compra_bo_internet afim de obter o total da cesta de compras //Realiza também o join com as Views boletos_novos com o intuito de exibir os boletos novos os quais foram //geradas OCD´s sql.append(" SELECT bn.caja_id_bn, bn.nombpuntoventa_bn as nombpuntoventa, bo.numtarjeta_bo_vi as numtarjeta, bo.fechorventa_bo_vi as fechorventa, bo.numsitef_bo_vi as numsitef, "); sql.append(
|
||||
* " bn.valor_venda_bn as valor_venda, bn.valor_cancelar_bn as valor_cancelar, 'OCD' AS descmotivo, bo.numautorizacion_bo_vi as numautorizacion, bo.nsu_bo_vi as nsu, "); sql.append(" numfoliosistema_bn as numfoliosistema, datadevolucao_bn as datadevolucao, total_c_bo_internet.valor_cesta FROM boletos_o_venda_internet bo "); sql.append(" INNER JOIN total_compra_bo_internet total_c_bo_internet ON total_c_bo_internet.numoperacion_cc = bo.numoperacion "); sql.append(
|
||||
* " INNER JOIN boletos_novos bn ON bo.boleto_id_bo_vi = bn.boleto_id_original_bn ");
|
||||
*
|
||||
* sql.append(") ORDER BY datadevolucao ");
|
||||
*
|
||||
* return sql.toString();
|
||||
*
|
||||
* }
|
||||
*/
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue