julio 2015-11-17 16:27:30 +00:00
parent 713e313433
commit c81023a4ed
1 changed files with 48 additions and 47 deletions

View File

@ -14,8 +14,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioCancelamentoVendaCartao extends Relatorio { public class RelatorioCancelamentoVendaCartao extends Relatorio {
public RelatorioCancelamentoVendaCartao(Map<String, Object> parametros, Connection conexao) throws Exception public RelatorioCancelamentoVendaCartao(Map<String, Object> parametros, Connection conexao) throws Exception {
{
super(parametros, conexao); super(parametros, conexao);
this.setCustomDataSource(new ArrayDataSource(this) { this.setCustomDataSource(new ArrayDataSource(this) {
@ -70,7 +69,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); 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(" INNER JOIN caja c ON c.numoperacion = b.numoperacion ");
sql.append(" AND b.numfoliosistema = c.numfoliosistema "); sql.append(" AND b.numfoliosistema = c.numfoliosistema ");
sql.append(" AND c.fechorventa >= :data_inicial and c.fechorventa <= :data_final "); sql.append(" AND o.fecinc between :data_inicial and :data_final ");
if (parametros.get("EMPRESA_ID") != null) { if (parametros.get("EMPRESA_ID") != null) {
sql.append(" inner join marca ma on ma.marca_id = c.marca_id"); sql.append(" inner join marca ma on ma.marca_id = c.marca_id");
sql.append(" inner join empresa e on e.empresa_id = ma.empresa_id and ma.empresa_id = " + parametros.get("EMPRESA_ID")); sql.append(" inner join empresa e on e.empresa_id = ma.empresa_id and ma.empresa_id = " + parametros.get("EMPRESA_ID"));
@ -88,14 +87,13 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id "); sql.append(" AND cdt.cajadetpago_id = ctj.cajadetpago_id ");
sql.append(" AND cdt.formapago_id IN (2) "); sql.append(" AND cdt.formapago_id IN (2) ");
sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id),"); sql.append(" AND b.puntoventa_id = ptovta.puntoventa_id),");
//sql.append(" AND c.fechorventa >= :data_inicial and c.fechorventa <= :data_final),");
sql.append(" boletos_novos AS( "); 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(" 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(" 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.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(" coalesce(c.importeseguro,0) + coalesce(c.importetaxaembarque,0)) as valor_venda_bn, ");
sql.append(" TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar_bn, "); sql.append(" TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar_bn, ");
sql.append(" c.numfoliosistema as numfoliosistema_bn, o.fecmodif as datadevolucao_bn "); sql.append(" c.numfoliosistema as numfoliosistema_bn, o.fecinc as datadevolucao_bn ");
sql.append(" FROM OCD o "); sql.append(" FROM OCD o ");
sql.append(" INNER JOIN boleto b ON o.BOLETO_ID = b.BOLETO_ID "); 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(" INNER JOIN caja c ON c.numoperacion = b.numoperacion ");
@ -103,7 +101,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" INNER JOIN punto_venta p "); sql.append(" INNER JOIN punto_venta p ");
sql.append(" ON p.puntoventa_id = o.puntoventa_id "); sql.append(" ON p.puntoventa_id = o.puntoventa_id ");
sql.append(" AND o.VALOR_TARJETA <> 0 "); sql.append(" AND o.VALOR_TARJETA <> 0 ");
sql.append(" AND c.fechorventa >= :data_inicial and c.fechorventa <= :data_final"); sql.append(" AND o.fecinc between :data_inicial and :data_final ");
if (parametros.get("EMPRESA_ID") != null) { if (parametros.get("EMPRESA_ID") != null) {
sql.append(" inner join marca ma on ma.marca_id = c.marca_id"); sql.append(" inner join marca ma on ma.marca_id = c.marca_id");
sql.append(" inner join empresa e on e.empresa_id = ma.empresa_id and ma.empresa_id = " + parametros.get("EMPRESA_ID")); sql.append(" inner join empresa e on e.empresa_id = ma.empresa_id and ma.empresa_id = " + parametros.get("EMPRESA_ID"));
@ -116,8 +114,11 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" select * from (select distinct c.caja_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,"); sql.append(" select * from (select distinct c.caja_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(" (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(cf.importe,0) - (coalesce(cf.importe,0)*(ocd.PENALIZACION/100)),'FM9999999.90') as valor_cancelar, m.descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, c.fechorventa as datadevolucao "); sql.append(" TO_CHAR(coalesce(cf.importe,0) - (coalesce(cf.importe,0)*(ocd.PENALIZACION/100)),'FM9999999.90') as valor_cancelar, m.descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao ");
sql.append(" from caja c inner join punto_venta p on c.puntoventa_id = p.puntoventa_id "); sql.append(" from caja c ");
sql.append(" inner join boleto b ON c.numoperacion = b.numoperacion AND b.numfoliosistema = c.numfoliosistema ");
sql.append(" inner join ocd o ON o.BOLETO_ID = b.BOLETO_ID ");
sql.append(" inner join punto_venta p on c.puntoventa_id = p.puntoventa_id ");
sql.append(" inner join caja_formapago cf on c.caja_id = cf.caja_id "); sql.append(" inner join caja_formapago cf on c.caja_id = cf.caja_id ");
sql.append(" inner join forma_pago f on cf.formapago_id = f.formapago_id "); sql.append(" inner join forma_pago f on cf.formapago_id = f.formapago_id ");
sql.append(" inner join ptovta_empresa ptovta on c.puntoventa_id = ptovta.puntoventa_id"); sql.append(" inner join ptovta_empresa ptovta on c.puntoventa_id = ptovta.puntoventa_id");
@ -126,7 +127,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" and f.formapago_id in (:formaPago1) "); sql.append(" and f.formapago_id in (:formaPago1) ");
sql.append(" inner join caja_det_pago cdt on cdt.caja_id = c.caja_id "); sql.append(" inner join caja_det_pago cdt on cdt.caja_id = c.caja_id ");
sql.append(" inner join caja_tarjeta ctj on cdt.cajadetpago_id = ctj.cajadetpago_id "); sql.append(" inner join caja_tarjeta ctj on cdt.cajadetpago_id = ctj.cajadetpago_id ");
sql.append(" and c.fechorventa >= :data_inicial and c.fechorventa <= :data_final "); sql.append(" AND o.fecinc between :data_inicial and :data_final ");
if (parametros.get("NUMPUNTOVENTA") != null) { if (parametros.get("NUMPUNTOVENTA") != null) {
sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
} }
@ -143,7 +144,7 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
sql.append(" select * from (select distinct c.caja_id, p.nombpuntoventa, ctj.numtarjeta, c.fechorventa, ptovta.numsitef,"); sql.append(" select * from (select distinct c.caja_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(" (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(" TO_CHAR(coalesce(o.VALOR_TARJETA,0),'FM9999999.90') as valor_cancelar,");
sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecmodif as datadevolucao"); sql.append(" 'OCD' as descmotivo, ctj.numautorizacion, ctj.nsu, c.numfoliosistema, o.fecinc as datadevolucao ");
sql.append(" from OCD o"); sql.append(" from OCD o");
sql.append(" inner join boleto b on o.BOLETO_ID = b.BOLETO_ID"); sql.append(" inner join boleto b on o.BOLETO_ID = b.BOLETO_ID");
sql.append(" inner join caja c on c.numoperacion = b.numoperacion and b.numfoliosistema = c.numfoliosistema"); sql.append(" inner join caja c on c.numoperacion = b.numoperacion and b.numfoliosistema = c.numfoliosistema");
@ -156,11 +157,11 @@ public class RelatorioCancelamentoVendaCartao extends Relatorio {
if (parametros.get("EMPRESA_ID") != null) { 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(" inner join empresa e on e.empresa_id = m.empresa_id and m.empresa_id = " + parametros.get("EMPRESA_ID"));
} }
sql.append(" and c.fechorventa >= :data_inicial and c.fechorventa <= :data_final "); sql.append(" AND o.fecinc between :data_inicial and :data_final ");
if (parametros.get("NUMPUNTOVENTA") != null) { if (parametros.get("NUMPUNTOVENTA") != null) {
sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); sql.append(" and p.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")");
} }
sql.append(" order by c.fechorventa )"); sql.append(" order by c.fechorventa, o.fecinc )");
sql.append(" union "); sql.append(" union ");