From 48c1fee10dd0098441906438e2067c72fcbb352b Mon Sep 17 00:00:00 2001 From: thiago Date: Mon, 2 Mar 2020 19:44:53 +0000 Subject: [PATCH] fixes bug#17730 dev:Valdir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@100431 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioAgenciaFechamento.java | 399 ++++++------- .../RelatorioAgenciaFechamentoAntigo.java | 218 +------- .../RelatorioAgenciaFechamentoDiario.java | 75 +++ .../impl/RelatorioAgenciaFechamentoNovo.java | 283 ++++++++++ .../RelatorioAgenciaFechamentoResumo.java | 80 +++ ...elatorioAgenciaFechamentoResumoDiario.java | 262 --------- .../impl/TipoRelatorioFechamentoEnum.java | 10 + ...torioAgenciaFechamentoDiario_es.properties | 25 + ...oAgenciaFechamentoDiario_pt_BR.properties} | 10 +- ...atorioAgenciaFechamentoNovo_es.properties} | 0 ...rioAgenciaFechamentoNovo_pt_BR.properties} | 0 ...torioAgenciaFechamentoResumo_es.properties | 24 + ...oAgenciaFechamentoResumo_pt_BR.properties} | 1 + .../RelatorioAgenciaFechamento.jasper | Bin 52668 -> 0 bytes .../RelatorioAgenciaFechamentoAntigo.jasper | Bin 51675 -> 51687 bytes .../RelatorioAgenciaFechamentoAntigo.jrxml | 2 +- .../RelatorioAgenciaFechamentoDiario.jasper | Bin 0 -> 53910 bytes .../RelatorioAgenciaFechamentoDiario.jrxml | 526 ++++++++++++++++++ .../RelatorioAgenciaFechamentoNovo.jasper | Bin 0 -> 52178 bytes ...l => RelatorioAgenciaFechamentoNovo.jrxml} | 128 ++--- .../RelatorioAgenciaFechamentoResumo.jasper | Bin 0 -> 53116 bytes ...=> RelatorioAgenciaFechamentoResumo.jrxml} | 79 +-- ...atorioAgenciaFechamentoResumoDiario.jasper | Bin 51993 -> 0 bytes .../RelatorioAgenciaFechamentoAntigoBean.java | 15 + .../RelatorioAgenciaFechamentoController.java | 24 +- ...atorioAgenciasNaoImportadasController.java | 18 - .../relatorios/RelatorioController.java | 2 +- web/WEB-INF/i3-label_es_MX.label | 3 +- web/WEB-INF/i3-label_pt_BR.label | 3 +- .../filtroRelatorioAgenciaFechamento.zul | 7 +- 30 files changed, 1367 insertions(+), 827 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoDiario.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumo.java delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumoDiario.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/TipoRelatorioFechamentoEnum.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_es.properties rename src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/{RelatorioAgenciaFechamentoResumoDiario_es.properties => RelatorioAgenciaFechamentoDiario_pt_BR.properties} (69%) rename src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/{RelatorioAgenciaFechamento_es.properties => RelatorioAgenciaFechamentoNovo_es.properties} (100%) rename src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/{RelatorioAgenciaFechamento_pt_BR.properties => RelatorioAgenciaFechamentoNovo_pt_BR.properties} (100%) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_es.properties rename src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/{RelatorioAgenciaFechamentoResumoDiario_pt_BR.properties => RelatorioAgenciaFechamentoResumo_pt_BR.properties} (87%) delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jasper rename src/java/com/rjconsultores/ventaboletos/relatorios/templates/{RelatorioAgenciaFechamento.jrxml => RelatorioAgenciaFechamentoNovo.jrxml} (65%) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jasper rename src/java/com/rjconsultores/ventaboletos/relatorios/templates/{RelatorioAgenciaFechamentoResumoDiario.jrxml => RelatorioAgenciaFechamentoResumo.jrxml} (90%) delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jasper diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java index 46b5cf5a2..a024a5e80 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java @@ -3,231 +3,65 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; import java.sql.Connection; import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; 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.relatorios.utilitarios.RelatorioAgenciaFechamentoAntigoBean; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; -public class RelatorioAgenciaFechamento extends Relatorio { +public abstract class RelatorioAgenciaFechamento extends Relatorio { - private static Logger log = org.slf4j.LoggerFactory.getLogger(RelatorioAgenciaFechamento.class); - - private List lsDadosRelatorio; + protected List lsDadosRelatorio; + + protected TipoRelatorioFechamentoEnum tipoRelatorio; public RelatorioAgenciaFechamento(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); - - this.setCustomDataSource(new DataSource(this) { - @Override - public void initDados() throws Exception { - - Connection conexao = this.relatorio.getConexao(); - - Map parametros = this.relatorio.getParametros(); - - String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; - String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; - 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); - - log.debug(sql); - - NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); - ResultSet rset1 = null; - ResultSet rset2 = null; - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - 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(); - - agenciaFechamento.setEmpresa(empresaNome); - String puntoVentaId = rset1.getString("codigo"); - agenciaFechamento.setDescricao(rset1.getString("descricao")); - - 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"); - - 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"); - - String strQueryEventoExtra = carregarEventosExtras(puntoVentaId, empresa); - stmt = new NamedParameterStatement(conexao, strQueryEventoExtra); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - rset2 = stmt.executeQuery(); - - if (rset2.next()) { - - 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" - //Colocado isso o erro parou de ocorrer - rset2.getStatement().close(); - rset2.close(); - } - - rset1.close(); - - if (lsDadosRelatorio.size() > 0) { - setLsDadosRelatorio(lsDadosRelatorio); - } - - } - }); - } - - public void setLsDadosRelatorio(List lsDadosRelatorio) { - this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); - this.lsDadosRelatorio = lsDadosRelatorio; } @Override protected void processaParametros() throws Exception { + String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; + String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; + 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; + parametros.put("tipoRelatorio", tipoRelatorio.name()); + lsDadosRelatorio = new ArrayList(); + + carregarDadosTotaisVenda(fecInicio, fecFinal, empresa, empresaNome, puntoVenta); + setLsDadosRelatorio(lsDadosRelatorio); } - private String carregarDadosTotaisdeVenda(String puntoVenta, String empresa) { + public abstract StringBuilder carregarDados(String puntoVenta, String empresa); - StringBuilder sql = new StringBuilder(); - 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(" "); + protected String criarQueryBilhetesVenda(String puntoVenta, String empresa) { + StringBuilder sql = this.carregarDados(puntoVenta, empresa); + return filtrosPadraoQueryRelatorioFechamento(puntoVenta, empresa, sql); + + } + + protected abstract String criarQueryReceitaDespesa(String puntoVenta, String empresa); + + /** + * @param puntoVenta + * @param empresa + * @param sql + */ + protected String filtrosPadraoQueryRelatorioFechamento(String puntoVenta, String empresa, StringBuilder sql) { sql.append(" FROM CAJA c "); sql.append(" INNER JOIN PUNTO_VENTA pv "); sql.append(" ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" LEFT JOIN PUNTO_VENTA PV_GERENCIA ON PV_GERENCIA.PUNTOVENTA_ID = PV.PUNTOVENTAPADRE_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 "); @@ -237,46 +71,149 @@ public class RelatorioAgenciaFechamento extends Relatorio { } sql.append(" AND c.TIPOVENTA_ID <> 6 "); sql.append(" AND c.INDREIMPRESION = 0 "); - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND m.empresa_id = "+empresa+" "); + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND m.empresa_id = " + empresa + " "); } - sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa "); - sql.append(" ORDER BY pv.nombpuntoventa "); + criarGroupByEOrderBy(sql); return sql.toString(); + } + + /** + * @param sql + */ + protected abstract void criarGroupByEOrderBy(StringBuilder sql); + + /** + * @param fecInicio + * @param fecFinal + * @param empresa + * @param empresaNome + * @param puntoVenta + * @throws SQLException + * @throws ParseException + */ + protected void carregarDadosTotaisVenda(String fecInicio, String fecFinal, String empresa, String empresaNome, String puntoVenta) throws SQLException, ParseException { + + NamedParameterStatement stmt = new NamedParameterStatement(getConexao(), criarQueryBilhetesVenda(puntoVenta, empresa)); + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + + ResultSet rset1 = stmt.executeQuery(); + + while (rset1.next()) { + + RelatorioAgenciaFechamentoAntigoBean agenciaFechamento = new RelatorioAgenciaFechamentoAntigoBean(); + BigDecimal total = BigDecimal.ZERO; + BigDecimal vendido = BigDecimal.ZERO; + + String puntoVentaId = rset1.getString("puntoventaId"); + + 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")); + agenciaFechamento.setDescricao(rset1.getString("descricao")); + if (TipoRelatorioFechamentoEnum.DIARIO.equals(tipoRelatorio)) { + agenciaFechamento.setData(rset1.getDate("data")); + } + if (!TipoRelatorioFechamentoEnum.ANTIGO.equals(tipoRelatorio)) { + agenciaFechamento.setSubordinado(rset1.getString("subordinado")); + } + 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); + + carregarDadosReceitaDespesa(fecInicio, fecFinal, empresa, sdf, agenciaFechamento, total, vendido, puntoVentaId); + lsDadosRelatorio.add(agenciaFechamento); + } } - - private String carregarEventosExtras(String puntoVenta, String empresa) { - StringBuilder sql = new StringBuilder(); - 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 = ").append(puntoVenta); + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + /** + * @param fecInicio + * @param fecFinal + * @param empresa + * @param sdf + * @param agenciaFechamento + * @param total + * @param vendido + * @param puntoVentaId + * @throws SQLException + * @throws ParseException + */ + protected void carregarDadosReceitaDespesa(String fecInicio, String fecFinal, String empresa, SimpleDateFormat sdf, RelatorioAgenciaFechamentoAntigoBean agenciaFechamento, BigDecimal total, BigDecimal vendido, String puntoVentaId) throws SQLException, ParseException { + NamedParameterStatement stmt = new NamedParameterStatement(getConexao(), criarQueryReceitaDespesa(puntoVentaId, empresa)); + + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + + ResultSet 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); + + } else { + agenciaFechamento.setQtdeDespesa(NumberUtils.INTEGER_ZERO); + agenciaFechamento.setReceita(BigDecimal.ZERO); + agenciaFechamento.setDespesa(BigDecimal.ZERO); + agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); + agenciaFechamento.setTotal(total); } - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND ee.EMPRESA_ID = "+empresa+" "); - } - - - log.debug(sql.toString()); - - return sql.toString(); + // Estava dando um erro de "máximo de cursores abertos excedido" + // Colocado isso o erro parou de ocorrer + rset2.getStatement().close(); + rset2.close(); } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoAntigo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoAntigo.java index 2ef5c2498..f61dfdba3 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoAntigo.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoAntigo.java @@ -1,165 +1,17 @@ package com.rjconsultores.ventaboletos.relatorios.impl; -import java.math.BigDecimal; import java.sql.Connection; -import java.sql.ResultSet; -import java.text.SimpleDateFormat; -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 com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoAntigoBean; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoBean; -import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; - -public class RelatorioAgenciaFechamentoAntigo extends Relatorio { - - private List lsDadosRelatorio; +public class RelatorioAgenciaFechamentoAntigo extends RelatorioAgenciaFechamento { public RelatorioAgenciaFechamentoAntigo(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); - - this.setCustomDataSource(new DataSource(this) { - @Override - public void initDados() throws Exception { - - Connection conexao = this.relatorio.getConexao(); - - Map parametros = this.relatorio.getParametros(); - - String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; - String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; - 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); - - System.out.println(sql); - - NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); - ResultSet rset1 = null; - ResultSet rset2 = null; - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - rset1= stmt.executeQuery(); - - while (rset1.next()) { - - RelatorioAgenciaFechamentoAntigoBean agenciaFechamento = new RelatorioAgenciaFechamentoAntigoBean(); - 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")); - 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); - String strQueryReceitaDespesas = carregarDadosReceitaDespesa(puntoVentaId, empresa); - stmt = new NamedParameterStatement(conexao, strQueryReceitaDespesas); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - 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); - - } else { - agenciaFechamento.setQtdeDespesa(NumberUtils.INTEGER_ZERO); - agenciaFechamento.setReceita(BigDecimal.ZERO); - agenciaFechamento.setDespesa(BigDecimal.ZERO); - agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); - agenciaFechamento.setTotal(total); - } - - lsDadosRelatorio.add(agenciaFechamento); - //Estava dando um erro de "máximo de cursores abertos excedido" - //Colocado isso o erro parou de ocorrer - rset2.getStatement().close(); - rset2.close(); - } - - if (lsDadosRelatorio.size() > 0) { - - setLsDadosRelatorio(lsDadosRelatorio); - } - - } - }); - } - - public void setLsDadosRelatorio(List lsDadosRelatorio) { - this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); - this.lsDadosRelatorio = lsDadosRelatorio; + tipoRelatorio = TipoRelatorioFechamentoEnum.ANTIGO; } @Override - protected void processaParametros() throws Exception { - } - - private String carregarDadosTotaisdeVenda(String puntoVenta, String empresa) { - + public StringBuilder carregarDados(String puntoVenta, String empresa) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT "); sql.append(" pv.PUNTOVENTA_ID AS codigo, "); @@ -186,43 +38,13 @@ public class RelatorioAgenciaFechamentoAntigo extends Relatorio { sql.append(" "); sql.append(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID is not null and c.MOTIVOCANCELACION_ID = 32 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 "); - 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 "); - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND m.empresa_id = "+empresa+" "); - } - sql.append(" GROUP BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); - sql.append(" ORDER BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); - - return sql.toString(); - + sql.append(" +coalesce(IMPORTETAXAEMBARQUE ,0)+coalesce(c.preciopagado,0)) ELSE NULL END),0) AS devolvido, "); + sql.append(" pv.PUNTOVENTA_ID AS puntoventaId "); + return sql; } - private String carregaAgenciasComVenda() { - - 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, String empresa) { - + @Override + protected String criarQueryReceitaDespesa(String puntoVenta, String empresa) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT "); sql.append(" COALESCE(COUNT(CASE WHEN cdp.IMPORTE < 0 THEN 1 ELSE NULL END),0) as qtdedespesa, "); @@ -238,26 +60,20 @@ public class RelatorioAgenciaFechamentoAntigo extends Relatorio { sql.append(" AND cd.TURNO_ID IS NOT NULL "); sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); if (puntoVenta != null && !puntoVenta.equals("-1")) { - sql.append(" AND cd.PUNTOVENTA_ID = "+puntoVenta+" "); + sql.append(" AND cd.PUNTOVENTA_ID = " + puntoVenta + " "); } - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND ee.EMPRESA_ID = "+empresa+" "); + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND ee.EMPRESA_ID = " + empresa + " "); } - return sql.toString(); + } + + @Override + protected void criarGroupByEOrderBy(StringBuilder sql) { + sql.append(" GROUP BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); + sql.append(" ORDER BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); } - 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/impl/RelatorioAgenciaFechamentoDiario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoDiario.java new file mode 100644 index 000000000..0a43ecbf4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoDiario.java @@ -0,0 +1,75 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.Map; + +public class RelatorioAgenciaFechamentoDiario extends RelatorioAgenciaFechamento { + + public RelatorioAgenciaFechamentoDiario(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + tipoRelatorio = TipoRelatorioFechamentoEnum.DIARIO; + } + + @Override + protected String criarQueryReceitaDespesa(String puntoVenta, String empresa) { + + 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(" AND ee.activo = 1 "); + sql.append(" AND cd.TURNO_ID IS NOT NULL "); + sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + sql.append(" AND cd.PUNTOVENTA_ID = " + puntoVenta + " "); + } + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND ee.EMPRESA_ID = " + empresa + " "); + } + + return sql.toString(); + + } + + @Override + public StringBuilder carregarDados(String puntoVenta, String empresa) { + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT "); + sql.append(" pv.NUMPUNTOVENTA AS codigo, "); + sql.append(" pv.nombpuntoventa AS descricao, "); + sql.append(" c.feccorte AS data, "); + sql.append(" PV_GERENCIA.NUMPUNTOVENTA AS subordinado, "); + 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(" COALESCE(COUNT(CASE WHEN c.INDREMOTOINVERSO = 1 THEN 1 ELSE NULL END),0) AS qtdedigitado, "); + 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 = 32 THEN 1 ELSE NULL END),0) AS qtdeDevolvido, "); + 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(" 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(" 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(" COALESCE(SUM(CASE WHEN c.MOTIVOCANCELACION_ID is not null and c.MOTIVOCANCELACION_ID = 32 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(" pv.PUNTOVENTA_ID AS puntoventaId "); + return sql; + } + + @Override + protected void criarGroupByEOrderBy(StringBuilder sql) { + sql.append(" GROUP BY pv.NUMPUNTOVENTA , pv.nombpuntoventa, pv.puntoventa_id, c.feccorte, PV_GERENCIA.NUMPUNTOVENTA "); + sql.append(" ORDER BY pv.nombpuntoventa, c.feccorte "); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java new file mode 100644 index 000000000..c616a9603 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java @@ -0,0 +1,283 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.math.NumberUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +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 RelatorioAgenciaFechamentoNovo extends Relatorio { + + private static Logger log = LoggerFactory.getLogger(RelatorioAgenciaFechamentoNovo.class); + + private List lsDadosRelatorio; + + public RelatorioAgenciaFechamentoNovo(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; + String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; + 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); + + log.debug(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset1 = null; + ResultSet rset2 = null; + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + + 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(); + + agenciaFechamento.setEmpresa(empresaNome); + String puntoVentaId = rset1.getString("codigo"); + agenciaFechamento.setDescricao(rset1.getString("descricao")); + + 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"); + + 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"); + + String strQueryEventoExtra = carregarEventosExtras(puntoVentaId, empresa); + stmt = new NamedParameterStatement(conexao, strQueryEventoExtra); + + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + + rset2 = stmt.executeQuery(); + + if (rset2.next()) { + + 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" + //Colocado isso o erro parou de ocorrer + rset2.getStatement().close(); + rset2.close(); + } + + rset1.close(); + + if (!lsDadosRelatorio.isEmpty()) { + setLsDadosRelatorio(lsDadosRelatorio); + } + + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String carregarDadosTotaisdeVenda(String puntoVenta, String empresa) { + + StringBuilder sql = new StringBuilder(); + 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 "); + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND m.empresa_id = "+empresa+" "); + } + sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa "); + sql.append(" ORDER BY pv.nombpuntoventa "); + + return sql.toString(); + + } + + private String carregarEventosExtras(String puntoVenta, String empresa) { + + StringBuilder sql = new StringBuilder(); + 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 = ").append(puntoVenta); + } + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND ee.EMPRESA_ID = "+empresa+" "); + } + + + log.debug(sql.toString()); + + return sql.toString(); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumo.java new file mode 100644 index 000000000..f60dec40d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumo.java @@ -0,0 +1,80 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.Map; + +public class RelatorioAgenciaFechamentoResumo extends RelatorioAgenciaFechamento { + + public RelatorioAgenciaFechamentoResumo(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + tipoRelatorio = TipoRelatorioFechamentoEnum.RESUMO; + } + + @Override + protected String criarQueryReceitaDespesa(String puntoVenta, String empresa) { + + 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(" AND ee.activo = 1 "); + sql.append(" AND cd.TURNO_ID IS NOT NULL "); + sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + sql.append(" AND cd.PUNTOVENTA_ID = " + puntoVenta + " "); + } + if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { + sql.append(" AND ee.EMPRESA_ID = " + empresa + " "); + } + + return sql.toString(); + + } + + @Override + public StringBuilder carregarDados(String puntoVenta, String empresa) { + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT "); + sql.append(" pv.NUMPUNTOVENTA AS codigo, "); + sql.append(" pv.nombpuntoventa AS descricao, "); + sql.append(" PV_GERENCIA.NUMPUNTOVENTA AS subordinado, "); + 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 = 32 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 = 32 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(" pv.PUNTOVENTA_ID AS puntoventaId "); + return sql; + } + + @Override + protected void criarGroupByEOrderBy(StringBuilder sql) { + sql.append(" GROUP BY pv.NUMPUNTOVENTA , pv.nombpuntoventa, pv.puntoventa_id, PV_GERENCIA.NUMPUNTOVENTA "); + sql.append(" ORDER BY pv.nombpuntoventa "); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumoDiario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumoDiario.java deleted file mode 100644 index fa70d32aa..000000000 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoResumoDiario.java +++ /dev/null @@ -1,262 +0,0 @@ -package com.rjconsultores.ventaboletos.relatorios.impl; - -import java.math.BigDecimal; -import java.sql.Connection; -import java.sql.ResultSet; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.apache.commons.lang.math.NumberUtils; - -import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoAntigoBean; -import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; - -import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; - -public class RelatorioAgenciaFechamentoResumoDiario extends Relatorio { - - private List lsDadosRelatorio; - - public RelatorioAgenciaFechamentoResumoDiario(Map parametros, Connection conexao) throws Exception { - super(parametros, conexao); - - this.setCustomDataSource(new DataSource(this) { - @Override - public void initDados() throws Exception { - - Connection conexao = this.relatorio.getConexao(); - - Map parametros = this.relatorio.getParametros(); - - String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; - String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; - 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); - - System.out.println(sql); - - NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); - ResultSet rset1 = null; - ResultSet rset2 = null; - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - rset1= stmt.executeQuery(); - - while (rset1.next()) { - - RelatorioAgenciaFechamentoAntigoBean agenciaFechamento = new RelatorioAgenciaFechamentoAntigoBean(); - BigDecimal total = BigDecimal.ZERO; - BigDecimal vendido = BigDecimal.ZERO; - - String puntoVentaId = rset1.getString("puntoventaId"); - - 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")); - 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); - - String strQueryReceitaDespesa = carregarDadosReceitaDespesa(puntoVentaId, empresa); - stmt = new NamedParameterStatement(conexao, strQueryReceitaDespesa); - - stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); - stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); - - 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); - - } else { - agenciaFechamento.setQtdeDespesa(NumberUtils.INTEGER_ZERO); - agenciaFechamento.setReceita(BigDecimal.ZERO); - agenciaFechamento.setDespesa(BigDecimal.ZERO); - agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); - agenciaFechamento.setTotal(total); - } - - lsDadosRelatorio.add(agenciaFechamento); - //Estava dando um erro de "máximo de cursores abertos excedido" - //Colocado isso o erro parou de ocorrer - rset2.getStatement().close(); - rset2.close(); - } - - if (lsDadosRelatorio.size() > 0) { - - setLsDadosRelatorio(lsDadosRelatorio); - } - - } - }); - } - - public void setLsDadosRelatorio(List lsDadosRelatorio) { - this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); - this.lsDadosRelatorio = lsDadosRelatorio; - } - - @Override - protected void processaParametros() throws Exception { - } - - private String carregarDadosTotaisdeVenda(String puntoVenta, String empresa) { - - StringBuilder sql = new StringBuilder(); - sql.append(" SELECT "); - sql.append(" pv.NUMPUNTOVENTA 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 = 32 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 = 32 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(" pv.PUNTOVENTA_ID AS puntoventaId "); - 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 "); - 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 "); - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND m.empresa_id = "+empresa+" "); - } - sql.append(" GROUP BY pv.NUMPUNTOVENTA , pv.nombpuntoventa, pv.puntoventa_id "); - sql.append(" ORDER BY pv.NUMPUNTOVENTA , pv.nombpuntoventa "); - - return sql.toString(); - - } - - private String carregaAgenciasComVenda() { - - 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, String empresa) { - - 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(" AND ee.activo = 1 "); - sql.append(" AND cd.TURNO_ID IS NOT NULL "); - sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); - if (puntoVenta != null && !puntoVenta.equals("-1")) { - sql.append(" AND cd.PUNTOVENTA_ID = "+puntoVenta+" "); - } - if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { - sql.append(" AND ee.EMPRESA_ID = "+empresa+" "); - } - - 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/impl/TipoRelatorioFechamentoEnum.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/TipoRelatorioFechamentoEnum.java new file mode 100644 index 000000000..591098d4e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/TipoRelatorioFechamentoEnum.java @@ -0,0 +1,10 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +public enum TipoRelatorioFechamentoEnum { + + NOVO, + ANTIGO, + RESUMO, + DIARIO; + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_es.properties new file mode 100644 index 000000000..6b19c9a95 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_es.properties @@ -0,0 +1,25 @@ +#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 +header.dataCorte=Data +header.subordinado=Subordinado + +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/RelatorioAgenciaFechamentoResumoDiario_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_pt_BR.properties similarity index 69% rename from src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumoDiario_es.properties rename to src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_pt_BR.properties index d57b22ac6..6a8b4335e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumoDiario_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoDiario_pt_BR.properties @@ -1,12 +1,12 @@ -#geral +#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.codigo=Código +header.descricao=Descrição header.vendido=Vendido header.digitado=Digitado header.anulado=Anulados @@ -14,8 +14,10 @@ header.devolvido=Devolvidos header.receita=Receita header.despesa=Despesa header.total=Total +header.dataCorte=Data +header.subordinado=Subordinado -detail.agencia=AGÊNCIA +detail.agencia=AGÊNCIA detail.quantidade=QUANTIDADE detail.valor=VALOR detail.totalGeral=TOTAL GERAL diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoNovo_es.properties similarity index 100% rename from src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es.properties rename to src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoNovo_es.properties diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoNovo_pt_BR.properties similarity index 100% rename from src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties rename to src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoNovo_pt_BR.properties diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_es.properties new file mode 100644 index 000000000..7827b9cb8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_es.properties @@ -0,0 +1,24 @@ +#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 +header.subordinado=Subordinado + +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/RelatorioAgenciaFechamentoResumoDiario_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_pt_BR.properties similarity index 87% rename from src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumoDiario_pt_BR.properties rename to src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_pt_BR.properties index 3aa97e55b..7012c57f2 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumoDiario_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamentoResumo_pt_BR.properties @@ -14,6 +14,7 @@ header.devolvido=Devolvidos header.receita=Receita header.despesa=Despesa header.total=Total +header.subordinado=Subordinado detail.agencia=AGÊNCIA detail.quantidade=QUANTIDADE diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper deleted file mode 100644 index ef60d8b67837f992eb2fae2f3a0902504bd77206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52668 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 L>@t&&o)iNBrhPPR delta 137 zcmaDpnfdl)<_!}wq@;pUa}rDPi!$>a(^K=3GZWoXlQR-?Q}aqTZ_K!!WO z3=DdVix?U7aVpM_H#D^{FflZ+G%>ccG>bPkF*Y+c*?e}&6%!E*;SvU;$%gDQlP{hW F0|4+gFQotg diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoAntigo.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoAntigo.jrxml index bc32bbbee..48611d9d2 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoAntigo.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoAntigo.jrxml @@ -1,5 +1,5 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jasper new file mode 100644 index 0000000000000000000000000000000000000000..0142b47fd184296a641cb474f1db41c6ff148e7f GIT binary patch literal 53910 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jrxml new file mode 100644 index 000000000..b9a389cf8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoDiario.jrxml @@ -0,0 +1,526 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jasper new file mode 100644 index 0000000000000000000000000000000000000000..6d8744be3c8554091d814a6834b326914407f3e2 GIT binary patch literal 52178 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 Cm88J{ literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jrxml similarity index 65% rename from src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jrxml rename to src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jrxml index fe2003bd3..45eb76bdc 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoNovo.jrxml @@ -1,5 +1,5 @@ - + @@ -80,170 +80,171 @@ - + - + + - + - + + - + + - - - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -254,105 +255,105 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -363,108 +364,108 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -475,7 +476,8 @@ - + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jasper new file mode 100644 index 0000000000000000000000000000000000000000..3fdb078cb7bce0a2acd7b630cbdfcbb6705aa51e GIT binary patch literal 53116 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 UY*^7G_s`{HopYty1K0fj0CqNH`2YX_ literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jrxml similarity index 90% rename from src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jrxml rename to src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jrxml index ad7869646..d0c58657f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumo.jrxml @@ -1,5 +1,5 @@ - + @@ -31,6 +31,7 @@ + @@ -160,105 +161,105 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -270,115 +271,131 @@ + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamentoResumoDiario.jasper deleted file mode 100644 index ed98b8d9111cb536187d0664436035b4538c9baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51993 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 BB;Wu5 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoAntigoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoAntigoBean.java index eb1983c99..c823e7690 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoAntigoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoAntigoBean.java @@ -1,6 +1,7 @@ package com.rjconsultores.ventaboletos.relatorios.utilitarios; import java.math.BigDecimal; +import java.util.Date; public class RelatorioAgenciaFechamentoAntigoBean { protected String empresa; @@ -20,6 +21,8 @@ public class RelatorioAgenciaFechamentoAntigoBean { protected BigDecimal receita; protected BigDecimal despesa; protected BigDecimal total; + protected Date data; + protected String subordinado; public String getEmpresa() { return empresa; @@ -119,5 +122,17 @@ public class RelatorioAgenciaFechamentoAntigoBean { public void setTotal(BigDecimal total) { this.total = total; } + public Date getData() { + return data; + } + public void setData(Date data) { + this.data = data; + } + public String getSubordinado() { + return subordinado; + } + public void setSubordinado(String subordinado) { + this.subordinado = subordinado; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java index 33d959eac..ab3944788 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java @@ -24,9 +24,10 @@ import org.zkoss.zul.Radio; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamento; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamentoAntigo; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamentoResumoDiario; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamentoDiario; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamentoNovo; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamentoResumo; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; @@ -62,14 +63,14 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos private Radio radLayoutNovo; private Radio radLayoutAntigo; - private Radio radLayoutResumoDiario; + private Radio radLayoutDiario; + private Radio radLayoutResumo; private List lsEmpresas; private void executarRelatorio() throws Exception { Map parametros = new HashMap(); - Boolean booleanLayout = false; Empresa empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa)cmbEmpresa.getSelectedItem().getValue() : null; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); @@ -102,15 +103,18 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos Relatorio relatorio; Map args = new HashMap(); if (radLayoutNovo.isChecked()) { - relatorio = new RelatorioAgenciaFechamento(parametros, dataSourceRead.getConnection()); + relatorio = new RelatorioAgenciaFechamentoNovo(parametros, dataSourceRead.getConnection()); args.put("relatorio", relatorio); }else if (radLayoutAntigo.isChecked()){ relatorio = new RelatorioAgenciaFechamentoAntigo(parametros, dataSourceRead.getConnection()); args.put("relatorio", relatorio); + } else if(radLayoutDiario.isChecked()) { + relatorio = new RelatorioAgenciaFechamentoDiario(parametros, dataSourceRead.getConnection()); + args.put("relatorio", relatorio); } else { - relatorio = new RelatorioAgenciaFechamentoResumoDiario(parametros, dataSourceRead.getConnection()); + relatorio = new RelatorioAgenciaFechamentoResumo(parametros, dataSourceRead.getConnection()); args.put("relatorio", relatorio); } @@ -208,11 +212,11 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos this.radLayoutAntigo = radLayoutAntigo; } - public Radio getRadLayoutResumoDiario() { - return radLayoutResumoDiario; + public Radio getRadLayoutDiario() { + return radLayoutDiario; } - public void setRadLayoutResumoDiario(Radio radLayoutResumoDiario) { - this.radLayoutResumoDiario = radLayoutResumoDiario; + public void setRadLayoutDiario(Radio radLayoutDiario) { + this.radLayoutDiario = radLayoutDiario; } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciasNaoImportadasController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciasNaoImportadasController.java index 6ca9b19f3..969831596 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciasNaoImportadasController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciasNaoImportadasController.java @@ -1,10 +1,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.sql.DataSource; @@ -14,27 +11,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.zkoss.util.resource.Labels; -import org.zkoss.zhtml.Messagebox; -import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; -import org.zkoss.zul.Bandbox; import org.zkoss.zul.Datebox; -import org.zkoss.zul.Paging; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamento; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciasNaoImportadas; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.service.EmpresaService; -import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; -import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; -import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; -import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; -import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; @Controller("relatorioAgenciasNaoImportadasController") @Scope("prototype") diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioController.java index ca8456fb5..3258f590e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioController.java @@ -97,7 +97,7 @@ public class RelatorioController extends MyGenericForwardComposer { try { this.relatorio = (Relatorio) Executions.getCurrent().getArg().get("relatorio"); - if (relatorio.getInfoMsg().size() > 0) { + if (!relatorio.getInfoMsg().isEmpty()) { String msg = ""; for (String msgItem : relatorio.getInfoMsg()) msg = msg.concat(msgItem + "\n"); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index d553e1cc8..20735a4d3 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -788,7 +788,8 @@ relatorioVendasBilheteiroController.lbBilheteiro.value = Agente de Pasajes relatorioVendasBilheteiroController.lbLayout.value = Layout relatorioVendasBilheteiroController.lbLayoutNovo.value = Novo relatorioVendasBilheteiroController.lbLayoutAntigo.value = Antigo -relatorioVendasBilheteiroController.lbLayoutResumoDiario.value = Resumo Diário +relatorioVendasBilheteiroController.lbLayoutDiario.value = Diario +relatorioVendasBilheteiroController.lbLayoutResumo.value = Resumo #Relatório de Vendas por bilheteiro Sintético relatorioVendasBilheteiroSinteticoController.window.title = Reporte de ventas por agentes sintético diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index ecde1046f..cae39e735 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -830,7 +830,8 @@ relatorioVendasBilheteiroController.lbBilheteiro.value = Bilheteiro relatorioVendasBilheteiroController.lbLayout.value = Layout relatorioVendasBilheteiroController.lbLayoutNovo.value = Novo relatorioVendasBilheteiroController.lbLayoutAntigo.value = Antigo -relatorioVendasBilheteiroController.lbLayoutResumoDiario.value = Resumo Diário +relatorioVendasBilheteiroController.lbLayoutDiario.value = Diário +relatorioVendasBilheteiroController.lbLayoutResumo.value = Resumo #Relatório de Vendas por bilheteiro Sintético relatorioVendasBilheteiroSinteticoController.window.title = Relatório de Vendas por Bilheteiro Sintético diff --git a/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul index 775124ecb..8792bebce 100644 --- a/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul +++ b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul @@ -7,8 +7,8 @@ + contentStyle="overflow:auto" height="283px" width="800px" + border="normal" sizable="true"> @@ -82,7 +82,8 @@ - + +