diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamento_pt_BR.properties index 813be549a..0041bdf63 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamento_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAproveitamento_pt_BR.properties @@ -14,3 +14,7 @@ sumario.ocupacao=Ocupa sumario.ocupacaoComArrecadacao=Ocupação com Arrecadação: sumario.ocupacaoSemArrecadacao=Ocupação sem Arrecadação sumario.totalNominal=Total Nominal: + +legenda.ocupacaoArrecadacao=Ocupação Passageiro +legenda.ocupacaoOperacional=Ocupação Operacional +legenda.poltronaExclusiva=Poltrona Exclusiva diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/parametros/RendimentoParamsImpl.java b/src/java/com/rjconsultores/ventaboletos/relatorios/parametros/RendimentoParamsImpl.java index ce9b3f682..d951c4695 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/parametros/RendimentoParamsImpl.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/parametros/RendimentoParamsImpl.java @@ -56,171 +56,215 @@ public class RendimentoParamsImpl implements IParametros { StringBuilder sql = new StringBuilder(); - sql.append("SELECT round(NVL(TAB.TOTAL_ARRECADADO,0),2) TOTAL_ARRECADADO, "); - sql.append(" round(NVL(TAB.TOTAL_ARRECADADO / TAB.KM_NOMINAL,0),2) ARRECADADO_KM, "); - sql.append(" round(NVL(TAB.TOTAL_NOMINAL,0),2) TOTAL_NOMINAL, "); - sql.append(" round(TAB.TOTAL_NOMINAL / TAB.KM_NOMINAL,2) NOMINAL_KM,"); - sql.append(" (TAB.TOTAL_OCUPADOS/TAB.TOTAL_ACENTOS) OCUPACAO, "); - sql.append(" ((TAB.TOTAL_OCUPADOS-TAB.TOTAL_OCUPADOS_GRATUIDADE)/TAB.TOTAL_ACENTOS) OCUPACAO_ARRECADACAO, "); - sql.append(" (TAB.TOTAL_OCUPADOS_GRATUIDADE/TAB.TOTAL_ACENTOS) OCUPACAO_S_ARRECADACAO "); - sql.append(" "); - sql.append(" FROM ( "); - sql.append("SELECT (SELECT SUM(BO.PRECIOBASE) "); - sql.append(" FROM BOLETO BO "); - sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND BO.ACTIVO = 1 "); - sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); - sql.append(" BO.MOTIVOCANCELACION_ID = 0)) TOTAL_ARRECADADO, "); - sql.append(" "); - sql.append(" (SELECT SUM(TR.CANTKMREAL) "); - sql.append(" FROM CORRIDA_TRAMO CT, "); - sql.append(" TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DIAGRAMA_AUTOBUS DA "); - sql.append(" WHERE CT.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CT.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); - sql.append(" AND DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND TR.TRAMO_ID = CT.TRAMO_ID "); - sql.append(" AND CT.ACTIVO = 1) KM_NOMINAL, "); - sql.append(" "); - sql.append(" (SELECT SUM((SELECT TR.CANTKMREAL "); - sql.append(" FROM BOLETO BO, CORRIDA_TRAMO CTD, CORRIDA_TRAMO CTO "); - sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); - sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); - sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); - sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND CTO.ACTIVO = 1 "); - sql.append(" AND CTD.ACTIVO = 1 "); - sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND "); - sql.append(" CTD.NUMSECUENCIA "); - sql.append(" AND BO.ACTIVO = 1 "); - sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); - sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); - sql.append(" FROM CORRIDA_TRAMO CT, "); - sql.append(" TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD "); - sql.append(" WHERE "); - sql.append(" CR.FECCORRIDA = CT.FECCORRIDA "); - sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); - sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND CT.ACTIVO = 1) KM_OCUPADA, "); - - sql.append(" (SELECT SUM(TF.PRECIO) "); - sql.append(" FROM TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD, "); - sql.append(" TARIFA TF, "); - sql.append(" VIGENCIA_TARIFA VT "); - sql.append(" WHERE RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); - sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); - sql.append(" AND TF.MARCA_ID = CR.MARCA_ID "); - sql.append(" AND TF.RUTA_ID = CR.RUTA_ID "); - sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND TF.STATUSTARIFA = 'A' "); - sql.append(" AND TF.ACTIVO = 1 "); - sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); - sql.append(" AND VT.ACTIVO = 1 "); - sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND "); - sql.append(" VT.FECFINVIGENCIA) TOTAL_NOMINAL,"); - - sql.append(" "); - sql.append(" (SELECT COUNT(1) "); - sql.append(" FROM CORRIDA_TRAMO CT, "); - sql.append(" TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD "); - sql.append(" WHERE "); - sql.append(" "); - sql.append(" CR.FECCORRIDA = CT.FECCORRIDA "); - sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); - sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND CT.ACTIVO = 1) TOTAL_ACENTOS, "); - sql.append(" "); - sql.append(" (SELECT COUNT( "); - sql.append(" (SELECT 1 "); - sql.append(" FROM BOLETO BO, CORRIDA_TRAMO CTD, CORRIDA_TRAMO CTO "); - sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); - sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); - sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); - sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND CTO.ACTIVO = 1 "); - sql.append(" AND CTD.ACTIVO = 1 "); - sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND CTD.NUMSECUENCIA "); - sql.append(" AND BO.ACTIVO = 1 "); - sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); - sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); - sql.append(" FROM "); - sql.append(" CORRIDA_TRAMO CT, "); - sql.append(" TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD "); - sql.append(" WHERE "); - sql.append(" CR.FECCORRIDA = CT.FECCORRIDA "); - sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); - sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS, "); - sql.append(" (SELECT COUNT( "); - sql.append(" (SELECT 1 "); - sql.append(" FROM BOLETO BO, CORRIDA_TRAMO CTD, CORRIDA_TRAMO CTO "); - sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); - sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); - sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); - sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" AND BO.PRECIOBASE = 0 "); - sql.append(" AND CTO.ACTIVO = 1 "); - sql.append(" AND CTD.ACTIVO = 1 "); - sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND CTD.NUMSECUENCIA "); - sql.append(" AND BO.ACTIVO = 1 "); - sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); - sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); - sql.append(" FROM "); - sql.append(" CORRIDA_TRAMO CT, "); - sql.append(" TRAMO TR, "); - sql.append(" ROL_OPERATIVO RO, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD "); - sql.append(" WHERE "); - sql.append(" CR.FECCORRIDA = CT.FECCORRIDA "); - sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); - sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS_GRATUIDADE "); - sql.append(" FROM CORRIDA CR "); - sql.append(" WHERE CR.CORRIDA_ID = ? "); - sql.append(" AND CR.FECCORRIDA = ? "); - sql.append(" ) TAB"); + sql.append(" SELECT round(NVL(TAB.TOTAL_ARRECADADO, 0), 2) TOTAL_ARRECADADO, "); + sql.append(" round(NVL(TAB.TOTAL_ARRECADADO / TAB.KM_NOMINAL, 0), 2) ARRECADADO_KM, "); + sql.append(" round(NVL(TAB.TOTAL_NOMINAL, 0), 2) TOTAL_NOMINAL, "); + sql.append(" round(TAB.TOTAL_NOMINAL / TAB.KM_NOMINAL, 2) NOMINAL_KM, "); + sql.append(" "); + sql.append(" ((TAB.TOTAL_OCUPADOS + TAB.TOTAL_OCUPADOS_OPERACAO) / "); + sql.append(" TAB.TOTAL_ACENTOS) OCUPACAO, "); + sql.append(" ((TAB.TOTAL_OCUPADOS - TAB.TOTAL_OCUPADOS_GRATUIDADE) / "); + sql.append(" TAB.TOTAL_ACENTOS) OCUPACAO_ARRECADACAO, "); + sql.append(" ((TAB.TOTAL_OCUPADOS_GRATUIDADE + TAB.TOTAL_OCUPADOS_OPERACAO) / "); + sql.append(" TAB.TOTAL_ACENTOS) OCUPACAO_S_ARRECADACAO "); + sql.append(" "); + sql.append(" FROM (SELECT (SELECT SUM(BO.PRECIOPAGADO) "); + sql.append(" FROM BOLETO BO "); + sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND BO.ACTIVO = 1 "); + sql.append(" AND BO.INDSTATUSOPERACION = 'F' "); + sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); + sql.append(" BO.MOTIVOCANCELACION_ID = 0)) TOTAL_ARRECADADO, "); + sql.append(" "); + sql.append(" (SELECT SUM(TR.CANTKMREAL) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DIAGRAMA_AUTOBUS DA "); + sql.append(" WHERE CT.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CT.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); + sql.append(" AND DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND TR.TRAMO_ID = CT.TRAMO_ID "); + sql.append(" AND TR.ACTIVO = 1 "); + sql.append(" AND CT.ACTIVO = 1) KM_NOMINAL, "); + sql.append(" "); + sql.append(" (SELECT SUM((SELECT TR.CANTKMREAL "); + sql.append(" FROM BOLETO BO, "); + sql.append(" CORRIDA_TRAMO CTD, "); + sql.append(" CORRIDA_TRAMO CTO "); + sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); + sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); + sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); + sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.ACTIVO = 1 "); + sql.append(" AND CTD.ACTIVO = 1 "); + sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND "); + sql.append(" CTD.NUMSECUENCIA "); + sql.append(" AND BO.ACTIVO = 1 "); + sql.append(" AND BO.INDSTATUSOPERACION = 'F' "); + sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); + sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA "); + sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); + sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND CT.ACTIVO = 1) KM_OCUPADA, "); + sql.append(" "); + sql.append(" (SELECT SUM(TF.PRECIO) "); + sql.append(" FROM TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD, "); + sql.append(" TARIFA TF, "); + sql.append(" VIGENCIA_TARIFA VT "); + sql.append(" WHERE RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND DD.ACTIVO = 1 "); + sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); + sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); + sql.append(" AND TF.MARCA_ID = CR.MARCA_ID "); + sql.append(" AND TF.RUTA_ID = CR.RUTA_ID "); + sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND TF.STATUSTARIFA = 'A' "); + sql.append(" AND TF.ACTIVO = 1 "); + sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + sql.append(" AND VT.ACTIVO = 1 "); + sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND "); + sql.append(" VT.FECFINVIGENCIA) TOTAL_NOMINAL, "); + sql.append(" "); + sql.append(" (SELECT COUNT(1) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" WHERE "); + sql.append(" "); + sql.append(" CR.FECCORRIDA = CT.FECCORRIDA "); + sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); + sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND DD.ACTIVO = 1 "); + sql.append(" AND CT.ACTIVO = 1) TOTAL_ACENTOS, "); + sql.append(" "); + sql.append(" (SELECT COUNT((SELECT 1 "); + sql.append(" FROM BOLETO BO, "); + sql.append(" CORRIDA_TRAMO CTD, "); + sql.append(" CORRIDA_TRAMO CTO "); + sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); + sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); + sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); + sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.ACTIVO = 1 "); + sql.append(" AND CTD.ACTIVO = 1 "); + sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND "); + sql.append(" CTD.NUMSECUENCIA "); + sql.append(" AND BO.ACTIVO = 1 "); + sql.append(" AND BO.INDSTATUSOPERACION = 'F' "); + sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); + sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA "); + sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); + sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND DD.ACTIVO = 1 "); + sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS, "); + sql.append(" (SELECT COUNT((SELECT 1 "); + sql.append(" FROM BOLETO BO, "); + sql.append(" CORRIDA_TRAMO CTD, "); + sql.append(" CORRIDA_TRAMO CTO "); + sql.append(" WHERE BO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND BO.NUMASIENTO = DD.ASIENTO "); + sql.append(" AND BO.ORIGEN_ID = CTO.ORIGEN_ID "); + sql.append(" AND BO.DESTINO_ID = CTD.DESTINO_ID "); + sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND BO.PRECIOBASE = 0 "); + sql.append(" AND CTO.ACTIVO = 1 "); + sql.append(" AND CTD.ACTIVO = 1 "); + sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND "); + sql.append(" CTD.NUMSECUENCIA "); + sql.append(" AND BO.ACTIVO = 1 "); + sql.append(" AND BO.INDSTATUSOPERACION = 'F' "); + sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR "); + sql.append(" BO.MOTIVOCANCELACION_ID = 0))) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA "); + sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); + sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND DD.ACTIVO = 1 "); + sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS_GRATUIDADE, "); + sql.append(" "); + sql.append(" (SELECT COUNT((SELECT 1 "); + sql.append(" FROM ASIENTO_EXCLUSIVO AE, "); + sql.append(" CORRIDA_TRAMO CTD, "); + sql.append(" CORRIDA_TRAMO CTO "); + sql.append(" WHERE AE.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND AE.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND AE.NUMASIENTO = DD.ASIENTO "); + sql.append(" AND AE.PARADA_ID = CTO.ORIGEN_ID "); + sql.append(" AND NVL(AE.DESTINO_ID, CR.DESTINO_ID) = "); + sql.append(" CTD.DESTINO_ID "); + sql.append(" AND CTD.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTD.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.CORRIDA_ID = CR.CORRIDA_ID "); + sql.append(" AND CTO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" AND CTO.ACTIVO = 1 "); + sql.append(" AND CTD.ACTIVO = 1 "); + sql.append(" AND CT.NUMSECUENCIA BETWEEN CTO.NUMSECUENCIA AND "); + sql.append(" CTD.NUMSECUENCIA "); + sql.append(" AND AE.ACTIVO = 1)) "); + sql.append(" FROM CORRIDA_TRAMO CT, "); + sql.append(" TRAMO TR, "); + sql.append(" ROL_OPERATIVO RO, "); + sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" WHERE CR.FECCORRIDA = CT.FECCORRIDA "); + sql.append(" AND CR.CORRIDA_ID = CT.CORRIDA_ID "); + sql.append(" AND CT.TRAMO_ID = TR.TRAMO_ID "); + sql.append(" AND CR.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID "); + sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); + sql.append(" AND DD.VENDIBLE = 1 "); + sql.append(" AND DD.ACTIVO = 1 "); + sql.append(" AND CT.ACTIVO = 1) TOTAL_OCUPADOS_OPERACAO "); + sql.append(" FROM CORRIDA CR "); + sql.append(" WHERE CR.CORRIDA_ID = ?"); + sql.append(" AND CR.FECCORRIDA = ? ) TAB "); + return sql.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jasper index 249bc80f0..cbf5b524b 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jrxml index 9e08805d1..d887d48f0 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAproveitamento.jrxml @@ -1,8 +1,8 @@ - - + + - +