From dc749ee1325579ee5f1a383fcc0e28c3f67ac47d Mon Sep 17 00:00:00 2001 From: valdevir Date: Sun, 22 Nov 2020 16:00:40 +0000 Subject: [PATCH] fixes bug#00000 qua: dev: Gerado apenas novo Jasper para testes. git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104429 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../RelatorioAproveitamentoFinanceiro.java | 11 +- .../RelatorioAproveitamentosFinanceiros.java | 241 --- ...proveitamentosFinanceiros_pt_BR.properties | 13 - ...RelatorioAproveitamentosFinanceiros.jasper | Bin 126896 -> 0 bytes .../RelatorioAproveitamentosFinanceiros.jrxml | 1704 ----------------- ...rioAproveitamentoFinanceiroController.java | 4 +- 6 files changed, 9 insertions(+), 1964 deletions(-) delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentosFinanceiros.java delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamentosFinanceiros_pt_BR.properties delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jasper delete mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jrxml diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java index d1efda8a8..552a51d7d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java @@ -11,6 +11,8 @@ import java.util.Date; import java.util.HashMap; import java.util.Map; +import org.apache.log4j.Logger; + import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.utilerias.DateUtil; @@ -19,8 +21,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; public class RelatorioAproveitamentoFinanceiro extends Relatorio { - private final BigDecimal cem = new BigDecimal("100"); - + private static Logger log = Logger.getLogger(RelatorioAproveitamentoFinanceiro.class); + public RelatorioAproveitamentoFinanceiro(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -159,6 +161,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { viagens = viagens.add(domQtde); dataResult.put("VIAGENS", viagens); + log.info("VIAGENS: " + viagens.toString() ); dataResult.put("ASSENTOS", assentos); dataResult.put("TARIFA", tarifa); dataResult.put("TOT_PASSAGEIROS", totPassageiros); @@ -201,7 +204,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { this.dados.add(dataResult); } - + this.resultSet = rset; } }); @@ -230,7 +233,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { } BigDecimal fin = totReceita.divide(dividendo, 4, BigDecimal.ROUND_HALF_UP); - fin = fin.multiply(cem); + fin = fin.multiply(new BigDecimal(new Long(100L))); fin.setScale(2); return fin; }else{ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentosFinanceiros.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentosFinanceiros.java deleted file mode 100644 index 57f94dc32..000000000 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentosFinanceiros.java +++ /dev/null @@ -1,241 +0,0 @@ -/** - * - */ -package com.rjconsultores.ventaboletos.relatorios.impl; - -import java.math.BigDecimal; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Timestamp; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; -import com.rjconsultores.ventaboletos.utilerias.DateUtil; -import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; - - -public class RelatorioAproveitamentosFinanceiros extends Relatorio { - - private final BigDecimal cem = new BigDecimal("100"); - - public RelatorioAproveitamentosFinanceiros(Map parametros, Connection conexao) throws Exception { - super(parametros, conexao); - - this.setCustomDataSource(new ArrayDataSource(this) { - @Override - public void initDados() throws Exception { - - Connection conexao = this.relatorio.getConexao(); - Map parametros = this.relatorio.getParametros(); - - StringBuilder sql = new StringBuilder(); - - sql.append("select * from ( "); - sql.append(" SELECT "); - sql.append(" r.DESCRUTA as linha, "); - sql.append(" count( c.caja_id) as passageiros, "); - sql.append(" sum( c.PRECIOPAGADO )as valor, "); - sql.append(" to_char( c.FECHORVENTA, 'DY') as dia, "); - sql.append(" count(DISTINCT to_char( c.FECHORVENTA, 'WW')) as qtde, "); - sql.append(" r.indsentidoida as sentido, "); - sql.append(" da.cantasientos as assentos, "); - sql.append(" TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi') as horario, "); - sql.append(" c.CORRIDA_ID as servico, "); - sql.append(" max(c.preciobase) as tarifa "); - sql.append(" FROM CAJA c "); - sql.append(" inner join corrida co "); - sql.append(" on c.CORRIDA_ID = co.CORRIDA_ID "); - sql.append(" and c.FECCORRIDA = co.FECCORRIDA "); - sql.append(" and co.ACTIVO = 1 "); - sql.append(" inner join ruta r "); - sql.append(" on c.RUTA_ID = r.RUTA_ID "); - sql.append(" and r.ACTIVO = 1 "); - sql.append(" inner join MARCA m "); - sql.append(" on m.marca_id = c.marca_id "); - sql.append(" and m.activo = 1 "); - sql.append(" left join rol_operativo ro "); - sql.append(" on ro.roloperativo_id = co.roloperativo_id "); - sql.append(" left join diagrama_autobus da "); - sql.append(" on ro.diagramaautobus_id = da.diagramaautobus_id "); - sql.append(" WHERE c.activo = 1 "); - sql.append(" AND m.EMPRESA_ID = :EMPRESA_ID "); - sql.append(" and c.FECHORVENTA >= :DATA_INICIAL "); - sql.append(" and c.FECHORVENTA <= :DATA_FINAL "); - - if (parametros.get("LINHAS") != null && !possuiFiltroTodos("LINHAS")) { - sql.append(" and c.ruta_id IN (" + parametros.get("LINHAS").toString() + ")"); - } - - sql.append(" and c.MOTIVOCANCELACION_ID is null "); - sql.append(" and c.INDSTATUSBOLETO = 'V' "); - sql.append(" GROUP by r.DESCRUTA, r.indsentidoida, da.cantasientos, "); - sql.append(" to_char( c.FECHORVENTA, 'DY'), TO_CHAR(co.fechorsalidaoriginal ,'HH24:mi'), "); - sql.append(" c.CORRIDA_ID "); - sql.append(" ORDER by r.DESCRUTA, r.indsentidoida desc, to_char( c.FECHORVENTA, 'DY') "); - sql.append(" ) "); - sql.append("PIVOT "); - sql.append("( "); - sql.append(" max(valor) receita_ope, "); - sql.append(" count(qtde) qtde, "); - sql.append(" max(passageiros) tot "); - sql.append(" for dia in ('SEG', 'TER', 'QUA', 'QUI', 'SEX', 'SAB', 'DOM') "); - sql.append(") "); - - NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); - - stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); - stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); - stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); - - ResultSet rset = stmt.executeQuery(); - - rset.setFetchSize(500); - - while (rset.next()) { - - Map dataResult = new HashMap(); - - dataResult.put("LINHA", rset.getString("linha")); - dataResult.put("SENTIDO", rset.getString("sentido")); - dataResult.put("SERVICO", rset.getString("servico")); - dataResult.put("HORARIO", rset.getString("horario")); - - BigDecimal assentos = limpaNulo(rset.getBigDecimal("assentos")); - BigDecimal tarifa = limpaNulo(rset.getBigDecimal("tarifa")); - BigDecimal totPassageiros = BigDecimal.ZERO; - BigDecimal totReceita = BigDecimal.ZERO; - BigDecimal viagens = BigDecimal.ZERO; - - BigDecimal segReceitaOpe = limpaNulo(rset.getBigDecimal("'SEG'_RECEITA_OPE")); - BigDecimal segQtde = limpaNulo(rset.getBigDecimal("'SEG'_QTDE")); - BigDecimal segTot = limpaNulo(rset.getBigDecimal("'SEG'_TOT")); - totPassageiros = totPassageiros.add(segTot); - totReceita = totReceita.add(segReceitaOpe); - viagens = viagens.add(segQtde); - - BigDecimal terReceitaOpe = limpaNulo(rset.getBigDecimal("'TER'_RECEITA_OPE")); - BigDecimal terQtde = limpaNulo(rset.getBigDecimal("'TER'_QTDE")); - BigDecimal terTot = limpaNulo(rset.getBigDecimal("'TER'_TOT")); - totPassageiros = totPassageiros.add(terTot); - totReceita = totReceita.add(terReceitaOpe); - viagens = viagens.add(terQtde); - - BigDecimal quaReceitaOpe = limpaNulo(rset.getBigDecimal("'QUA'_RECEITA_OPE")); - BigDecimal quaQtde = limpaNulo(rset.getBigDecimal("'QUA'_QTDE")); - BigDecimal quaTot = limpaNulo(rset.getBigDecimal("'QUA'_TOT")); - totPassageiros = totPassageiros.add(quaTot); - totReceita = totReceita.add(quaReceitaOpe); - viagens = viagens.add(quaQtde); - - BigDecimal quiReceitaOpe = limpaNulo(rset.getBigDecimal("'QUI'_RECEITA_OPE")); - BigDecimal quiQtde = limpaNulo(rset.getBigDecimal("'QUI'_QTDE")); - BigDecimal quiTot = limpaNulo(rset.getBigDecimal("'QUI'_TOT")); - totPassageiros = totPassageiros.add(quiTot); - totReceita = totReceita.add(quiReceitaOpe); - viagens = viagens.add(quiQtde); - - BigDecimal sexReceitaOpe = limpaNulo(rset.getBigDecimal("'SEX'_RECEITA_OPE")); - BigDecimal sexQtde = limpaNulo(rset.getBigDecimal("'SEX'_QTDE")); - BigDecimal sexTot = limpaNulo(rset.getBigDecimal("'SEX'_TOT")); - totPassageiros = totPassageiros.add(sexTot); - totReceita = totReceita.add(sexReceitaOpe); - viagens = viagens.add(sexQtde); - - BigDecimal sabReceitaOpe = limpaNulo(rset.getBigDecimal("'SAB'_RECEITA_OPE")); - BigDecimal sabQtde = limpaNulo(rset.getBigDecimal("'SAB'_QTDE")); - BigDecimal sabTot = limpaNulo(rset.getBigDecimal("'SAB'_TOT")); - totPassageiros = totPassageiros.add(sabTot); - totReceita = totReceita.add(sabReceitaOpe); - viagens = viagens.add(sabQtde); - - BigDecimal domReceitaOpe = limpaNulo(rset.getBigDecimal("'DOM'_RECEITA_OPE")); - BigDecimal domQtde = limpaNulo(rset.getBigDecimal("'DOM'_QTDE")); - BigDecimal domTot = limpaNulo(rset.getBigDecimal("'DOM'_TOT")); - totPassageiros = totPassageiros.add(domTot); - totReceita = totReceita.add(domReceitaOpe); - viagens = viagens.add(domQtde); - - dataResult.put("VIAGENS", viagens); - dataResult.put("ASSENTOS", assentos); - dataResult.put("TARIFA", tarifa); - dataResult.put("TOT_PASSAGEIROS", totPassageiros); - dataResult.put("TOT_RECEITA", totReceita); - - dataResult.put("SEG_RECEITA_OPE", segReceitaOpe); - dataResult.put("SEG_QTDE", segQtde); - dataResult.put("SEG_TOT", segTot); - dataResult.put("SEG_FIN", calculaMedia(segReceitaOpe, tarifa, segQtde, segTot)); - - dataResult.put("TER_RECEITA_OPE", terReceitaOpe); - dataResult.put("TER_QTDE", terQtde); - dataResult.put("TER_TOT", terTot); - dataResult.put("TER_FIN", calculaMedia(terReceitaOpe, tarifa, terQtde, terTot)); - - dataResult.put("QUA_RECEITA_OPE", quaReceitaOpe); - dataResult.put("QUA_QTDE", quaQtde); - dataResult.put("QUA_TOT", quaTot); - dataResult.put("QUA_FIN", calculaMedia(quaReceitaOpe, tarifa, quaQtde, quaTot)); - - dataResult.put("QUI_RECEITA_OPE", quiReceitaOpe); - dataResult.put("QUI_QTDE", quiQtde); - dataResult.put("QUI_TOT", quiTot); - dataResult.put("QUI_FIN", calculaMedia(quiReceitaOpe, tarifa, quiQtde, quiTot)); - - dataResult.put("SEX_RECEITA_OPE", sexReceitaOpe); - dataResult.put("SEX_QTDE", sexQtde); - dataResult.put("SEX_TOT", sexTot); - dataResult.put("SEX_FIN", calculaMedia(sexReceitaOpe, tarifa, sexQtde, sexTot)); - - dataResult.put("SAB_RECEITA_OPE", sabReceitaOpe); - dataResult.put("SAB_QTDE", sabQtde); - dataResult.put("SAB_TOT", sabTot); - dataResult.put("SAB_FIN", calculaMedia(sabReceitaOpe, tarifa, sabQtde, sabTot)); - - dataResult.put("DOM_RECEITA_OPE", domReceitaOpe); - dataResult.put("DOM_QTDE", domQtde); - dataResult.put("DOM_TOT", domTot); - dataResult.put("DOM_FIN", calculaMedia(domReceitaOpe, tarifa, domQtde, domTot)); - - this.dados.add(dataResult); - } - - this.resultSet = rset; - } - }); - } - - @Override - protected void processaParametros() throws Exception { - - } - - private BigDecimal limpaNulo( BigDecimal val ) { - if( val == null ) { - return BigDecimal.ZERO; - }else { - return val; - } - } - - private BigDecimal calculaMedia(BigDecimal totReceita, BigDecimal tarifa, BigDecimal qtde, BigDecimal tot) { - if( qtde.intValue() != 0 && tot.intValue() !=0 ) { - BigDecimal dividendo = tarifa.multiply(qtde); - dividendo = dividendo.multiply(tot); - - if(dividendo.intValue() == 0 ) { - return BigDecimal.ZERO; - } - - BigDecimal fin = totReceita.divide(dividendo, 4, BigDecimal.ROUND_HALF_UP); - fin = fin.multiply(cem); - fin.setScale(2); - return fin; - }else{ - return BigDecimal.ZERO; - } - } - -} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamentosFinanceiros_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamentosFinanceiros_pt_BR.properties deleted file mode 100644 index 03412d849..000000000 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamentosFinanceiros_pt_BR.properties +++ /dev/null @@ -1,13 +0,0 @@ -#geral -msg.noData=Não foi possivel obter dados com os parâmetros informados. - - -#Labels cabeçalho -cabecalho.relatorio=Relatório: -cabecalho.periodo=Período: -cabecalho.periodoA=à -cabecalho.dataHora=Data/Hora: -cabecalho.impressorPor=Impresso por: -cabecalho.pagina=Página -cabecalho.de=de -cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jasper deleted file mode 100644 index 4a0f77d055f07d82dba6b13acfef17452065c23c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126896 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jrxml deleted file mode 100644 index 55fa51b98..000000000 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentosFinanceiros.jrxml +++ /dev/null @@ -1,1704 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 ? ($F{TOT_RECEITA}.divide ( - $F{TARIFA}.multiply( - $F{VIAGENS}.multiply( - $F{ASSENTOS} - ) - ) -, 2, BigDecimal.ROUND_HALF_UP ) -.multiply( new BigDecimal("100") )) : new BigDecimal(0)]]> - - - - 0 ? ($F{TOT_RECEITA}.divide ( - $F{TARIFA}.multiply( - $F{VIAGENS}.multiply( - $F{ASSENTOS} - ) - ) -, 2, BigDecimal.ROUND_HALF_UP ) -.multiply( new BigDecimal("100") )) : new BigDecimal(0)]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoFinanceiroController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoFinanceiroController.java index 1d948eaa7..1e81c42f5 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoFinanceiroController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAproveitamentoFinanceiroController.java @@ -25,7 +25,7 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Ruta; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAproveitamentosFinanceiros; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAproveitamentoFinanceiro; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -155,7 +155,7 @@ public class RelatorioAproveitamentoFinanceiroController extends MyGenericForwar } parametros.put("FILTROS", filtro.toString()); - relatorio = new RelatorioAproveitamentosFinanceiros(parametros, dataSourceRead.getConnection()); + relatorio = new RelatorioAproveitamentoFinanceiro(parametros, dataSourceRead.getConnection()); Map args = new HashMap(); args.put("relatorio", relatorio);