diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java index 1bfac902d..463f187c5 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBilhetesVendidosNovoLayout.java @@ -46,28 +46,46 @@ public class RelatorioBilhetesVendidosNovoLayout extends Relatorio { Map parametros = this.relatorio.getParametros(); StringBuilder sql = new StringBuilder(); - - sql.append("SELECT distinct est.cveestado as cveestado,"); - sql.append(" to_char(c.fechorventa, 'dd/mm/yyyy hh24:mi') as datavenda,"); - sql.append(" c.INDSTATUSBOLETO statuspassagem, "); - sql.append(" ae.decespecie as especie, "); - sql.append(" (select min(NUMFOLIOSISTEMA) as maximo from boleto e where e.NUMOPERACION = c.NUMOPERACION) as forminicial,"); - sql.append(" (select max(NUMFOLIOSISTEMA) as maximo from boleto e where e.NUMOPERACION = c.NUMOPERACION) as formfinal,"); - sql.append(" c.NUMSERIEPREIMPRESA AS serie,"); - sql.append(" c.preciopagado as valorcontabil,"); - sql.append(" c.preciopagado - (c.preciopagado * coalesce(ei.porcredbaseicms / 100,0))AS valorbasecalculo, "); - sql.append(" est.icms AS valoraliquiotaicms,"); - sql.append(" ((c.preciopagado - (c.preciopagado * COALESCE(ei.porcredbaseicms / 100,0))) * est.icms) / 100 AS valoricms "); - sql.append("FROM boleto c "); - sql.append("left join aidf a ON a.aidf_id = c.aidf_id "); - sql.append("left join aidf_especie ae ON (a.aidfesp_id = ae.aidfesp_id) "); - sql.append("join empresa e ON e.empresa_id = c.empresacorrida_id "); - sql.append("join parada po ON po.parada_id = c.origen_id "); - sql.append("join ciudad co ON co.ciudad_id = po.ciudad_id "); - sql.append("join estado est ON est.estado_id = co.estado_id "); - sql.append("join empresa_imposto ei ON ei.empresa_id = e.empresa_id "); - sql.append("JOIN PUNTO_VENTA pv on c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); - sql.append("AND ei.estado_id = est.estado_id "); + sql.append("select t.cveestado,"); + sql.append(" t.datavenda,"); + sql.append(" t.statuspassagem,"); + sql.append(" t.especie,"); + sql.append(" t.forminicial,"); + sql.append(" t.formfinal,"); + sql.append(" t.serie,"); + sql.append(" t.preciopagado as valorcontabil,"); + sql.append(" t.preciopagado - (t.preciopagado * coalesce(t.porcredbaseicms / 100,0))as valorbasecalculo,"); + sql.append(" t.valoraliquiotaicms,"); + sql.append(" ((t.preciopagado - (t.preciopagado * coalesce(t.porcredbaseicms / 100,0))) * t.icms) / 100 as valoricms "); + sql.append("from"); + sql.append(" (select distinct est.icms,"); + sql.append(" est.cveestado as cveestado,"); + sql.append(" ei.porcredbaseicms,"); + sql.append(" to_char(c.fechorventa, 'dd/mm/yyyy hh24:mi') as datavenda,"); + sql.append(" c.indstatusboleto statuspassagem,"); + sql.append(" ae.decespecie as especie,"); + sql.append(" (select min(numfoliosistema) as maximo"); + sql.append(" from boleto e"); + sql.append(" where e.numoperacion = c.numoperacion) as forminicial,"); + sql.append(" (select max(numfoliosistema) as maximo"); + sql.append(" from boleto e"); + sql.append(" where e.numoperacion = c.numoperacion) as formfinal,"); + sql.append(" c.numseriepreimpresa as serie,"); + sql.append(" c.preciopagado as valorcontabil,"); + sql.append(" est.icms as valoraliquiotaicms,"); + sql.append(" (select sum(c.preciopagado) as preciopagado"); + sql.append(" from boleto e"); + sql.append(" where e.numoperacion = c.numoperacion) as preciopagado"); + sql.append(" from boleto c"); + sql.append(" left join aidf a on a.aidf_id = c.aidf_id"); + sql.append(" left join aidf_especie ae on (a.aidfesp_id = ae.aidfesp_id)"); + sql.append(" join empresa e on e.empresa_id = c.empresacorrida_id"); + sql.append(" join parada po on po.parada_id = c.origen_id"); + sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id"); + sql.append(" join estado est on est.estado_id = co.estado_id"); + sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id"); + sql.append(" join punto_venta pv on c.puntoventa_id = pv.puntoventa_id"); + sql.append(" and ei.estado_id = est.estado_id"); sql.append(" where "); sql.append(" c.empresacorrida_id = :EMPRESA_ID "); sql.append(" and c.fechorventa BETWEEN :DATA_INICIAL AND :DATA_FINAL "); @@ -81,14 +99,15 @@ public class RelatorioBilhetesVendidosNovoLayout extends Relatorio { } if (parametros.get("STATUS") != null) { if (parametros.get("STATUS").toString().contains("V") && parametros.get("STATUS").toString().contains("C")) { - sql.append(" AND ((c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL) OR (c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL)) "); + sql.append(" and ((c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL) OR (c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL)) "); } else if (parametros.get("STATUS").toString().contains("C")) { - sql.append(" AND c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL "); + sql.append(" and c.INDSTATUSBOLETO = 'C' AND c.MOTIVOCANCELACION_ID IS NOT NULL "); } else if (parametros.get("STATUS").toString().contains("V")) { - sql.append(" AND c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" and c.INDSTATUSBOLETO = 'V' AND c.MOTIVOCANCELACION_ID IS NULL "); } } - sql.append(" ORDER BY cveestado, datavenda "); + sql.append(" ORDER BY cveestado, datavenda) "); + sql.append("t "); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); @@ -128,7 +147,7 @@ public class RelatorioBilhetesVendidosNovoLayout extends Relatorio { bean.setValorContabil(rset.getObject("valorcontabil") == null ? "" : df.format(rset.getFloat("valorcontabil"))); bean.setValorBaseCalculo(rset.getObject("valorbasecalculo") == null ? "" : df.format(rset.getFloat("valorbasecalculo"))); bean.setValorAliquiotaICMS(rset.getObject("valoraliquiotaicms") == null ? "" : df.format(rset.getFloat("valoraliquiotaicms"))); - bean.setValorICMS(rset.getObject("valoricms") == null ? "" : df.format(rset.getFloat("valoricms"))); + bean.setValorICMS(rset.getObject("valoricms") == null ? "" : df.format(rset.getDouble("valoricms"))); bean.setUf((String) (rset.getObject("cveestado") == null ? "" : rset.getObject("cveestado"))); bean.setStatusPassagem((String) (rset.getObject("statuspassagem") != null && rset.getObject("statuspassagem").equals("V") ? "N" : rset.getString("statuspassagem"))); bean.setEspecie((String) (rset.getObject("especie") == null ? "" : rset.getObject("especie")));