From 2efd3993932455e95ee3c85245c2a0104da78948 Mon Sep 17 00:00:00 2001 From: "gleison.cruz" Date: Wed, 9 Nov 2022 11:01:05 +0000 Subject: [PATCH] fixes bug# AL-1439 qua:Filipe dev:Arisitdes git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@115249 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioAgenciaFechamentoNovo.java | 99 ++++++++++--------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java index 7653e5c95..c17461307 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java @@ -41,6 +41,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; String empresaNome = parametros.get("empresaNome") != null ? parametros.get("empresaNome").toString() : ""; String puntoVenta = parametros.get("NUMPUNTOVENTA") != null ? parametros.get("NUMPUNTOVENTA").toString() : null; + lsDadosRelatorio = new ArrayList(); String sql = carregarDadosTotaisdeVenda(puntoVenta, empresa); @@ -67,7 +68,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { BigDecimal valorExcesso = BigDecimal.ZERO; BigDecimal valorSeguro = BigDecimal.ZERO; - BigDecimal difMaior = BigDecimal.ZERO; + BigDecimal difMaior = BigDecimal.ZERO; BigDecimal total = BigDecimal.ZERO; @@ -110,25 +111,28 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { } - - agenciaFechamento.setQtdExcesso(qtdExcesso); agenciaFechamento.setQtdSeguro(qtdSeguro); agenciaFechamento.setValorExcesso(valorExcesso); agenciaFechamento.setValorSeguro(valorSeguro); agenciaFechamento.setDifMaior(difMaior); - //total.add(rset1.getBigDecimal("valorBilhete")); - //total.add(rset1.getBigDecimal("valorVch")); - //total.add(rset1.getBigDecimal("valorInternet")); - total = rset1.getBigDecimal("total"); - total.add(difMaior); - //total.subtract(rset1.getBigDecimal("valorEstornado")); - //total.subtract(rset1.getBigDecimal("valorEstornado")); - //total.subtract(rset1.getBigDecimal("valorOCD")); + total = total.add(rset1.getBigDecimal("valorBilhete")); + total = total.add(rset1.getBigDecimal("valorVch")); + total = total.add(rset1.getBigDecimal("valorInternet")); + + + + total = total.add(difMaior); + total = total.subtract(rset1.getBigDecimal("valorEstornado")); + total = total.subtract(rset1.getBigDecimal("valorOCD")); + + agenciaFechamento.setTotal(total); + + agenciaFechamento.setValorOCD(rset1.getBigDecimal("valorOCD")); @@ -163,28 +167,22 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { StringBuilder sql = new StringBuilder(); - /* - * sql.append("WITH BASE_DIF AS ("); sql.append(" SELECT (C.PRECIOPAGADO - CF.IMPORTE) AS DIF_MAIOR,"); sql.append(" C.CAJA_ID"); sql.append(" FROM CAJA C INNER JOIN CAJA_FORMAPAGO CF ON (C.CAJA_ID = CF.CAJA_ID)"); sql.append(" INNER JOIN FORMA_PAGO FG ON (CF.FORMAPAGO_ID = FG.FORMAPAGO_ID)"); sql.append(" INNER JOIN BOLETO B ON (C.TRANSACAOORIGINAL_ID = B.BOLETO_ID)"); - * sql.append(" WHERE FG.FORMAPAGO_ID <> 10 AND C.PRECIOPAGADO > IMPORTE"); sql.append(" )"); - */ - sql.append(" SELECT CODIGO,"); - sql.append(" DESCRICAO,"); - sql.append(" VALORBILHETE,"); - sql.append(" QTDBILHETE,"); - sql.append(" VALORSEGURO,"); - sql.append(" QTDSEGURO,"); - sql.append(" VALORVCH,"); - sql.append(" QTDVCH,"); - sql.append(" VALORINTERNET,"); - sql.append(" QTDINTERNET,"); - sql.append(" VALORCANCELADO,"); - sql.append(" QTDCANCELADO,"); - sql.append(" VALORESTORNADO,"); - sql.append(" QTDESTORNADO,"); - sql.append(" VALOROCD,"); - //sql.append(" DIFMAIOR,"); - sql.append(" ((VALORBILHETE+VALORVCH+VALORINTERNET)-VALORCANCELADO-VALORESTORNADO-VALOROCD) AS TOTAL"); - sql.append(" FROM ("); + sql.append(" SELECT CODIGO, "); + sql.append(" DESCRICAO, "); + sql.append(" SUM(VALORBILHETE) AS VALORBILHETE, "); + sql.append(" SUM(QTDBILHETE) AS QTDBILHETE, "); + sql.append(" SUM(VALORSEGURO) AS VALORSEGURO, "); + sql.append(" SUM(QTDSEGURO) AS QTDSEGURO, "); + sql.append(" SUM(VALORVCH) AS VALORVCH, "); + sql.append(" SUM(QTDVCH) AS QTDVCH, "); + sql.append(" SUM(VALORINTERNET) AS VALORINTERNET, "); + sql.append(" SUM(QTDINTERNET) AS QTDINTERNET, "); + sql.append(" SUM(VALORCANCELADO) AS VALORCANCELADO, "); + sql.append(" SUM(QTDCANCELADO) AS QTDCANCELADO, "); + sql.append(" SUM(VALORESTORNADO) AS VALORESTORNADO, "); + sql.append(" SUM(QTDESTORNADO) AS QTDESTORNADO, "); + sql.append(" SUM(VALOROCD) AS VALOROCD "); + sql.append(" FROM ( "); sql.append(" SELECT pv.PUNTOVENTA_ID AS codigo, "); sql.append(" pv.nombpuntoventa AS descricao, "); sql.append(" COALESCE(SUM( "); @@ -193,7 +191,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" AND (c.INDREMOTOINVERSO IS NULL "); sql.append(" OR c.INDREMOTOINVERSO =0) "); sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID not in (5,12,18)) "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE null "); sql.append(" END),0) AS valorBilhete, "); sql.append(" COALESCE(COUNT( "); @@ -223,7 +221,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND (c.INDSTATUSBOLETO = 'E' OR c.TIPOVENTA_ID in (5,18)) "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorVch, "); sql.append(" COALESCE(COUNT( "); @@ -237,7 +235,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND c.TIPOVENTA_ID = 12 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorInternet, "); sql.append(" COALESCE(COUNT( "); @@ -249,13 +247,13 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" END),0) AS qtdInternet, "); sql.append(" COALESCE(SUM( "); sql.append(" CASE "); - sql.append(" WHEN c.MOTIVOCANCELACION_ID = 31 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" WHEN (c.MOTIVOCANCELACION_ID IN (31))"); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorCancelado, "); sql.append(" COALESCE(COUNT( "); sql.append(" CASE "); - sql.append(" WHEN c.MOTIVOCANCELACION_ID = 31 "); + sql.append(" WHEN (c.MOTIVOCANCELACION_ID IN (31))"); sql.append(" THEN 1 "); sql.append(" ELSE NULL "); sql.append(" END),0) AS qtdCancelado, "); @@ -263,7 +261,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NOT NULL "); sql.append(" AND c.MOTIVOCANCELACION_ID <> 31 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorEstornado, "); sql.append(" COALESCE(COUNT( "); @@ -273,33 +271,36 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" THEN 1 "); sql.append(" ELSE NULL "); sql.append(" END),0) AS qtdEstornado, "); - sql.append(" COALESCE(SUM(O.VALOR_PAGAR),0) AS VALOROCD "); - //sql.append(" COALESCE(SUM(BD.DIF_MAIOR),0) AS DIFMAIOR"); + sql.append(" CASE "); + sql.append(" WHEN (nvl(o.boleto_id,0) <> 0) THEN "); + sql.append(" SUM(nvl(b.preciopagado, 0) + nvl(b.importetaxaembarque, 0) + nvl(b.importeoutros, 0) + nvl(b.importepedagio, 0) + nvl(b.importeseguro, 0)) ELSE 0 "); + sql.append(" END AS VALOROCD "); sql.append(" FROM CAJA c "); sql.append(" INNER JOIN PUNTO_VENTA pv "); sql.append(" ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); sql.append(" INNER JOIN marca m "); sql.append(" ON m.marca_id = c.marca_id "); - sql.append(" LEFT JOIN OCD O "); - sql.append(" ON (C.TRANSACAOORIGINAL_ID = O.BOLETO_ID AND O.INDPAGO = 1)"); - /*sql.append(" LEFT JOIN BASE_DIF BD "); - sql.append(" ON (BD.CAJA_ID = C.CAJA_ID)");*/ + sql.append(" INNER JOIN EMPRESA e "); + sql.append(" ON e.EMPRESA_ID = m.EMPRESA_ID "); + sql.append(" INNER JOIN BOLETO b ON b.BOLETO_ID = c.TRANSACAO_ID "); + sql.append(" LEFT JOIN OCD o "); + sql.append(" ON c.TRANSACAOANTERIOR_ID = o.BOLETO_ID "); sql.append(" WHERE c.TURNO_ID IS NOT NULL "); sql.append(" AND c.FECCORTE BETWEEN :de AND :ate "); if (puntoVenta != null && !puntoVenta.equals("-1")) { sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVenta + ") "); } sql.append(" AND c.TIPOVENTA_ID <> 6 "); - sql.append(" AND c.INDREIMPRESION = 0 "); + //sql.append(" AND c.INDREIMPRESION = 0 "); if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { sql.append(" AND m.empresa_id = "+empresa+" "); } sql.append(" AND C.ACTIVO = 1 "); sql.append(" AND NVL(C.MONEDA_ID, 1) = :MOEDA_ID "); - sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa "); + sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa, o.boleto_id "); sql.append(" ORDER BY pv.nombpuntoventa "); - sql.append(")"); + sql.append(") GROUP BY codigo, descricao "); return sql.toString();