diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java index 7d9dcb3d5..d1efda8a8 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java @@ -42,7 +42,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { 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(c.fechorviaje ,'HH24:mi') as horario, "); + 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 "); @@ -72,13 +72,13 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { 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(c.fechorviaje ,'HH24:mi'), "); + 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(" 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') "); @@ -167,37 +167,37 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { dataResult.put("SEG_RECEITA_OPE", segReceitaOpe); dataResult.put("SEG_QTDE", segQtde); dataResult.put("SEG_TOT", segTot); - dataResult.put("SEG_FIN", calculaMedia(totReceita, segReceitaOpe, viagens)); + 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(totReceita, terReceitaOpe, viagens)); + 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(totReceita, quaReceitaOpe, viagens)); + 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(totReceita, quiReceitaOpe, viagens)); + 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( totReceita, sexReceitaOpe, viagens)); + 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(totReceita, sabReceitaOpe, viagens)); + 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(totReceita, domReceitaOpe, domQtde)); + dataResult.put("DOM_FIN", calculaMedia(domReceitaOpe, tarifa, domQtde, domTot)); this.dados.add(dataResult); } @@ -220,9 +220,10 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { } } - private BigDecimal calculaMedia(BigDecimal totReceita, BigDecimal receitaOpe, BigDecimal qtde) { - if( qtde.intValue() != 0 ) { - BigDecimal dividendo = receitaOpe.multiply(qtde); + 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; diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jasper index 0d92e5807..9c8355916 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jrxml index 8557d628b..b5e3a45c9 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamentoFinanceiro.jrxml @@ -2,7 +2,7 @@ - +