diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index c27f3badc..b918577df 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -80,6 +80,25 @@ public class RelatorioLinhasHorario extends Relatorio { List lsDadosRelatorio = new ArrayList(); + BigDecimal totalPassagens = BigDecimal.ZERO; + BigDecimal totalSeguro = BigDecimal.ZERO; + BigDecimal totalBagagens = BigDecimal.ZERO; + BigDecimal totalSeuroOpcional = BigDecimal.ZERO; + BigDecimal totalTotal = BigDecimal.ZERO; + BigDecimal totalOrdinario = BigDecimal.ZERO; + BigDecimal totalExtra = BigDecimal.ZERO; + BigDecimal totalViagem = BigDecimal.ZERO; + BigDecimal totalKmRodado = BigDecimal.ZERO; + BigDecimal totalAbsoluto = BigDecimal.ZERO; + BigDecimal totalEquivalente = BigDecimal.ZERO; + BigDecimal mediaMPA = BigDecimal.ZERO; + BigDecimal mediaMPE = BigDecimal.ZERO; + BigDecimal mediaRsPorKm = BigDecimal.ZERO; + BigDecimal totalEQ = BigDecimal.ZERO; + BigDecimal mediaRSPorViagem = BigDecimal.ZERO; + BigDecimal totalPaxKMOfertado = BigDecimal.ZERO; + BigDecimal totalPaxKMTransportado = BigDecimal.ZERO; + BigDecimal totalIAP = BigDecimal.ZERO; while (rset.next()) { RelatorioLinhasHorarioBean horarioBean = new RelatorioLinhasHorarioBean(); @@ -130,9 +149,50 @@ public class RelatorioLinhasHorario extends Relatorio { horarioBean.setExtensao(horarioBean.getExtensaoTrecho()); lsDadosRelatorio.add(horarioBean); - } - parametros.put("lsDadosRelatorio", lsDadosRelatorio); + totalPassagens = totalPassagens.add(horarioBean.getPassagens() != null ? horarioBean.getPassagens() : BigDecimal.ZERO); + totalSeguro = totalSeguro.add(horarioBean.getSeguro() != null ? horarioBean.getSeguro() : BigDecimal.ZERO); + totalBagagens = totalBagagens.add(horarioBean.getBagagens() != null ? horarioBean.getBagagens() : BigDecimal.ZERO); + totalSeuroOpcional = totalSeuroOpcional.add(horarioBean.getSegOpc() != null ? horarioBean.getSegOpc() : BigDecimal.ZERO); + totalTotal = totalTotal.add(horarioBean.getTotal() != null ? horarioBean.getTotal() : BigDecimal.ZERO); + totalOrdinario = totalOrdinario.add(horarioBean.getOrd() != null ? horarioBean.getOrd() : BigDecimal.ZERO); + totalExtra = totalExtra.add(horarioBean.getExtra() != null ? horarioBean.getExtra() : BigDecimal.ZERO); + totalViagem = totalViagem.add(horarioBean.getTotalViagem() != null ? horarioBean.getTotalViagem() : BigDecimal.ZERO); + totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO); + totalAbsoluto = totalAbsoluto.add(horarioBean.getAbsol() != null ? horarioBean.getAbsol() : BigDecimal.ZERO); + totalEquivalente = totalEquivalente.add(horarioBean.getEquivalente() != null ? horarioBean.getEquivalente() : BigDecimal.ZERO); + mediaMPA = mediaMPA.add(horarioBean.getMpa() != null ? horarioBean.getMpa() : BigDecimal.ZERO); + mediaMPE = mediaMPE.add(horarioBean.getMpe() != null ? horarioBean.getMpe() : BigDecimal.ZERO); + mediaRsPorKm = mediaRsPorKm.add(horarioBean.getRsKm() != null ? horarioBean.getRsKm() : BigDecimal.ZERO); + totalEQ = totalEQ.add(horarioBean.getEq() != null ? horarioBean.getEq() : BigDecimal.ZERO); + mediaRSPorViagem = mediaRSPorViagem.add(horarioBean.getRsViagem() != null ? horarioBean.getRsViagem() : BigDecimal.ZERO); + totalPaxKMOfertado = totalPaxKMOfertado.add(horarioBean.getPaxKmOfertado() != null ? horarioBean.getPaxKmOfertado() : BigDecimal.ZERO); + totalPaxKMTransportado = totalPaxKMTransportado.add(horarioBean.getPaxKmTransportado() != null ? horarioBean.getPaxKmTransportado() : BigDecimal.ZERO); + totalIAP = totalIAP.add(horarioBean.getIap() != null ? horarioBean.getIap() : BigDecimal.ZERO); + } + + BigDecimal qtdeRegistros = new BigDecimal(lsDadosRelatorio.size()); + + parametros.put("lsDadosRelatorio", lsDadosRelatorio); + parametros.put("TOTAL_PASSAGENS", totalPassagens); + parametros.put("TOTAL_SEGURO", totalSeguro); + parametros.put("TOTAL_BAGAGENS", totalBagagens); + parametros.put("TOTAL_SEURO_OPCIONAL", totalSeuroOpcional); + parametros.put("TOTAL_TOTAL", totalTotal); + parametros.put("TOTAL_ORDINARIO", totalOrdinario); + parametros.put("TOTAL_EXTRA", totalExtra); + parametros.put("TOTAL_VIAGEM", totalViagem); + parametros.put("TOTAL_KM_RODADO", totalKmRodado); + parametros.put("TOTAL_ABSOLUTO", totalAbsoluto); + parametros.put("TOTAL_EQUIVALENTE", totalEquivalente); + parametros.put("MEDIA_MPA", mediaMPA.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); + parametros.put("MEDIA_MPE", mediaMPE.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); + parametros.put("MEDIA_RS_POR_KM", mediaRsPorKm.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); + parametros.put("TOTAL_EQ", totalEQ); + parametros.put("MEDIA_RS_POR_VIAGEM", mediaRSPorViagem.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); + parametros.put("TOTAL_PAX_KM_OFERTADO", totalPaxKMOfertado); + parametros.put("TOTAL_PAX_KM_TRANSPORTADO", totalPaxKMTransportado); + parametros.put("TOTAL_IAP", totalIAP); } }); @@ -274,6 +334,7 @@ public class RelatorioLinhasHorario extends Relatorio { StringBuffer sql = new StringBuffer(); sql.append(" SELECT "); + sql.append(" R.RUTA_ID, "); sql.append(" NVL(GR.DESCGRUPO, 'Não Informado') AS GRUPO_RUTA, "); sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI') AS HORA, "); sql.append(" C.CORRIDA_ID AS SERVICO, "); @@ -342,7 +403,7 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" ON ( EE.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND EE.FECCORRIDA = C.FECCORRIDA "); sql.append(" AND EE.TIPOEVENTOEXTRA_ID = 1 ) "); - sql.append(" WHERE CJ.MOTIVOCANCELACION_ID IS NULL AND CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" WHERE CJ.PRECIOBASE>0 AND CJ.MOTIVOCANCELACION_ID IS NULL AND CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); sql.append(" AND TB1.RUTA_ID = C.RUTA_ID "); sql.append(" AND TB2.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND TB3.CORRIDA_ID = C.CORRIDA_ID "); @@ -387,6 +448,7 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" AND CS.ACTIVO = 1 "); sql.append(" GROUP BY "); + sql.append(" R.RUTA_ID, "); sql.append(" NVL(GR.DESCGRUPO, 'Não Informado'), "); sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI'), "); sql.append(" C.CORRIDA_ID, "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties index 490339664..c61e44845 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties @@ -4,12 +4,12 @@ msg.a= #Labels header header.titulo.relatorio=Resumo de Linhas por Horário - RLH -header.periodo=Período: -header.data.hora=Data/Hora: -header.pagina=Página: -header.filtro=Filtro: -header.filtro.servico=Serviço: -header.filtro.linha=Linha: +header.periodo=Per\u00EDodo\: +header.data.hora=Data/Hora\: +header.pagina=P\u00E1gina\: +header.filtro=Filtro\: +header.filtro.servico=Servi\u00E7o\: +header.filtro.linha=Linha\: #Labels detail @@ -41,7 +41,7 @@ detail.mpe=MPE detail.rsKm=R$/Km detail.eq=Eq. detail.rsViagem=R$/Viagem -detail.paxOfer=Pax.Km Ofertado +detail.paxOfer=Pax.Km Ofer. detail.paxTrans=Pax.Km Transportado detail.iap=IAP% diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper index ffdde2e83..4aad481fc 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml index b537c88f3..bc5375f9e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml @@ -1,7 +1,7 @@ - + @@ -44,6 +44,25 @@ + + + + + + + + + + + + + + + + + + + @@ -349,10 +368,10 @@ - + - + @@ -552,6 +571,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java index a324e55a1..08e11f162 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java @@ -90,7 +90,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getServico() { - return servico; + return servico == null ? BigDecimal.ZERO : servico; } public void setServico(BigDecimal servico) { @@ -106,7 +106,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getLot() { - return lot; + return lot == null ? BigDecimal.ZERO : lot; } public void setLot(BigDecimal lot) { @@ -122,7 +122,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getExtensaoTrecho() { - return extensaoTrecho; + return extensaoTrecho == null ? BigDecimal.ZERO : extensaoTrecho; } public void setExtensaoTrecho(BigDecimal extensaoTrecho) { @@ -130,7 +130,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getExtensao() { - return extensao; + return extensao == null ? BigDecimal.ZERO : extensao; } public void setExtensao(BigDecimal extensao) { @@ -138,7 +138,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getTarifa() { - return tarifa; + return tarifa == null ? BigDecimal.ZERO : tarifa; } public void setTarifa(BigDecimal tarifa) { @@ -146,7 +146,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getPassagens() { - return passagens; + return passagens == null ? BigDecimal.ZERO : passagens; } public void setPassagens(BigDecimal passagens) { @@ -154,7 +154,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getSeguro() { - return seguro; + return seguro == null ? BigDecimal.ZERO : seguro; } public void setSeguro(BigDecimal seguro) { @@ -162,7 +162,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getBagagens() { - return bagagens; + return bagagens == null ? BigDecimal.ZERO : bagagens; } public void setBagagens(BigDecimal bagagens) { @@ -170,7 +170,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getSegOpc() { - return segOpc; + return segOpc == null ? BigDecimal.ZERO : segOpc; } public void setSegOpc(BigDecimal segOpc) { @@ -178,7 +178,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getTotal() { - return total; + return total == null ? BigDecimal.ZERO : total; } public void setTotal(BigDecimal total) { @@ -186,7 +186,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getOrd() { - return ord; + return ord == null ? BigDecimal.ZERO : ord; } public void setOrd(BigDecimal ord) { @@ -194,7 +194,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getExtra() { - return extra; + return extra == null ? BigDecimal.ZERO : extra; } public void setExtra(BigDecimal extra) { @@ -202,7 +202,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getAbsol() { - return absol; + return absol == null ? BigDecimal.ZERO : absol; } public void setAbsol(BigDecimal absol) { @@ -210,7 +210,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getMediaReceitaViagem() { - return mediaReceitaViagem; + return mediaReceitaViagem == null ? BigDecimal.ZERO : mediaReceitaViagem; } public void setMediaReceitaViagem(BigDecimal mediaReceitaViagem) { @@ -218,7 +218,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getTotalViagem() { - return totalViagem; + return totalViagem == null ? BigDecimal.ZERO : totalViagem; } public void setTotalViagem(BigDecimal totalViagem) { @@ -226,7 +226,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getKmRodado() { - return kmRodado; + return kmRodado == null ? BigDecimal.ZERO : kmRodado; } public void setKmRodado(BigDecimal kmRodado) { @@ -234,7 +234,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getEquivalente() { - return equivalente; + return equivalente == null ? BigDecimal.ZERO : equivalente; } public void setEquivalente(BigDecimal equivalente) { @@ -242,7 +242,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getMpa() { - return mpa; + return mpa == null ? BigDecimal.ZERO : mpa; } public void setMpa(BigDecimal mpa) { @@ -250,7 +250,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getMpe() { - return mpe; + return mpe == null ? BigDecimal.ZERO : mpe; } public void setMpe(BigDecimal mpe) { @@ -258,7 +258,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getRsKm() { - return rsKm; + return rsKm == null ? BigDecimal.ZERO : rsKm; } public void setRsKm(BigDecimal rsKm) { @@ -266,7 +266,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getEq() { - return eq; + return eq == null ? BigDecimal.ZERO : eq; } public void setEq(BigDecimal eq) { @@ -274,7 +274,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getRsViagem() { - return rsViagem; + return rsViagem == null ? BigDecimal.ZERO : rsViagem; } public void setRsViagem(BigDecimal rsViagem) { @@ -282,7 +282,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getPaxKmOfertado() { - return paxKmOfertado; + return paxKmOfertado == null ? BigDecimal.ZERO : paxKmOfertado; } public void setPaxKmOfertado(BigDecimal paxKmOfertado) { @@ -290,7 +290,7 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getPaxKmTransportado() { - return paxKmTransportado; + return paxKmTransportado == null ? BigDecimal.ZERO : paxKmTransportado; } public void setPaxKmTransportado(BigDecimal paxKmTransportado) { @@ -298,11 +298,10 @@ public class RelatorioLinhasHorarioBean { } public BigDecimal getIap() { - return iap; + return iap == null ? BigDecimal.ZERO : iap; } public void setIap(BigDecimal iap) { this.iap = iap; } - }