diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java index 78a802cbc..7432e5335 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java @@ -118,7 +118,21 @@ public class RelatorioEstornoCartao extends Relatorio { sql.append(" pvBoleto.NUMPUNTOVENTA agenciaVenda, "); sql.append(" fp.descpago formaPago, "); sql.append(" e.nombempresa, "); - sql.append(" mc.descmotivo "); + + //SubSelect para evitar duplicacao dos registros por causa do join com a caja + sql.append(" COALESCE(( select mc.descmotivo "); + sql.append(" from "); + sql.append(" motivo_cancelacion mc join caja c "); + sql.append(" on c.motivocancelacion_id = mc.motivocancelacion_id "); + sql.append(" where "); + sql.append(" c.numoperacion = dec.numoperacion "); + sql.append(" AND c.origen_id = dec.origen_id "); + sql.append(" AND c.destino_id = dec.destino_id "); + sql.append(" AND c.corrida_id = dec.corrida_id "); + sql.append(" AND c.numfoliosistema = dec.numfoliosistema "); + sql.append(" AND c.indreimpresion = 1 "); + sql.append(" AND rownum = 1), 'CANCELAMENTO') as descmotivo "); + sql.append(" FROM "); sql.append(" DADOS_ESTORNO_CARTAO DEC "); sql.append(" JOIN punto_venta pv "); @@ -143,16 +157,8 @@ public class RelatorioEstornoCartao extends Relatorio { sql.append(" JOIN EMPRESA e "); sql.append(" ON "); sql.append(" e.EMPRESA_ID = m.EMPRESA_ID "); - sql.append(" JOIN caja c ON c.NUMOPERACION = dec.NUMOPERACION and"); - sql.append(" c.origen_id = dec.origen_id and"); - sql.append(" c.destino_id = dec.destino_id and"); - sql.append(" c.corrida_id = dec.corrida_id and"); - sql.append(" c.numfoliosistema = dec.numfoliosistema"); - sql.append(" left OUTER JOIN motivo_cancelacion mc "); - sql.append("ON "); - sql.append(" c.motivocancelacion_id = mc.motivocancelacion_id "); sql.append(" WHERE "); - sql.append(" dec.activo = 1 and c.indreimpresion=1 "); + sql.append(" dec.activo = 1 "); if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { sql.append(" AND dec.PUNTOVENTA_ID IN(" + parametros.get("NUMPUNTOVENTA") + ") "); @@ -175,6 +181,7 @@ public class RelatorioEstornoCartao extends Relatorio { } sql.append(" AND DEC.FECREGISTRO BETWEEN :data_inicial AND :data_final "); + sql.append(" ORDER BY DEC.FECREGISTRO "); return sql.toString(); }