From fee51ee5c7dfae7ea0e54d750d4d7ff9d2b90b5e Mon Sep 17 00:00:00 2001 From: fabio Date: Mon, 28 Aug 2017 18:15:33 +0000 Subject: [PATCH] fixes bug #9539 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@73211 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioAgenciaFechamento.java | 305 ++++---- .../RelatorioAgenciaFechamento_es .properties | 23 - .../RelatorioAgenciaFechamento_es.properties | 41 + ...elatorioAgenciaFechamento_pt_BR.properties | 54 +- .../RelatorioAgenciaFechamento.jasper | Bin 51466 -> 52668 bytes .../RelatorioAgenciaFechamento.jrxml | 712 +++++++++--------- .../RelatorioAgenciaFechamentoBean.java | 175 +++-- 7 files changed, 689 insertions(+), 621 deletions(-) delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java index 013ecb814..bf66f5211 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java @@ -8,17 +8,20 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; - import org.apache.commons.lang.math.NumberUtils; +import org.slf4j.Logger; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoBean; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + public class RelatorioAgenciaFechamento extends Relatorio { + private static Logger log = org.slf4j.LoggerFactory.getLogger(RelatorioCarteirinha.class); + private List lsDadosRelatorio; public RelatorioAgenciaFechamento(Map parametros, Connection conexao) throws Exception { @@ -37,12 +40,12 @@ public class RelatorioAgenciaFechamento 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); - System.out.println(sql); + log.debug(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset1 = null; @@ -59,55 +62,34 @@ public class RelatorioAgenciaFechamento extends Relatorio { rset1= stmt.executeQuery(); while (rset1.next()) { + + Integer qtdExcesso = NumberUtils.INTEGER_ZERO; + Integer qtdSeguro = NumberUtils.INTEGER_ZERO; + + BigDecimal valorExcesso = BigDecimal.ZERO; + BigDecimal valorSeguro = BigDecimal.ZERO; RelatorioAgenciaFechamentoBean agenciaFechamento = new RelatorioAgenciaFechamentoBean(); - BigDecimal total = BigDecimal.ZERO; - BigDecimal vendido = BigDecimal.ZERO; - - String puntoVentaId = rset1.getString("codigo"); - - Integer qtdevendido = rset1.getInt("qtdevendido"); - Integer qtdedigitado = rset1.getInt("qtdedigitado"); - Integer qtdeAnulado = rset1.getInt("qtdeAnulado"); - Integer qtdeDevolvido = rset1.getInt("qtdeDevolvido"); - Integer qtdeTotal = null; - - vendido = rset1.getBigDecimal("vendido"); - BigDecimal digitado = rset1.getBigDecimal("digitado"); - BigDecimal anulado = rset1.getBigDecimal("anulado"); - BigDecimal devolvido = rset1.getBigDecimal("devolvido"); agenciaFechamento.setEmpresa(empresaNome); - - agenciaFechamento.setCodigo(rset1.getString("codigo")); + String puntoVentaId = rset1.getString("codigo"); agenciaFechamento.setDescricao(rset1.getString("descricao")); - - agenciaFechamento.setQtdeVendido(qtdevendido != null ? qtdevendido : NumberUtils.INTEGER_ZERO); - agenciaFechamento.setQtdeDigitado(qtdedigitado != null ? qtdedigitado : NumberUtils.INTEGER_ZERO); - agenciaFechamento.setQtdeAnulado(qtdeAnulado != null ? qtdeAnulado : NumberUtils.INTEGER_ZERO); - agenciaFechamento.setQtdeDevolvido(qtdeDevolvido != null ? qtdeDevolvido : NumberUtils.INTEGER_ZERO); - - qtdeTotal = ((qtdevendido != null ? qtdevendido : NumberUtils.INTEGER_ZERO) + (qtdedigitado != null ? qtdedigitado : NumberUtils.INTEGER_ZERO)) - - ((qtdeAnulado != null ? qtdeAnulado : NumberUtils.INTEGER_ZERO) + (qtdeDevolvido != null ? qtdeDevolvido : NumberUtils.INTEGER_ZERO)); - - if (qtdeTotal < 0) { - qtdeTotal = NumberUtils.INTEGER_ZERO; - } - - agenciaFechamento.setQtdeTotal(qtdeTotal); - - agenciaFechamento.setDigitado(digitado != null ? digitado : BigDecimal.ZERO); - agenciaFechamento.setAnulado(anulado != null ? anulado : BigDecimal.ZERO); - agenciaFechamento.setDevolvido(devolvido != null ? devolvido : BigDecimal.ZERO); - - total = total.add(vendido != null ? vendido : BigDecimal.ZERO); - total = total.add(digitado != null ? digitado : BigDecimal.ZERO); - total = total.subtract(anulado != null ? anulado : BigDecimal.ZERO); - total = total.subtract(devolvido != null ? devolvido : BigDecimal.ZERO); - stmt = new NamedParameterStatement(conexao, carregarDadosReceitaDespesa(puntoVentaId)); + agenciaFechamento.setValorBilhete(rset1.getBigDecimal("valorBilhete")); + agenciaFechamento.setValorVch(rset1.getBigDecimal("valorVch")); + agenciaFechamento.setValorInternet(rset1.getBigDecimal("valorInternet")); + agenciaFechamento.setValorCancelado(rset1.getBigDecimal("valorCancelado")); + agenciaFechamento.setValorEstornado(rset1.getBigDecimal("valorEstornado")); + valorSeguro = rset1.getBigDecimal("valorSeguro"); - System.out.println(carregarDadosReceitaDespesa(puntoVentaId)); + agenciaFechamento.setQtdBilhete(rset1.getInt("qtdBilhete")); + agenciaFechamento.setQtdVch(rset1.getInt("qtdVch")); + agenciaFechamento.setQtdInternet(rset1.getInt("qtdInternet")); + agenciaFechamento.setQtdCancelado(rset1.getInt("qtdCancelado")); + agenciaFechamento.setQtdEstornado(rset1.getInt("qtdEstornado")); + qtdSeguro = rset1.getInt("qtdSeguro"); + + stmt = new NamedParameterStatement(conexao, carregarEventosExtras(puntoVentaId)); stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); @@ -116,35 +98,21 @@ public class RelatorioAgenciaFechamento extends Relatorio { stmt.setInt("empresaId", Integer.parseInt(empresa)); } - if (puntoVentaId != null ) { - stmt.setString("puntoVentaId", puntoVentaId); - } - rset2 = stmt.executeQuery(); - + if (rset2.next()) { - Integer qtdedespesa = rset2.getInt("qtdedespesa"); - BigDecimal receita = rset2.getBigDecimal("receita"); - BigDecimal despesa = rset2.getBigDecimal("despesa"); - - agenciaFechamento.setQtdeDespesa(qtdedespesa != null ? qtdedespesa : NumberUtils.INTEGER_ZERO); - agenciaFechamento.setReceita(receita != null ? receita : BigDecimal.ZERO); - agenciaFechamento.setDespesa(despesa != null ? despesa : BigDecimal.ZERO); - - total = total.add(receita != null ? receita : BigDecimal.ZERO); - total = total.subtract(despesa != null ? despesa : BigDecimal.ZERO); - - agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); - agenciaFechamento.setTotal(total.abs()); - - } else { - agenciaFechamento.setQtdeDespesa(NumberUtils.INTEGER_ZERO); - agenciaFechamento.setReceita(BigDecimal.ZERO); - agenciaFechamento.setDespesa(BigDecimal.ZERO); - agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); - agenciaFechamento.setTotal(total.abs()); + qtdSeguro += rset2.getInt("qtdSeguro"); + qtdExcesso = rset2.getInt("qtdExcesso"); + + valorSeguro = valorSeguro.add(rset2.getBigDecimal("valorSeguro")); + valorExcesso = valorExcesso.add(rset2.getBigDecimal("valorExcesso")); } + + agenciaFechamento.setQtdExcesso(qtdExcesso); + agenciaFechamento.setQtdSeguro(qtdSeguro); + agenciaFechamento.setValorExcesso(valorExcesso); + agenciaFechamento.setValorSeguro(valorSeguro); lsDadosRelatorio.add(agenciaFechamento); //Estava dando um erro de "máximo de cursores abertos excedido" @@ -152,9 +120,10 @@ public class RelatorioAgenciaFechamento extends Relatorio { rset2.getStatement().close(); rset2.close(); } + + rset1.close(); if (lsDadosRelatorio.size() > 0) { - setLsDadosRelatorio(lsDadosRelatorio); } @@ -174,98 +143,142 @@ public class RelatorioAgenciaFechamento extends Relatorio { private String carregarDadosTotaisdeVenda(String puntoVenta) { StringBuilder sql = new StringBuilder(); - sql.append(" SELECT "); - sql.append(" pv.PUNTOVENTA_ID AS codigo, "); - sql.append(" pv.nombpuntoventa AS descricao, "); - sql.append(" "); - sql.append(" COALESCE(COUNT(CASE WHEN c.MOTIVOCANCELACION_ID IS NULL and (c.INDREMOTOINVERSO is null or c.INDREMOTOINVERSO =0) THEN c.caja_id ELSE NULL END),0) AS qtdevendido, "); - sql.append(" "); - sql.append(" COALESCE(COUNT(CASE WHEN c.INDREMOTOINVERSO = 1 THEN 1 ELSE NULL END),0) AS qtdedigitado, "); - sql.append(" "); - sql.append(" COALESCE(COUNT(CASE WHEN c.MOTIVOCANCELACION_ID = 31 THEN 1 ELSE NULL END),0) AS qtdeAnulado, "); - sql.append(" COALESCE(COUNT(CASE WHEN c.MOTIVOCANCELACION_ID is not null and c.MOTIVOCANCELACION_ID <> 31 THEN 1 ELSE NULL END),0) AS qtdeDevolvido, "); - sql.append(" "); - sql.append(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID IS NULL and (c.INDREMOTOINVERSO is null or c.INDREMOTOINVERSO =0) THEN ( "); - sql.append(" coalesce(c.IMPORTEOUTROS,0) + coalesce(c.IMPORTEPEDAGIO,0) + coalesce(c.IMPORTESEGURO,0) "); - sql.append(" +coalesce(IMPORTETAXAEMBARQUE ,0)+coalesce(c.preciopagado,0)) ELSE NULL END),0) AS vendido, "); - sql.append(" "); - sql.append(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID IS NULL and c.INDREMOTOINVERSO = 1 THEN ( "); - sql.append(" coalesce(c.IMPORTEOUTROS,0) + coalesce(c.IMPORTEPEDAGIO,0) + coalesce(c.IMPORTESEGURO,0) "); - sql.append(" +coalesce(IMPORTETAXAEMBARQUE ,0)+coalesce(c.preciopagado,0)) ELSE NULL END),0) AS digitado, "); - sql.append(" "); - sql.append(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID = 31 THEN ( "); - sql.append(" coalesce(c.IMPORTEOUTROS,0) + coalesce(c.IMPORTEPEDAGIO,0) + coalesce(c.IMPORTESEGURO,0) "); - sql.append(" +coalesce(IMPORTETAXAEMBARQUE ,0)+coalesce(c.preciopagado,0)) ELSE NULL END),0) AS anulado, "); - sql.append(" "); - sql.append(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID is not null and c.MOTIVOCANCELACION_ID <> 31 THEN ( "); - sql.append(" coalesce(c.IMPORTEOUTROS,0) + coalesce(c.IMPORTEPEDAGIO,0) + coalesce(c.IMPORTESEGURO,0) "); - sql.append(" +coalesce(IMPORTETAXAEMBARQUE ,0)+coalesce(c.preciopagado,0)) ELSE NULL END),0) AS devolvido "); - sql.append(" "); - sql.append(" "); - sql.append(" FROM CAJA c "); - sql.append(" INNER JOIN PUNTO_VENTA pv ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); - sql.append(" inner join marca m on m.marca_id = c.marca_id "); - sql.append(" WHERE c.TURNO_ID IS NOT NULL "); - sql.append(" AND c.FECCORTE BETWEEN :de AND :ate "); + sql.append(" SELECT pv.PUNTOVENTA_ID AS codigo, "); + sql.append(" pv.nombpuntoventa AS descricao, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); + 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(" ELSE null "); + sql.append(" END),0) AS valorBilhete, "); + sql.append(" COALESCE(COUNT( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); + 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 c.caja_id "); + sql.append(" ELSE NULL "); + sql.append(" END),0) AS qtdBilhete, "); + sql.append(" SUM( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND COALESCE(c.IMPORTESEGURO,0) > 0 "); + sql.append(" THEN c.IMPORTESEGURO "); + sql.append(" ELSE 0 "); + sql.append(" END) AS valorSeguro, "); + sql.append(" COALESCE(COUNT( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND COALESCE(c.IMPORTESEGURO,0) > 0 "); + sql.append(" THEN 1 "); + sql.append(" ELSE NULL "); + sql.append(" END),0) AS qtdSeguro, "); + sql.append(" COALESCE(SUM( "); + 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(" ELSE 0 "); + sql.append(" END),0) AS valorVch, "); + sql.append(" COALESCE(COUNT( "); + 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 1 "); + sql.append(" ELSE NULL "); + sql.append(" END),0) AS qtdVch, "); + sql.append(" COALESCE(SUM( "); + 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(" ELSE 0 "); + sql.append(" END),0) AS valorInternet, "); + sql.append(" COALESCE(COUNT( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND c.TIPOVENTA_ID = 12 "); + sql.append(" THEN 1 "); + sql.append(" ELSE NULL "); + 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(" ELSE 0 "); + sql.append(" END),0) AS valorCancelado, "); + sql.append(" COALESCE(COUNT( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID = 31 "); + sql.append(" THEN 1 "); + sql.append(" ELSE NULL "); + sql.append(" END),0) AS qtdCancelado, "); + sql.append(" COALESCE(SUM( "); + 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(" ELSE 0 "); + sql.append(" END),0) AS valorEstornado, "); + sql.append(" COALESCE(COUNT( "); + sql.append(" CASE "); + sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NOT NULL "); + sql.append(" AND c.MOTIVOCANCELACION_ID <> 31 "); + sql.append(" THEN 1 "); + sql.append(" ELSE NULL "); + sql.append(" END),0) AS qtdEstornado "); + sql.append(" "); + 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(" 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 m.empresa_id = :empresaId "); - sql.append(" GROUP BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); - sql.append(" ORDER BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); + sql.append(" AND c.TIPOVENTA_ID <> 6 "); + sql.append(" AND c.INDREIMPRESION = 0 "); + sql.append(" AND m.empresa_id = :empresaId "); + sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa "); + sql.append(" ORDER BY pv.nombpuntoventa "); return sql.toString(); } - - private String carregaAgenciasComVenda() { + + private String carregarEventosExtras(String puntoVenta) { StringBuilder sql = new StringBuilder(); - sql.append(" SELECT DISTINCT cc.PUNTOVENTA_ID "); - sql.append(" FROM CONTA_CORRENTE_PTOVTA cc "); - sql.append(" WHERE cc.FECHOROPERACION BETWEEN :de AND :ate "); - sql.append(" and cc.EMPRESA_ID = :empresaId "); - - return sql.toString(); - - } - - private String carregarDadosReceitaDespesa(String puntoVenta) { - - StringBuilder sql = new StringBuilder(); - sql.append(" SELECT "); - sql.append(" COALESCE(COUNT(CASE WHEN cdp.IMPORTE < 0 THEN 1 ELSE NULL END),0) as qtdedespesa, "); - sql.append(" COALESCE(SUM(CASE WHEN cdp.IMPORTE > 0 THEN cdp.IMPORTE ELSE NULL END),0) AS receita, "); - sql.append(" COALESCE(ABS(SUM(CASE WHEN cdp.IMPORTE < 0 THEN cdp.IMPORTE ELSE NULL END)),0) AS despesa "); - sql.append(" FROM CAJA_DIVERSOS cd, "); - sql.append(" CAJA_DIVERSOS_PAGO cdp, "); - sql.append(" EVENTO_EXTRA ee "); - sql.append(" WHERE cd.MOTIVOCANCELACION_ID IS NULL "); - sql.append(" AND ee.EVENTOEXTRA_ID = cd.EVENTOEXTRA_ID "); - sql.append(" AND cdp.CAJADIVERSOS_ID = cd.CAJADIVERSOS_ID "); + sql.append(" SELECT "); + sql.append(" COALESCE(SUM(CASE WHEN tee.CVETIPOEVENTO = 'EXCESSO_BAGAGEM' THEN cd.PRECIO ELSE NULL END),0) AS valorExcesso, "); + sql.append(" COALESCE(COUNT(CASE WHEN tee.CVETIPOEVENTO = 'EXCESSO_BAGAGEM' THEN 1 ELSE NULL END),0) as qtdExcesso, "); + sql.append(" COALESCE(SUM(CASE WHEN tee.CVETIPOEVENTO = 'SEGURO_OPCIONAL' THEN cd.PRECIO ELSE NULL END),0) AS valorSeguro, "); + sql.append(" COALESCE(COUNT(CASE WHEN tee.CVETIPOEVENTO = 'SEGURO_OPCIONAL' THEN 1 ELSE NULL END),0) as qtdSeguro "); + sql.append(" FROM CAJA_DIVERSOS cd "); + sql.append(" INNER JOIN EVENTO_EXTRA ee "); + sql.append(" ON ee.EVENTOEXTRA_ID = cd.EVENTOEXTRA_ID "); + sql.append(" INNER JOIN TIPO_EVENTO_EXTRA tee "); + sql.append(" ON ee.TIPOEVENTOEXTRA_ID = tee.TIPOEVENTOEXTRA_ID "); + sql.append(" WHERE cd.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND ee.activo = 1 "); sql.append(" AND cd.TURNO_ID IS NOT NULL "); + sql.append(" AND tee.CVETIPOEVENTO in ('EXCESSO_BAGAGEM', 'SEGURO_OPCIONAL' ) "); sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); if (puntoVenta != null && !puntoVenta.equals("-1")) { - sql.append(" AND cd.PUNTOVENTA_ID = :puntoVentaId "); + sql.append(" AND cd.PUNTOVENTA_ID = ").append(puntoVenta); } sql.append(" AND ee.EMPRESA_ID=:empresaId "); + + log.debug(sql.toString()); return sql.toString(); } - private String carregarNomeEmpresa() { - - StringBuilder sql = new StringBuilder(); - sql.append(" SELECT "); - sql.append(" NOMBEMPRESA "); - sql.append(" FROM EMPRESA "); - sql.append(" WHERE EMPRESA_ID=:empresaId "); - - return sql.toString(); - - } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties deleted file mode 100644 index abaee55bf..000000000 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties +++ /dev/null @@ -1,23 +0,0 @@ -#geral -msg.noData=No se pudo obtener datos con los parámetros reportados. -msg.a=a - -#Labels header -header.data=Data : -header.empresa=Empresa : -header.codigo=Código -header.descricao=Descrição -header.vendido=Vendido -header.digitado=Digitado -header.anulado=Anulados -header.devolvido=Devolvidos -header.receita=Receita -header.despesa=Despesa -header.total=Total - -detail.agencia=AGÊNCIA -detail.quantidade=QUANTIDADE -detail.valor=VALOR -detail.totalGeral=TOTAL GERAL - -linhas=Linhas \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties new file mode 100644 index 000000000..5f9d7c2fb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties @@ -0,0 +1,41 @@ +#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) +#geral + +detail.agencia = AG\u00CANCIA +detail.qtd.bilhete = Qtd. Bilhete Entrada +detail.qtd.cancelados = Qtd. Cancelados +detail.qtd.estornados = Qtd. Estornados +detail.qtd.excesso = Qtd. Excesso Entrada +detail.qtd.internet = Qtd. Internet Entrada +detail.qtd.itex = Qtd. Itex Entrada +detail.qtd.seguro = Qtd. Seguro Entrada +detail.qtd.vch = Qtd. VCH Entrada +detail.quantidade = QUANTIDADE +detail.totalGeral = TOTAL GERAL +detail.valor = VALOR +detail.valor.bilhete = Valor Bilhete Entrada +detail.valor.cancelados = Valor Cancelados +detail.valor.estornados = Valor Estornados +detail.valor.excesso = Valor Excesso Entrada +detail.valor.internet = Valor Internet Entrada +detail.valor.itex = Valor Itex Entrada +detail.valor.seguro = Valor Seguro Entrada +detail.valor.vch = Valor VCH Entrada + +header.anulado = Anulados +header.codigo = C\u00F3digo +#Labels header +header.data = Data : +header.descricao = Descri\u00E7\u00E3o +header.despesa = Despesa +header.devolvido = Devolvidos +header.digitado = Digitado +header.empresa = Empresa : +header.receita = Receita +header.total = Total +header.vendido = Vendido + +linhas = Linhas + +msg.a = a +msg.noData = No se pudo obtener datos con los par\u00E1metros reportados. diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties index abaee55bf..da8ef5c22 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties @@ -1,23 +1,41 @@ +#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/) #geral -msg.noData=No se pudo obtener datos con los parámetros reportados. -msg.a=a +detail.agencia = Ag\u00EAncia +detail.qtd.bilhete = Qtd. Bilhete Entrada +detail.qtd.cancelados = Qtd. Cancelados +detail.qtd.estornados = Qtd. Estornados +detail.qtd.excesso = Qtd. Excesso Entrada +detail.qtd.internet = Qtd. Internet Entrada +detail.qtd.itex = Qtd. Itex Entrada +detail.qtd.seguro = Qtd. Seguro Entrada +detail.qtd.vch = Qtd. VCH Entrada +detail.quantidade = QUANTIDADE +detail.totalGeral = TOTAL GERAL +detail.valor = VALOR +detail.valor.bilhete = Valor Bilhete Entrada +detail.valor.cancelados = Valor Cancelados +detail.valor.estornados = Valor Estornados +detail.valor.excesso = Valor Excesso Entrada +detail.valor.internet = Valor Internet Entrada +detail.valor.itex = Valor Itex Entrada +detail.valor.seguro = Valor Seguro Entrada +detail.valor.vch = Valor VCH Entrada + +header.anulado = Anulados +header.codigo = C\u00F3digo #Labels header -header.data=Data : -header.empresa=Empresa : -header.codigo=Código -header.descricao=Descrição -header.vendido=Vendido -header.digitado=Digitado -header.anulado=Anulados -header.devolvido=Devolvidos -header.receita=Receita -header.despesa=Despesa -header.total=Total +header.data = Data : +header.descricao = Descri\u00E7\u00E3o +header.despesa = Despesa +header.devolvido = Devolvidos +header.digitado = Digitado +header.empresa = Empresa : +header.receita = Receita +header.total = Total +header.vendido = Vendido -detail.agencia=AGÊNCIA -detail.quantidade=QUANTIDADE -detail.valor=VALOR -detail.totalGeral=TOTAL GERAL +linhas = Linhas -linhas=Linhas \ No newline at end of file +msg.a = a +msg.noData = No se pudo obtener datos con los par\u00E1metros reportados. diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper index ecfc27dfc652907376b728160fe5cf88021b3411..57d0cab1274bad0e61aefb8e9851db5526757d00 100644 GIT binary patch literal 52668 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 - - - - + + + + + + + + + @@ -11,88 +16,91 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - + - + - + - + - + - + @@ -100,12 +108,12 @@ - + - + @@ -124,365 +132,347 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java index 115f15656..aa441b7fa 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java @@ -4,120 +4,149 @@ import java.math.BigDecimal; public class RelatorioAgenciaFechamentoBean { protected String empresa; - protected String codigo; protected String descricao; - protected Integer qtdeVendido; - protected Integer qtdeDigitado; - protected Integer qtdeAnulado; - protected Integer qtdeDevolvido; - protected Integer qtdeDespesa; - protected Integer qtdeTotal; + protected Integer qtdBilhete; + protected Integer qtdExcesso; + protected Integer qtdSeguro; + protected Integer qtdVch; + protected Integer qtdInternet; + protected Integer qtdCancelado; + protected Integer qtdEstornado; - protected BigDecimal vendido; - protected BigDecimal digitado; - protected BigDecimal anulado; - protected BigDecimal devolvido; - protected BigDecimal receita; - protected BigDecimal despesa; - protected BigDecimal total; + protected BigDecimal valorBilhete; + protected BigDecimal valorExcesso; + protected BigDecimal valorSeguro; + protected BigDecimal valorVch; + protected BigDecimal valorInternet; + protected BigDecimal valorCancelado; + protected BigDecimal valorEstornado; public String getEmpresa() { return empresa; } + public void setEmpresa(String empresa) { this.empresa = empresa; } - public String getCodigo() { - return codigo; - } - public void setCodigo(String codigo) { - this.codigo = codigo; - } public String getDescricao() { return descricao; } + public void setDescricao(String descricao) { this.descricao = descricao; } - public Integer getQtdeVendido() { - return qtdeVendido; + + public Integer getQtdBilhete() { + return qtdBilhete; } - public void setQtdeVendido(Integer qtdeVendido) { - this.qtdeVendido = qtdeVendido; + + public void setQtdBilhete(Integer qtdBilhete) { + this.qtdBilhete = qtdBilhete; } - - public Integer getQtdeDigitado() { - return qtdeDigitado; + + public Integer getQtdExcesso() { + return qtdExcesso; } - public void setQtdeDigitado(Integer qtdeDigitado) { - this.qtdeDigitado = qtdeDigitado; + + public void setQtdExcesso(Integer qtdExcesso) { + this.qtdExcesso = qtdExcesso; } - public Integer getQtdeAnulado() { - return qtdeAnulado; + + public Integer getQtdSeguro() { + return qtdSeguro; } - public void setQtdeAnulado(Integer qtdeAnulado) { - this.qtdeAnulado = qtdeAnulado; + + public void setQtdSeguro(Integer qtdSeguro) { + this.qtdSeguro = qtdSeguro; } - public Integer getQtdeDevolvido() { - return qtdeDevolvido; + + public Integer getQtdVch() { + return qtdVch; } - public void setQtdeDevolvido(Integer qtdeDevolvido) { - this.qtdeDevolvido = qtdeDevolvido; + + public void setQtdVch(Integer qtdVch) { + this.qtdVch = qtdVch; } - public Integer getQtdeDespesa() { - return qtdeDespesa; + + public Integer getQtdInternet() { + return qtdInternet; } - public void setQtdeDespesa(Integer qtdeDespesa) { - this.qtdeDespesa = qtdeDespesa; + + public void setQtdInternet(Integer qtdInternet) { + this.qtdInternet = qtdInternet; } - public BigDecimal getVendido() { - return vendido; + + public Integer getQtdCancelado() { + return qtdCancelado; } - public void setVendido(BigDecimal vendido) { - this.vendido = vendido; + + public void setQtdCancelado(Integer qtdCancelado) { + this.qtdCancelado = qtdCancelado; } - public BigDecimal getDigitado() { - return digitado; + + public Integer getQtdEstornado() { + return qtdEstornado; } - public void setDigitado(BigDecimal digitado) { - this.digitado = digitado; + + public void setQtdEstornado(Integer qtdEstornado) { + this.qtdEstornado = qtdEstornado; } - public BigDecimal getAnulado() { - return anulado; + + public BigDecimal getValorBilhete() { + return valorBilhete; } - public void setAnulado(BigDecimal anulado) { - this.anulado = anulado; + + public void setValorBilhete(BigDecimal valorBilhete) { + this.valorBilhete = valorBilhete; } - public BigDecimal getDevolvido() { - return devolvido; + + public BigDecimal getValorExcesso() { + return valorExcesso; } - public void setDevolvido(BigDecimal devolvido) { - this.devolvido = devolvido; + + public void setValorExcesso(BigDecimal valorExcesso) { + this.valorExcesso = valorExcesso; } - public BigDecimal getReceita() { - return receita; + + public BigDecimal getValorSeguro() { + return valorSeguro; } - public void setReceita(BigDecimal receita) { - this.receita = receita; + + public void setValorSeguro(BigDecimal valorSeguro) { + this.valorSeguro = valorSeguro; } - public BigDecimal getDespesa() { - return despesa; + + public BigDecimal getValorVch() { + return valorVch; } - public void setDespesa(BigDecimal despesa) { - this.despesa = despesa; + + public void setValorVch(BigDecimal valorVch) { + this.valorVch = valorVch; } - public Integer getQtdeTotal() { - return qtdeTotal; + + public BigDecimal getValorInternet() { + return valorInternet; } - public void setQtdeTotal(Integer qtdeTotal) { - this.qtdeTotal = qtdeTotal; + + public void setValorInternet(BigDecimal valorInternet) { + this.valorInternet = valorInternet; } - public BigDecimal getTotal() { - return total; + + public BigDecimal getValorCancelado() { + return valorCancelado; } - public void setTotal(BigDecimal total) { - this.total = total; + + public void setValorCancelado(BigDecimal valorCancelado) { + this.valorCancelado = valorCancelado; + } + + public BigDecimal getValorEstornado() { + return valorEstornado; + } + + public void setValorEstornado(BigDecimal valorEstornado) { + this.valorEstornado = valorEstornado; } }