fixes bug#20984

qua:
dev:Valdir

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104943 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdevir 2021-01-05 19:44:35 +00:00
parent cf4a440f0c
commit e80faa13f4
4 changed files with 693 additions and 277 deletions

View File

@ -3,10 +3,22 @@
*/
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.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioResumoLinhasBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
/**
* @author valdevir_rj
@ -14,17 +26,390 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
*/
public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relatorio {
private List<RelatorioResumoLinhasBean> lsDadosRelatorio;
/**
* @param parametros
* @param conexao
*/
public RelatorioResumoLinhasAnaliticoSimplificadoSumarizado(Map<String, Object> parametros, Connection conexao) {
public RelatorioResumoLinhasAnaliticoSimplificadoSumarizado(final Map<String, Object> parametros, final Connection conexao) throws Exception {
super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
Integer rutaId = parametros.get("RUTA_ID") != null ? Integer.valueOf(parametros.get("RUTA_ID").toString()) : null;
Integer empresaId = parametros.get("EMPRESA_ID") != null ? Integer.valueOf(parametros.get("EMPRESA_ID").toString()) : null;
Integer grupoRutaId = parametros.get("GRUPORUTA_ID") != null ? Integer.valueOf(parametros.get("GRUPORUTA_ID").toString()) : null;
String sql = getSql(rutaId, grupoRutaId);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
if (parametros.get("DATA_INICIAL") != null) {
Date dataInicio = (Date) parametros.get("DATA_INICIAL");
stmt.setString("DATA_INICIAL", sdf.format(dataInicio));
}
if (parametros.get("DATA_FINAL") != null) {
Date dataFinal = (Date) parametros.get("DATA_FINAL");
stmt.setString("DATA_FINAL", sdf.format(dataFinal));
}
if (rutaId != null) {
stmt.setInt("RUTA_ID", rutaId);
}
if (grupoRutaId != null) {
stmt.setInt("GRUPORUTA_ID", grupoRutaId);
}
stmt.setInt("EMPRESA_ID", empresaId.intValue());
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioResumoLinhasBean>();
RelatorioResumoLinhasBean relatorioBean = null;
while (rset.next()) {
Boolean isMesmaLinhaIdaVolta = relatorioBean !=null && rset.getString("PREFIXO") != null &&
rset.getString("PREFIXO").equals(relatorioBean.getPREFIXO()) ? Boolean.TRUE : Boolean.FALSE;
if (!isMesmaLinhaIdaVolta) {
if(relatorioBean !=null) {
lsDadosRelatorio.add(relatorioBean);
}
relatorioBean = preencheAgrupaRelatorioBeanPorIdaVolta(rset, isMesmaLinhaIdaVolta, null);
} else {
relatorioBean= preencheAgrupaRelatorioBeanPorIdaVolta(rset, isMesmaLinhaIdaVolta, relatorioBean);
}
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
}
}
});
}
public void setLsDadosRelatorio(List<RelatorioResumoLinhasBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
}
@Override
public void processaParametros() throws Exception {
}
/**
* Obtém SQL, necessário ordenar por prefixo.
*
* @param rutaId
* @param grupoRutaId
* @return
*/
private String getSql(Integer rutaId, Integer grupoRutaId) {
StringBuilder sqlSb = new StringBuilder();
sqlSb.append(" SELECT SUB.*, ");
sqlSb.append(" (NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA, ");
sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE, ");
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM, ");
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM, ");
sqlSb.append(" (ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM, ");
sqlSb.append(" (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) AS PAX_OFERTADO ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB.INDSENTIDOIDA, ");
sqlSb.append(" TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, ");
sqlSb.append(" SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, ");
sqlSb.append(" SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, ");
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE, ");
sqlSb.append(" TAB.ASSENTOS AS ASSENTOS ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT TAB1.*, ");
sqlSb.append(" (TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL, ");
sqlSb.append(" (NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL, ");
sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, ");
sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) ");
sqlSb.append(" FROM RUTA_COMBINACION RS, ");
sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = CO.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" )), 2) EQUIVALENTE ");
sqlSb.append(" FROM CORRIDA CO, ");
sqlSb.append(" BOLETO BO ");
sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID ");
sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA ");
sqlSb.append(" AND BO.ACTIVO = 1 ");
sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" OR BO.MOTIVOCANCELACION_ID = 0) ");
sqlSb.append(" GROUP BY CO.FECCORRIDA, ");
sqlSb.append(" CO.RUTA_ID, ");
sqlSb.append(" BO.PRECIOBASE, ");
sqlSb.append(" BO.NUMKMVIAJE ");
sqlSb.append(" ) PE ");
sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA ");
sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID ");
sqlSb.append(" ) PASSAGEIROS_EQUIVALENTE, ");
sqlSb.append(" (SELECT SUM(NVL(DA.CANTASIENTOS,0)) FROM DIAGRAMA_AUTOBUS DA ");
sqlSb.append(" INNER JOIN ROL_OPERATIVO RO ON (DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID) ");
sqlSb.append(" INNER JOIN CORRIDA CO ON (RO.ROLOPERATIVO_ID = CO.ROLOPERATIVO_ID) ");
sqlSb.append(" INNER JOIN RUTA RU ON (RU.RUTA_ID = CO.RUTA_ID) ");
sqlSb.append(" WHERE CO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
sqlSb.append(" AND RU.RUTA_ID = TAB1.RUTA_ID ");
sqlSb.append(" AND DA.ACTIVO = 1 ");
sqlSb.append(" AND RO.ACTIVO = 1 ");
sqlSb.append(" AND CO.ACTIVO = 1 ");
sqlSb.append(" AND RU.ACTIVO = 1) ASSENTOS ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO, ");
sqlSb.append(" SUM(PRECIOPAGADO) AS RECEITA_TARIFA ");
sqlSb.append(" FROM ");
sqlSb.append(" (SELECT RT.RUTA_ID, ");
sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" SUM(BL.PRECIOPAGADO) AS preciototal, ");
sqlSb.append(" BL.preciopagado AS PRECIOPAGADO, ");
sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID ");
sqlSb.append(" THEN 'S' ");
sqlSb.append(" ELSE 'N' ");
sqlSb.append(" END INTERESTADUAL, ");
sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, ");
sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) ");
sqlSb.append(" FROM RUTA_SECUENCIA RS, ");
sqlSb.append(" TRAMO TR ");
sqlSb.append(" WHERE RS.RUTA_ID = RT.RUTA_ID ");
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
sqlSb.append(" AND RS.ACTIVO = 1 ");
sqlSb.append(" ) EXTENSAO_KM, ");
sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, ");
sqlSb.append(" 0 RECEITA_BAGAGEM, ");
sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, ");
sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, ");
sqlSb.append(" COUNT(1) PASSAGEIROS, ");
sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 ");
sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS_EXTRA, ");
sqlSb.append(" COUNT(DISTINCT ");
sqlSb.append(" CASE ");
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID <> 2 ");
sqlSb.append(" THEN CR.FECCORRIDA ");
sqlSb.append(" || CR.CORRIDA_ID ");
sqlSb.append(" ELSE NULL ");
sqlSb.append(" END) VIAGENS, ");
sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO ");
sqlSb.append(" FROM RUTA RT, ");
sqlSb.append(" BOLETO BL, ");
sqlSb.append(" CORRIDA CR, ");
sqlSb.append(" TRAMO TR, ");
sqlSb.append(" VIGENCIA_TARIFA VT, ");
sqlSb.append(" GRUPO_RUTA GR, ");
sqlSb.append(" PARADA PO, ");
sqlSb.append(" PARADA PD, ");
sqlSb.append(" CIUDAD CO, ");
sqlSb.append(" CIUDAD CD, ");
sqlSb.append(" CLASE_SERVICIO CS ");
sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID ");
sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID ");
sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA ");
if (rutaId != null) {
sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) ");
}
if (grupoRutaId != null) {
sqlSb.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) ");
}
sqlSb.append(" AND CR.CORRIDA_ID = BL.CORRIDA_ID ");
sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID ");
sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID ");
sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID ");
sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID ");
sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID ");
sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) ");
sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL ");
sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' ");
sqlSb.append(" AND VT.ACTIVO = 1 ");
sqlSb.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
sqlSb.append(" AND CR.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
sqlSb.append(" AND CR.ACTIVO = 1 ");
sqlSb.append(" GROUP BY RT.RUTA_ID, ");
sqlSb.append(" RT.NUMRUTA, ");
sqlSb.append(" RT.PREFIXO, ");
sqlSb.append(" CR.FECCORRIDA, ");
sqlSb.append(" RT.DESCRUTA, ");
sqlSb.append(" GR.DESCGRUPO, ");
sqlSb.append(" CO.ESTADO_ID, ");
sqlSb.append(" CD.ESTADO_ID, ");
sqlSb.append(" RT.INDSENTIDOIDA, ");
sqlSb.append(" CS.CVECLASE, ");
sqlSb.append(" BL.BOLETO_ID, ");
sqlSb.append(" BL.preciopagado ");
sqlSb.append(" ) DADOS ");
sqlSb.append(" GROUP BY RUTA_ID, ");
sqlSb.append(" INDSENTIDOIDA, ");
sqlSb.append(" NUMRUTA, ");
sqlSb.append(" PREFIXO, ");
sqlSb.append(" FECCORRIDA, ");
sqlSb.append(" DESCRUTA, ");
sqlSb.append(" INTERESTADUAL, ");
sqlSb.append(" GRUPO_LINHA, ");
sqlSb.append(" EXTENSAO_KM, ");
sqlSb.append(" RECEITA_SEGURO, ");
sqlSb.append(" RECEITA_BAGAGEM, ");
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
sqlSb.append(" RECEITA_PEDAGIO, ");
sqlSb.append(" RECEITA_EMBARQUE, ");
sqlSb.append(" PASSAGEIROS, ");
sqlSb.append(" VIAGENS_EXTRA, ");
sqlSb.append(" VIAGENS, ");
sqlSb.append(" CVE_CLASE_SERVICIO ");
sqlSb.append(" ) TAB1 ");
sqlSb.append(" )TAB ");
sqlSb.append(" GROUP BY TAB.RUTA_ID, ");
sqlSb.append(" TAB.NUMRUTA, ");
sqlSb.append(" TAB.PREFIXO, ");
sqlSb.append(" TAB.DESCRUTA, ");
sqlSb.append(" TAB.INTERESTADUAL, ");
sqlSb.append(" TAB.GRUPO_LINHA, ");
sqlSb.append(" TAB.EXTENSAO_KM, ");
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
sqlSb.append(" TAB.INDSENTIDOIDA, ");
sqlSb.append(" TAB.ASSENTOS ");
sqlSb.append(" ) SUB ");
sqlSb.append(" WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
sqlSb.append(" ORDER BY SUB.PREFIXO, ");
sqlSb.append(" SUB.INDSENTIDOIDA DESC ");
return sqlSb.toString();
}
/**
* Preenche objeto de relatório caso seja Ida criar novo objeto e preenche com dados, caso seja Volta concantena/agrupa com o objeto de linha da Ida
*
* @param rset
* @param relatorioBean
* @return
* @throws SQLException
*/
private RelatorioResumoLinhasBean preencheAgrupaRelatorioBeanPorIdaVolta(ResultSet rset, Boolean isMesmaLinhaIdaVolta, RelatorioResumoLinhasBean relatorioBean) throws SQLException {
//Ida
if (!isMesmaLinhaIdaVolta) {
relatorioBean = new RelatorioResumoLinhasBean();
relatorioBean.setINDSENTIDOIDA(rset.getBigDecimal("INDSENTIDOIDA"));
relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID"));
relatorioBean.setNUMRUTA(rset.getString("NUMRUTA"));
relatorioBean.setPREFIXO(rset.getString("PREFIXO"));
relatorioBean.setDESCRUTA(rset.getString("DESCRUTA") + (BigDecimal.ZERO.equals(rset.getBigDecimal("INDSENTIDOIDA")) ? " - VOLTA " : " - IDA"));
relatorioBean.setINTERESTADUAL(rset.getString("INTERESTADUAL"));
relatorioBean.setGRUPO_LINHA(rset.getString("GRUPO_LINHA"));
relatorioBean.setEXTENSAO_KM(rset.getBigDecimal("EXTENSAO_KM"));
relatorioBean.setRECEITA_SEGURO(rset.getBigDecimal("RECEITA_SEGURO"));
relatorioBean.setRECEITA_BAGAGEM(rset.getBigDecimal("RECEITA_BAGAGEM"));
relatorioBean.setRECEITA_SEGURO_OUTROS(rset.getBigDecimal("RECEITA_SEGURO_OUTROS"));
relatorioBean.setRECEITA_TARIFA(rset.getBigDecimal("RECEITA_TARIFA"));
relatorioBean.setRECEITA_PEDAGIO(rset.getBigDecimal("RECEITA_PEDAGIO"));
relatorioBean.setRECEITA_EMBARQUE(rset.getBigDecimal("RECEITA_EMBARQUE"));
relatorioBean.setPASSAGEIROS(rset.getBigDecimal("PASSAGEIROS"));
relatorioBean.setVIAGENS_EXTRA(rset.getBigDecimal("VIAGENS_EXTRA"));
relatorioBean.setVIAGENS(rset.getBigDecimal("VIAGENS"));
relatorioBean.setCVE_CLASE_SERVICIO(rset.getString("CVE_CLASE_SERVICIO"));
relatorioBean.setRECEITA_TOTAL(rset.getBigDecimal("RECEITA_TOTAL"));
relatorioBean.setVIAGENS_TOTAL(rset.getBigDecimal("VIAGENS_TOTAL"));
relatorioBean.setKM_RODADO(rset.getBigDecimal("KM_RODADO"));
relatorioBean.setPASSAGEIROS_EQUIVALENTE(rset.getBigDecimal("PASSAGEIROS_EQUIVALENTE"));
relatorioBean.setPASSAGEIROS_MPA(rset.getBigDecimal("PASSAGEIROS_MPA"));
relatorioBean.setPASSAGEIROS_MPE(rset.getBigDecimal("PASSAGEIROS_MPE"));
relatorioBean.setRECEITA_KM(rset.getBigDecimal("RECEITA_KM"));
relatorioBean.setRECEITA_VIAGEM(rset.getBigDecimal("RECEITA_VIAGEM"));
relatorioBean.setPAX_KM(rset.getBigDecimal("PAX_KM"));
relatorioBean.setPAX_OFERTADO(rset.getBigDecimal("PAX_OFERTADO"));
} else {
//Volta
relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID"));
relatorioBean.setNUMRUTA(relatorioBean.getNUMRUTA() + rset.getString("NUMRUTA"));
relatorioBean.setPREFIXO(rset.getString("PREFIXO"));
relatorioBean.setDESCRUTA(relatorioBean.getDESCRUTA() + (BigDecimal.ZERO.equals(rset.getBigDecimal("INDSENTIDOIDA")) ? " - VOLTA " : " - IDA"));
relatorioBean.setINTERESTADUAL(rset.getString("INTERESTADUAL"));
relatorioBean.setGRUPO_LINHA(rset.getString("GRUPO_LINHA"));
relatorioBean.setEXTENSAO_KM(relatorioBean.getEXTENSAO_KM().add(rset.getBigDecimal("EXTENSAO_KM")));
relatorioBean.setRECEITA_SEGURO(relatorioBean.getRECEITA_SEGURO().add(rset.getBigDecimal("RECEITA_SEGURO")));
relatorioBean.setRECEITA_BAGAGEM(relatorioBean.getRECEITA_BAGAGEM().add(rset.getBigDecimal("RECEITA_BAGAGEM")));
relatorioBean.setRECEITA_SEGURO_OUTROS(relatorioBean.getRECEITA_SEGURO_OUTROS().add(rset.getBigDecimal("RECEITA_SEGURO_OUTROS")));
relatorioBean.setRECEITA_TARIFA(relatorioBean.getRECEITA_TARIFA().add(rset.getBigDecimal("RECEITA_TARIFA")));
relatorioBean.setRECEITA_PEDAGIO(relatorioBean.getRECEITA_PEDAGIO().add(rset.getBigDecimal("RECEITA_PEDAGIO")));
relatorioBean.setRECEITA_EMBARQUE(relatorioBean.getRECEITA_EMBARQUE().add(rset.getBigDecimal("RECEITA_EMBARQUE")));
relatorioBean.setPASSAGEIROS(relatorioBean.getPASSAGEIROS().add(rset.getBigDecimal("PASSAGEIROS")));
relatorioBean.setVIAGENS_EXTRA(relatorioBean.getVIAGENS_EXTRA().add(rset.getBigDecimal("VIAGENS_EXTRA")));
relatorioBean.setVIAGENS(relatorioBean.getVIAGENS().add(rset.getBigDecimal("VIAGENS")));
relatorioBean.setCVE_CLASE_SERVICIO(rset.getString("CVE_CLASE_SERVICIO"));
relatorioBean.setRECEITA_TOTAL(relatorioBean.getRECEITA_TOTAL().add(rset.getBigDecimal("RECEITA_TOTAL")));
relatorioBean.setVIAGENS_TOTAL(relatorioBean.getVIAGENS_TOTAL().add(rset.getBigDecimal("VIAGENS_TOTAL")));
relatorioBean.setKM_RODADO(relatorioBean.getKM_RODADO().add(rset.getBigDecimal("KM_RODADO")));
relatorioBean.setPASSAGEIROS_EQUIVALENTE(relatorioBean.getPASSAGEIROS_EQUIVALENTE().add(rset.getBigDecimal("PASSAGEIROS_EQUIVALENTE")));
relatorioBean.setPASSAGEIROS_MPA(relatorioBean.getPASSAGEIROS_MPA().add(rset.getBigDecimal("PASSAGEIROS_MPA")));
relatorioBean.setPASSAGEIROS_MPE(relatorioBean.getPASSAGEIROS_MPE().add(rset.getBigDecimal("PASSAGEIROS_MPE")));
relatorioBean.setRECEITA_KM(relatorioBean.getRECEITA_KM().add(rset.getBigDecimal("RECEITA_KM")));
relatorioBean.setRECEITA_VIAGEM(relatorioBean.getRECEITA_VIAGEM().add(rset.getBigDecimal("RECEITA_VIAGEM")));
relatorioBean.setPAX_KM(relatorioBean.getPAX_KM().add(rset.getBigDecimal("PAX_KM")));
relatorioBean.setPAX_OFERTADO(relatorioBean.getPAX_OFERTADO().add(rset.getBigDecimal("PAX_OFERTADO")));
}
return relatorioBean;
}
}

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioResumoLinhas" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isFloatColumnFooter="true" uuid="efbc89d4-6f08-4ea5-802f-d4f48ed208e2">
<property name="ireport.zoom" value="3.138428376721017"/>
<property name="ireport.x" value="105"/>
<property name="ireport.y" value="377"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="556"/>
<style name="textStyle" isDefault="true" fontSize="6" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="table">
<box>
@ -37,230 +37,7 @@
<parameter name="GRUPORUTA_ID" class="java.lang.Integer"/>
<parameter name="NOME_USUARIO" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT SUB.*,
(NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA,
( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE,
(NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM,
(NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM,
(ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM,
(NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) AS PAX_OFERTADO
FROM
(SELECT TAB.INDSENTIDOIDA,
TAB.RUTA_ID,
TAB.NUMRUTA,
TAB.PREFIXO,
TAB.DESCRUTA,
TAB.INTERESTADUAL,
TAB.GRUPO_LINHA,
TAB.EXTENSAO_KM,
TAB.CVE_CLASE_SERVICIO,
SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO,
SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM,
SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS,
SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA,
SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO,
SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE,
SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS,
SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA,
SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS,
SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL,
SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL,
SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO,
SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE,
TAB.ASSENTOS AS ASSENTOS
FROM
(SELECT TAB1.*,
(TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL,
(NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL,
((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO,
(SELECT SUM(NVL(PE.EQUIVALENTE,0))
FROM
(SELECT CO.FECCORRIDA,
CO.RUTA_ID,
BO.PRECIOBASE,
ROUND((BO.NUMKMVIAJE * COUNT(1) /
(SELECT SUM(NVL(TR.CANTKMREAL,0))
FROM RUTA_COMBINACION RS,
TRAMO TR
WHERE RS.RUTA_ID = CO.RUTA_ID
AND RS.TRAMO_ID = TR.TRAMO_ID
)), 2) EQUIVALENTE
FROM CORRIDA CO,
BOLETO BO
WHERE CO.CORRIDA_ID = BO.CORRIDA_ID
AND CO.FECCORRIDA = BO.FECCORRIDA
AND BO.ACTIVO = 1
AND (BO.MOTIVOCANCELACION_ID IS NULL
OR BO.MOTIVOCANCELACION_ID = 0)
GROUP BY CO.FECCORRIDA,
CO.RUTA_ID,
BO.PRECIOBASE,
BO.NUMKMVIAJE
) PE
WHERE PE.FECCORRIDA = TAB1.FECCORRIDA
AND PE.RUTA_ID = TAB1.RUTA_ID
) PASSAGEIROS_EQUIVALENTE,
(SELECT SUM(DA.CANTASIENTOS) FROM DIAGRAMA_AUTOBUS DA
INNER JOIN ROL_OPERATIVO RO ON (DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID)
INNER JOIN CORRIDA CO ON (RO.ROLOPERATIVO_ID = CO.ROLOPERATIVO_ID)
INNER JOIN RUTA RU ON (RU.RUTA_ID = CO.RUTA_ID)
WHERE CO.FECCORRIDA BETWEEN $P{DATA_INICIAL} AND $P{DATA_FINAL}
AND RU.RUTA_ID = TAB1.RUTA_ID
AND DA.ACTIVO = 1
AND RO.ACTIVO = 1
AND CO.ACTIVO = 1
AND RU.ACTIVO = 1) ASSENTOS
FROM
(SELECT RUTA_ID,
INDSENTIDOIDA,
NUMRUTA,
PREFIXO,
FECCORRIDA,
DESCRUTA,
INTERESTADUAL,
GRUPO_LINHA,
EXTENSAO_KM,
RECEITA_SEGURO,
RECEITA_BAGAGEM,
RECEITA_SEGURO_OUTROS,
RECEITA_PEDAGIO,
RECEITA_EMBARQUE,
PASSAGEIROS,
VIAGENS_EXTRA,
VIAGENS,
CVE_CLASE_SERVICIO,
SUM(PRECIOPAGADO) AS RECEITA_TARIFA
FROM
(SELECT RT.RUTA_ID,
BL.BOLETO_ID,
SUM(BL.PRECIOPAGADO) AS preciototal,
BL.preciopagado AS PRECIOPAGADO,
RT.INDSENTIDOIDA,
RT.NUMRUTA,
RT.PREFIXO,
CR.FECCORRIDA,
CONCAT(RT.DESCRUTA,
CASE
WHEN RT.INDSENTIDOIDA = 0
THEN ' - VOLTA'
ELSE ' - IDA'
END) DESCRUTA,
CASE
WHEN CO.ESTADO_ID <> CD.ESTADO_ID
THEN 'S'
ELSE 'N'
END INTERESTADUAL,
NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA,
(SELECT SUM(NVL(RS.KMORIGINAL,0))
FROM RUTA_SECUENCIA RS,
TRAMO TR
WHERE RS.RUTA_ID = RT.RUTA_ID
AND RS.TRAMO_ID = TR.TRAMO_ID
AND RS.ACTIVO = 1
) EXTENSAO_KM,
NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO,
0 RECEITA_BAGAGEM,
0 RECEITA_SEGURO_OUTROS,
SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO,
SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE,
COUNT(1) PASSAGEIROS,
COUNT(DISTINCT
CASE
WHEN CR.TIPOSERVICIO_ID = 2
THEN CR.FECCORRIDA
|| CR.CORRIDA_ID
ELSE NULL
END) VIAGENS_EXTRA,
COUNT(DISTINCT
CASE
WHEN CR.TIPOSERVICIO_ID <> 2
THEN CR.FECCORRIDA
|| CR.CORRIDA_ID
ELSE NULL
END) VIAGENS,
NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO
FROM RUTA RT,
BOLETO BL,
CORRIDA CR,
TRAMO TR,
VIGENCIA_TARIFA VT,
GRUPO_RUTA GR,
PARADA PO,
PARADA PD,
CIUDAD CO,
CIUDAD CD,
CLASE_SERVICIO CS
WHERE RT.RUTA_ID = CR.RUTA_ID
AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID
AND CR.FECCORRIDA = BL.FECCORRIDA
AND CR.RUTA_ID = NVL($P{RUTA_ID}, CR.RUTA_ID)
AND DECODE($P{GRUPORUTA_ID}, NULL, 1, RT.GRUPORUTA_ID) = DECODE($P{GRUPORUTA_ID}, NULL, 1, $P{GRUPORUTA_ID})
AND CR.CORRIDA_ID = BL.CORRIDA_ID
AND CR.EMPRESACORRIDA_ID = $P{EMPRESA_ID}
AND CR.ORIGEN_ID = PO.PARADA_ID
AND CR.DESTINO_ID = PD.PARADA_ID
AND PO.CIUDAD_ID = CO.CIUDAD_ID
AND PD.CIUDAD_ID = CD.CIUDAD_ID
AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+)
AND TR.ORIGEN_ID = CR.ORIGEN_ID
AND TR.DESTINO_ID = CR.DESTINO_ID
AND BL.MOTIVOCANCELACION_ID IS NULL
AND BL.INDSTATUSOPERACION = 'F'
AND VT.ACTIVO = 1
AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA
AND CR.FECCORRIDA BETWEEN $P{DATA_INICIAL} AND $P{DATA_FINAL}
AND CR.ACTIVO = 1
GROUP BY RT.RUTA_ID,
RT.NUMRUTA,
RT.PREFIXO,
CR.FECCORRIDA,
RT.DESCRUTA,
GR.DESCGRUPO,
CO.ESTADO_ID,
CD.ESTADO_ID,
RT.INDSENTIDOIDA,
CS.CVECLASE,
BL.BOLETO_ID,
BL.preciopagado
) DADOS
GROUP BY RUTA_ID,
INDSENTIDOIDA,
NUMRUTA,
PREFIXO,
FECCORRIDA,
DESCRUTA,
INTERESTADUAL,
GRUPO_LINHA,
EXTENSAO_KM,
RECEITA_SEGURO,
RECEITA_BAGAGEM,
RECEITA_SEGURO_OUTROS,
RECEITA_PEDAGIO,
RECEITA_EMBARQUE,
PASSAGEIROS,
VIAGENS_EXTRA,
VIAGENS,
CVE_CLASE_SERVICIO
) TAB1
)TAB
GROUP BY TAB.RUTA_ID,
TAB.NUMRUTA,
TAB.PREFIXO,
TAB.DESCRUTA,
TAB.INTERESTADUAL,
TAB.GRUPO_LINHA,
TAB.EXTENSAO_KM,
TAB.CVE_CLASE_SERVICIO,
TAB.INDSENTIDOIDA,
TAB.ASSENTOS
) SUB
WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0)
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0
ORDER BY SUB.DESCRUTA,
SUB.INDSENTIDOIDA]]>
<![CDATA[]]>
</queryString>
<field name="RUTA_ID" class="java.math.BigDecimal"/>
<field name="NUMRUTA" class="java.lang.String"/>
@ -581,140 +358,126 @@ ORDER BY SUB.DESCRUTA,
<band splitType="Stretch"/>
</background>
<pageHeader>
<band height="83" splitType="Stretch">
<band height="61" splitType="Stretch">
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="4c19b162-dfd6-48b7-b393-b7203a1bcd68" mode="Opaque" x="0" y="21" width="300" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="4c19b162-dfd6-48b7-b393-b7203a1bcd68" mode="Opaque" x="0" y="15" width="623" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="886fdbb8-b6c4-4ba1-98b8-15d9047cec7f" mode="Opaque" x="0" y="34" width="156" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="886fdbb8-b6c4-4ba1-98b8-15d9047cec7f" mode="Opaque" x="0" y="30" width="156" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.periodo}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="false">
<reportElement uuid="18ea34bb-d251-4e11-8589-235007cb2544" mode="Opaque" x="156" y="34" width="82" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="18ea34bb-d251-4e11-8589-235007cb2544" mode="Opaque" x="156" y="30" width="82" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_INICIAL}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy" isBlankWhenNull="false">
<reportElement uuid="68db054c-7950-4088-9373-de44bff98b7c" mode="Opaque" x="300" y="34" width="138" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="68db054c-7950-4088-9373-de44bff98b7c" mode="Opaque" x="300" y="30" width="138" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{DATA_FINAL}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="b137a935-0ee3-4e32-9f1e-81eaae50fb0c" mode="Opaque" x="238" y="34" width="62" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="b137a935-0ee3-4e32-9f1e-81eaae50fb0c" mode="Opaque" x="238" y="30" width="62" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Justified" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.periodoA}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="06a3d1b5-6685-4431-9578-dc0df27ee598" mode="Opaque" x="0" y="0" width="300" height="21" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{EMPRESA}]]></textFieldExpression>
</textField>
<textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false">
<reportElement uuid="ee4f1d8d-ab87-49b7-af10-578709b54e88" mode="Opaque" x="695" y="0" width="107" height="21" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="ee4f1d8d-ab87-49b7-af10-578709b54e88" mode="Opaque" x="695" y="0" width="107" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="87a53987-9821-4624-b0e0-e28617218944" mode="Opaque" x="623" y="0" width="72" height="21" backcolor="#CDCDCD"/>
<reportElement uuid="87a53987-9821-4624-b0e0-e28617218944" mode="Opaque" x="623" y="0" width="72" height="15" backcolor="#CDCDCD"/>
<textElement textAlignment="Justified">
<font size="9" isBold="true"/>
<font size="9" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="43a80a09-d61c-47e9-bf58-4463f67dae6f" mode="Opaque" x="623" y="21" width="72" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="43a80a09-d61c-47e9-bf58-4463f67dae6f" mode="Opaque" x="623" y="15" width="72" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="aba1011b-5b9f-4f9f-82da-b60daa0aec6e" mode="Opaque" x="623" y="35" width="72" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="aba1011b-5b9f-4f9f-82da-b60daa0aec6e" mode="Opaque" x="623" y="30" width="72" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.impressorPor}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="3aa0af99-e71b-4318-aec2-b466c14702db" mode="Opaque" x="0" y="48" width="156" height="18" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="3aa0af99-e71b-4318-aec2-b466c14702db" mode="Opaque" x="0" y="45" width="156" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$R{cabecalho.filtros}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="cbbf0c9d-061e-4da8-bfa8-4edf2affada5" mode="Opaque" x="156" y="48" width="646" height="18" backcolor="#CDCDCD"/>
<reportElement uuid="cbbf0c9d-061e-4da8-bfa8-4edf2affada5" mode="Opaque" x="156" y="45" width="646" height="15" backcolor="#CDCDCD"/>
<textElement>
<font size="8" isBold="true"/>
<font size="8" isBold="false"/>
</textElement>
<textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression>
</textField>
<line>
<reportElement uuid="db16cef4-cd72-45c5-8469-459c9ab3e032" x="0" y="75" width="801" height="1"/>
<reportElement uuid="db16cef4-cd72-45c5-8469-459c9ab3e032" x="0" y="60" width="801" height="1"/>
</line>
<textField evaluationTime="Report" pattern="" isBlankWhenNull="false">
<reportElement uuid="636d549e-b5c2-4b0e-84a7-a80b2e3c88ca" mode="Opaque" x="695" y="21" width="107" height="14" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="636d549e-b5c2-4b0e-84a7-a80b2e3c88ca" mode="Opaque" x="695" y="15" width="107" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="bc0b874f-8bee-4344-9824-066c315d20b4" mode="Opaque" x="695" y="35" width="107" height="13" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="bc0b874f-8bee-4344-9824-066c315d20b4" mode="Opaque" x="695" y="30" width="107" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{USUARIO}+"-"+$P{NOME_USUARIO}]]></textFieldExpression>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="def4698c-6665-41e4-a873-70ddbb3cea44" mode="Opaque" x="300" y="0" width="323" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<reportElement uuid="63262e6c-18fd-4abc-a12c-6d9ef77c60f5" mode="Opaque" x="438" y="30" width="185" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="3b07cb19-59ae-48ab-9224-39339b7299c1" mode="Opaque" x="300" y="19" width="323" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
</textField>
<textField pattern="" isBlankWhenNull="true">
<reportElement uuid="63262e6c-18fd-4abc-a12c-6d9ef77c60f5" mode="Opaque" x="438" y="29" width="185" height="19" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<textField pattern="" isBlankWhenNull="false">
<reportElement uuid="d27dc2bc-5fc6-4874-a623-d56c1776faf8" mode="Opaque" x="0" y="0" width="623" height="15" forecolor="#000000" backcolor="#CDCDCD"/>
<textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none">
<font fontName="SansSerif" size="9" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[$P{EMPRESA}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
@ -888,7 +651,7 @@ ORDER BY SUB.DESCRUTA,
<textField>
<reportElement uuid="65466fe2-e993-4599-ad52-a3a5f8204050" x="0" y="0" width="801" height="50"/>
<textElement/>
<textFieldExpression><![CDATA["Abs.: Quantidade absoluta de passageiros da linha \nEquival.: Cálculo (Somatório Total km referente aos trechos dos bilhetes comprados desta linha / Somatório do Total km dos trechos da linha). \nMPA - Média Passageiro Analítico - Tot.Passageiros / Total de viagens MPE - Média Passageiro Equivalente = Equival. / Total de viagens \nPAX. Ofer: Passageiros ofertados - Tot. assentos oferecidos pelas viagens da linha) \nPAX. Trans: Passageiros por Km Transportado - Relação de passageiros por Km Rodado, é calculado pela seguinte formula (Equival. * Extensão Km Linha) \nI.A.P: Índice de Aproveitamento de Passageiro - Calculo pela seguinte fórmula ((Pax. Ofer Transp / Pax. ofer) * 100 )"]]></textFieldExpression>
<textFieldExpression><![CDATA["PAX. Ofer: Passageiros ofertados - Tot. assentos oferecidos pelas viagens da linha) \nPAX. Trans: Passageiros por Km Transportado - Relação de passageiros por Km Rodado, é calculado pela seguinte formula (Equival. * Extensão Km Linha) \n"]]></textFieldExpression>
</textField>
</band>
</lastPageFooter>

View File

@ -0,0 +1,268 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
import java.math.BigDecimal;
public class RelatorioResumoLinhasBean {
private BigDecimal INDSENTIDOIDA;
private BigDecimal RUTA_ID;
private BigDecimal RUTA_ID_VOLTA;
private String NUMRUTA;
private String PREFIXO;
private String DESCRUTA;
private String INTERESTADUAL;
private String GRUPO_LINHA;
private BigDecimal EXTENSAO_KM;
private BigDecimal RECEITA_SEGURO;
private BigDecimal RECEITA_BAGAGEM;
private BigDecimal RECEITA_SEGURO_OUTROS;
private BigDecimal RECEITA_TARIFA;
private BigDecimal RECEITA_PEDAGIO;
private BigDecimal RECEITA_EMBARQUE;
private BigDecimal PASSAGEIROS;
private BigDecimal VIAGENS_EXTRA;
private BigDecimal VIAGENS;
private String CVE_CLASE_SERVICIO;
private BigDecimal RECEITA_TOTAL;
private BigDecimal VIAGENS_TOTAL;
private BigDecimal KM_RODADO;
private BigDecimal PASSAGEIROS_EQUIVALENTE;
private BigDecimal PASSAGEIROS_MPA;
private BigDecimal PASSAGEIROS_MPE;
private BigDecimal RECEITA_KM;
private BigDecimal RECEITA_VIAGEM;
private BigDecimal PAX_KM;
private BigDecimal PAX_OFERTADO;
public BigDecimal getRUTA_ID_VOLTA() {
return RUTA_ID_VOLTA;
}
public void setRUTA_ID_VOLTA(BigDecimal rUTA_ID_VOLTA) {
RUTA_ID_VOLTA = rUTA_ID_VOLTA;
}
public BigDecimal getRUTA_ID() {
return RUTA_ID;
}
public void setRUTA_ID(BigDecimal rUTA_ID) {
RUTA_ID = rUTA_ID;
}
public String getNUMRUTA() {
return NUMRUTA;
}
public void setNUMRUTA(String nUMRUTA) {
NUMRUTA = nUMRUTA;
}
public String getPREFIXO() {
return PREFIXO;
}
public void setPREFIXO(String pREFIXO) {
PREFIXO = pREFIXO;
}
public String getDESCRUTA() {
return DESCRUTA;
}
public void setDESCRUTA(String dESCRUTA) {
DESCRUTA = dESCRUTA;
}
public String getINTERESTADUAL() {
return INTERESTADUAL;
}
public void setINTERESTADUAL(String iNTERESTADUAL) {
INTERESTADUAL = iNTERESTADUAL;
}
public String getGRUPO_LINHA() {
return GRUPO_LINHA;
}
public void setGRUPO_LINHA(String gRUPO_LINHA) {
GRUPO_LINHA = gRUPO_LINHA;
}
public BigDecimal getEXTENSAO_KM() {
return EXTENSAO_KM;
}
public void setEXTENSAO_KM(BigDecimal eXTENSAO_KM) {
EXTENSAO_KM = eXTENSAO_KM;
}
public BigDecimal getRECEITA_SEGURO() {
return RECEITA_SEGURO;
}
public void setRECEITA_SEGURO(BigDecimal rECEITA_SEGURO) {
RECEITA_SEGURO = rECEITA_SEGURO;
}
public BigDecimal getRECEITA_BAGAGEM() {
return RECEITA_BAGAGEM;
}
public void setRECEITA_BAGAGEM(BigDecimal rECEITA_BAGAGEM) {
RECEITA_BAGAGEM = rECEITA_BAGAGEM;
}
public BigDecimal getRECEITA_SEGURO_OUTROS() {
return RECEITA_SEGURO_OUTROS;
}
public void setRECEITA_SEGURO_OUTROS(BigDecimal rECEITA_SEGURO_OUTROS) {
RECEITA_SEGURO_OUTROS = rECEITA_SEGURO_OUTROS;
}
public BigDecimal getRECEITA_TARIFA() {
return RECEITA_TARIFA;
}
public void setRECEITA_TARIFA(BigDecimal rECEITA_TARIFA) {
RECEITA_TARIFA = rECEITA_TARIFA;
}
public BigDecimal getRECEITA_PEDAGIO() {
return RECEITA_PEDAGIO;
}
public void setRECEITA_PEDAGIO(BigDecimal rECEITA_PEDAGIO) {
RECEITA_PEDAGIO = rECEITA_PEDAGIO;
}
public BigDecimal getRECEITA_EMBARQUE() {
return RECEITA_EMBARQUE;
}
public void setRECEITA_EMBARQUE(BigDecimal rECEITA_EMBARQUE) {
RECEITA_EMBARQUE = rECEITA_EMBARQUE;
}
public BigDecimal getPASSAGEIROS() {
return PASSAGEIROS;
}
public void setPASSAGEIROS(BigDecimal pASSAGEIROS) {
PASSAGEIROS = pASSAGEIROS;
}
public BigDecimal getVIAGENS_EXTRA() {
return VIAGENS_EXTRA;
}
public void setVIAGENS_EXTRA(BigDecimal vIAGENS_EXTRA) {
VIAGENS_EXTRA = vIAGENS_EXTRA;
}
public BigDecimal getVIAGENS() {
return VIAGENS;
}
public void setVIAGENS(BigDecimal vIAGENS) {
VIAGENS = vIAGENS;
}
public String getCVE_CLASE_SERVICIO() {
return CVE_CLASE_SERVICIO;
}
public void setCVE_CLASE_SERVICIO(String cVE_CLASE_SERVICIO) {
CVE_CLASE_SERVICIO = cVE_CLASE_SERVICIO;
}
public BigDecimal getRECEITA_TOTAL() {
return RECEITA_TOTAL;
}
public void setRECEITA_TOTAL(BigDecimal rECEITA_TOTAL) {
RECEITA_TOTAL = rECEITA_TOTAL;
}
public BigDecimal getVIAGENS_TOTAL() {
return VIAGENS_TOTAL;
}
public void setVIAGENS_TOTAL(BigDecimal vIAGENS_TOTAL) {
VIAGENS_TOTAL = vIAGENS_TOTAL;
}
public BigDecimal getKM_RODADO() {
return KM_RODADO;
}
public void setKM_RODADO(BigDecimal kM_RODADO) {
KM_RODADO = kM_RODADO;
}
public BigDecimal getPASSAGEIROS_EQUIVALENTE() {
return PASSAGEIROS_EQUIVALENTE;
}
public void setPASSAGEIROS_EQUIVALENTE(BigDecimal pASSAGEIROS_EQUIVALENTE) {
PASSAGEIROS_EQUIVALENTE = pASSAGEIROS_EQUIVALENTE;
}
public BigDecimal getPASSAGEIROS_MPA() {
return PASSAGEIROS_MPA;
}
public void setPASSAGEIROS_MPA(BigDecimal pASSAGEIROS_MPA) {
PASSAGEIROS_MPA = pASSAGEIROS_MPA;
}
public BigDecimal getPASSAGEIROS_MPE() {
return PASSAGEIROS_MPE;
}
public void setPASSAGEIROS_MPE(BigDecimal pASSAGEIROS_MPE) {
PASSAGEIROS_MPE = pASSAGEIROS_MPE;
}
public BigDecimal getRECEITA_KM() {
return RECEITA_KM;
}
public void setRECEITA_KM(BigDecimal rECEITA_KM) {
RECEITA_KM = rECEITA_KM;
}
public BigDecimal getRECEITA_VIAGEM() {
return RECEITA_VIAGEM;
}
public void setRECEITA_VIAGEM(BigDecimal rECEITA_VIAGEM) {
RECEITA_VIAGEM = rECEITA_VIAGEM;
}
public BigDecimal getPAX_KM() {
return PAX_KM;
}
public void setPAX_KM(BigDecimal pAX_KM) {
PAX_KM = pAX_KM;
}
public BigDecimal getPAX_OFERTADO() {
return PAX_OFERTADO;
}
public void setPAX_OFERTADO(BigDecimal pAX_OFERTADO) {
PAX_OFERTADO = pAX_OFERTADO;
}
public BigDecimal getINDSENTIDOIDA() {
return INDSENTIDOIDA;
}
public void setINDSENTIDOIDA(BigDecimal iNDSENTIDOIDA) {
INDSENTIDOIDA = iNDSENTIDOIDA;
}
}