relatório Aproveitamento / Arrecadado e Ocupação (fixes bug #6276)
Tempo: 3 horas git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43871 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
c1941a030c
commit
d622dbedf6
|
@ -8,13 +8,16 @@ import java.math.RoundingMode;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
||||||
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAcompanhamentoEquivalenteBean;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
|
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -102,10 +105,17 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
cal.setTime(dataInicial);
|
cal.setTime(dataInicial);
|
||||||
cal.set(Calendar.DATE, 1);
|
cal.set(Calendar.DATE, 1);
|
||||||
|
|
||||||
|
List<RelatorioAcompanhamentoEquivalenteBean> ls = getValorByIndicador(corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR"), assentos, dataInicial);
|
||||||
|
|
||||||
// Roda todos os dias do mes
|
// Roda todos os dias do mes
|
||||||
for (int dia = 1; dia <= cal.getActualMaximum(Calendar.DATE); dia++) {
|
for (int dia = 1; dia <= cal.getActualMaximum(Calendar.DATE); dia++) {
|
||||||
|
|
||||||
BigDecimal valor = getValorByIndicador(cal.getTime(), corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR"), assentos);
|
BigDecimal valor = BigDecimal.ZERO;
|
||||||
|
RelatorioAcompanhamentoEquivalenteBean equivalenteBean = buscarAcompanhamentoEquivalente(ls, cal.getTime());
|
||||||
|
|
||||||
|
if (equivalenteBean != null) {
|
||||||
|
valor = equivalenteBean.getValor();
|
||||||
|
}
|
||||||
|
|
||||||
if (valor != null) {
|
if (valor != null) {
|
||||||
totalMes = totalMes.add(valor);
|
totalMes = totalMes.add(valor);
|
||||||
|
@ -138,7 +148,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BigDecimal getValorByIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos) throws SQLException {
|
protected List<RelatorioAcompanhamentoEquivalenteBean> getValorByIndicador(Integer corridaId,
|
||||||
|
Integer rolOperativoId, Integer indicador, Integer assentos, Date dataInicial) throws SQLException {
|
||||||
|
|
||||||
String sql = null;
|
String sql = null;
|
||||||
|
|
||||||
|
@ -166,12 +177,21 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return getValorIndicador(data, corridaId, rolOperativoId, indicador, assentos, sql);
|
return getListaValoresIndicadores(corridaId, rolOperativoId, indicador, assentos, sql, dataInicial);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected RelatorioAcompanhamentoEquivalenteBean buscarAcompanhamentoEquivalente(List<RelatorioAcompanhamentoEquivalenteBean> ls, Date data) {
|
||||||
|
|
||||||
|
for (RelatorioAcompanhamentoEquivalenteBean equivalente : ls) {
|
||||||
|
if (equivalente.getFeccorrida().equals(data))
|
||||||
|
return equivalente;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
protected String getSqlIndicadorEq() {
|
protected String getSqlIndicadorEq() {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append(" SELECT ROUND((SELECT TF.PRECIO");
|
sql.append(" SELECT ROUND((SELECT TF.PRECIO");
|
||||||
|
@ -255,41 +275,49 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getSqlIndicadorIap() {
|
protected String getSqlIndicadorIap() {
|
||||||
|
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append(" SELECT ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ( :CAPACIDADE * ");
|
sql.append("SELECT ");
|
||||||
sql.append(" EXTENSAO_LINHA ))), ");
|
sql.append(" ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ");
|
||||||
sql.append(" :MAX_DECIMAL ) VALOR ");
|
sql.append(" ( :CAPACIDADE * EXTENSAO_LINHA ))), :MAX_DECIMAL ) VALOR, ");
|
||||||
sql.append(" FROM (SELECT ROUND(SUM(EQ), :MAX_DECIMAL) EQUIVALENTE, ");
|
sql.append(" FINAL_TAV.CORRIDA_ID, FINAL_TAV.FECCORRIDA ");
|
||||||
sql.append(" EL EXTENSAO_LINHA ");
|
sql.append("FROM ");
|
||||||
sql.append(" FROM (SELECT ROUND(( BO.NUMKMVIAJE / ( EXTENSAO_LINHA.EL ) * COUNT(1)");
|
sql.append(" (SELECT ");
|
||||||
sql.append(" ), :MAX_DECIMAL ) ");
|
sql.append(" ROUND(SUM(TAV.EQ), :MAX_DECIMAL) EQUIVALENTE, TAV.EL EXTENSAO_LINHA, TAV.CORRIDA_ID, TAV.FECCORRIDA ");
|
||||||
sql.append(" EQ, ");
|
sql.append(" FROM ");
|
||||||
sql.append(" EXTENSAO_LINHA.EL ");
|
sql.append(" (SELECT ");
|
||||||
sql.append(" EL ");
|
sql.append(" ROUND(( BO.NUMKMVIAJE / ( EXTENSAO_LINHA.EL ) * COUNT(1) ), :MAX_DECIMAL) EQ, ");
|
||||||
sql.append(" FROM BOLETO BO, CORRIDA C, ");
|
sql.append(" EXTENSAO_LINHA.EL EL, BO.CORRIDA_ID, BO.FECCORRIDA ");
|
||||||
sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL ");
|
sql.append(" FROM BOLETO BO, CORRIDA C, ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT1, ");
|
sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL, CT1.CORRIDA_ID, CT1.FECCORRIDA, CR.ROLOPERATIVO_ID ");
|
||||||
sql.append(" TRAMO TR1 ");
|
sql.append(" FROM CORRIDA CR ");
|
||||||
sql.append(" WHERE CT1.CORRIDA_ID = :CORRIDA_ID ");
|
sql.append(" INNER JOIN CORRIDA_TRAMO CT1 ON CR.CORRIDA_ID = CT1.CORRIDA_ID AND CR.FECCORRIDA = CT1.FECCORRIDA ");
|
||||||
sql.append(" AND CT1.FECCORRIDA = :FECCORRIDA ");
|
sql.append(" INNER JOIN TRAMO TR1 ON TR1.TRAMO_ID = CT1.TRAMO_ID ");
|
||||||
sql.append(" AND TR1.TRAMO_ID = CT1.TRAMO_ID ");
|
sql.append(" WHERE CT1.ACTIVO = 1 AND CR.ACTIVO <> 0 AND TR1.ACTIVO = 1 ");
|
||||||
sql.append(" AND CT1.ACTIVO = 1 ) EXTENSAO_LINHA ");
|
sql.append(" GROUP BY CT1.CORRIDA_ID, CT1.FECCORRIDA, CR.ROLOPERATIVO_ID) EXTENSAO_LINHA ");
|
||||||
sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID ");
|
sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
sql.append(" AND TO_CHAR(BO.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
|
||||||
sql.append(" AND C.corrida_id = BO.corrida_id ");
|
// sql.append(" AND BO.FECCORRIDA between to_date('01052015 00:00','ddmmyyyy hh24:mi') and to_date('31052015 23:59','ddmmyyyy hh24:mi') ");
|
||||||
sql.append(" AND C.feccorrida = BO.feccorrida ");
|
sql.append(" and EXTENSAO_LINHA.CORRIDA_ID = BO.CORRIDA_ID ");
|
||||||
sql.append(" AND C.roloperativo_id = :ROLOPERATIVO_ID ");
|
sql.append(" AND EXTENSAO_LINHA.FECCORRIDA = BO.FECCORRIDA ");
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
sql.append(" AND EXTENSAO_LINHA.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
|
||||||
sql.append(" AND ( BO.MOTIVOCANCELACION_ID IS NULL ");
|
sql.append(" AND C.CORRIDA_ID = BO.CORRIDA_ID ");
|
||||||
sql.append(" OR BO.MOTIVOCANCELACION_ID = 0 ) ");
|
sql.append(" AND C.FECCORRIDA = BO.FECCORRIDA ");
|
||||||
sql.append(" GROUP BY BO.NUMKMVIAJE, EXTENSAO_LINHA.EL) ");
|
sql.append(" AND C.ROLOPERATIVO_ID = :ROLOPERATIVO_ID ");
|
||||||
sql.append(" GROUP BY EQ, EL) ");
|
sql.append(" AND BO.ACTIVO = 1 ");
|
||||||
|
sql.append(" AND C.ACTIVO <> 0 ");
|
||||||
|
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ) ");
|
||||||
|
sql.append(" GROUP BY BO.NUMKMVIAJE, EXTENSAO_LINHA.EL, BO.CORRIDA_ID, BO.FECCORRIDA) TAV ");
|
||||||
|
sql.append(" GROUP BY EQ, TAV.EL, TAV.CORRIDA_ID, TAV.FECCORRIDA ) FINAL_TAV ");
|
||||||
|
sql.append("GROUP BY FINAL_TAV.CORRIDA_ID, FINAL_TAV.FECCORRIDA ");
|
||||||
|
sql.append("ORDER BY FINAL_TAV.FECCORRIDA");
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getSqlIndicadorReceitaKm() {
|
protected String getSqlIndicadorReceitaKm() {
|
||||||
|
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append(" SELECT (RECEITA / (SELECT SUM(TR1.CANTKMREAL) ");
|
sql.append(" SELECT (RECEITA / (SELECT SUM(TR1.CANTKMREAL) ");
|
||||||
sql.append(" FROM CORRIDA_TRAMO CT1 ");
|
sql.append(" FROM CORRIDA_TRAMO CT1 ");
|
||||||
|
@ -314,12 +342,11 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0)) RC ");
|
sql.append(" BO.MOTIVOCANCELACION_ID = 0)) RC ");
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getSqlIndicadorReceitaViagem() {
|
protected String getSqlIndicadorReceitaViagem() {
|
||||||
StringBuilder sql = new StringBuilder();
|
|
||||||
|
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT SUM(BO.PRECIOPAGADO + BO.IMPORTEPEDAGIO + BO.IMPORTESEGURO + ");
|
sql.append("SELECT SUM(BO.PRECIOPAGADO + BO.IMPORTEPEDAGIO + BO.IMPORTESEGURO + ");
|
||||||
sql.append(" BO.IMPORTETAXAEMBARQUE) VALOR ");
|
sql.append(" BO.IMPORTETAXAEMBARQUE) VALOR ");
|
||||||
sql.append(" FROM BOLETO BO ");
|
sql.append(" FROM BOLETO BO ");
|
||||||
|
@ -334,7 +361,6 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
sql.append(" BO.MOTIVOCANCELACION_ID = 0) ");
|
sql.append(" BO.MOTIVOCANCELACION_ID = 0) ");
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getSqlIndicadorEquivalentes() {
|
protected String getSqlIndicadorEquivalentes() {
|
||||||
|
@ -397,8 +423,10 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BigDecimal getValorIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos, String sql) throws SQLException {
|
protected List<RelatorioAcompanhamentoEquivalenteBean> getListaValoresIndicadores(Integer corridaId, Integer rolOperativoId,
|
||||||
BigDecimal retorno = null;
|
Integer indicador, Integer assentos, String sql, Date dataInicial) throws SQLException {
|
||||||
|
// BigDecimal retorno = null;
|
||||||
|
List<RelatorioAcompanhamentoEquivalenteBean> lsEquivalente = new ArrayList<RelatorioAcompanhamentoEquivalenteBean>();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
Connection conexao = this.getConexao();
|
Connection conexao = this.getConexao();
|
||||||
|
@ -406,7 +434,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
|
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
|
||||||
|
|
||||||
stmt.setInt("CORRIDA_ID", corridaId);
|
stmt.setInt("CORRIDA_ID", corridaId);
|
||||||
stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime()));
|
// stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime()));
|
||||||
|
stmt.setDate("DATA_MES", new java.sql.Date(dataInicial.getTime()));
|
||||||
|
|
||||||
if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) {
|
if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) {
|
||||||
stmt.setInt("CAPACIDADE", assentos);
|
stmt.setInt("CAPACIDADE", assentos);
|
||||||
|
@ -419,8 +448,16 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
|
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
|
||||||
if (resultSet.next())
|
while (resultSet.next()) {
|
||||||
retorno = resultSet.getBigDecimal("VALOR");
|
|
||||||
|
RelatorioAcompanhamentoEquivalenteBean equivalenteBean = new RelatorioAcompanhamentoEquivalenteBean();
|
||||||
|
equivalenteBean.setValor(resultSet.getBigDecimal("VALOR"));
|
||||||
|
equivalenteBean.setCorridaId(resultSet.getInt("CORRIDA_ID"));
|
||||||
|
equivalenteBean.setFeccorrida(resultSet.getDate("FECCORRIDA"));
|
||||||
|
lsEquivalente.add(equivalenteBean);
|
||||||
|
// retorno = resultSet.getBigDecimal("VALOR");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
resultSet.close();
|
resultSet.close();
|
||||||
stmt.close();
|
stmt.close();
|
||||||
|
@ -428,7 +465,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
return retorno;
|
return lsEquivalente;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -492,6 +529,9 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||||
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
||||||
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
||||||
sql.append(" AND CR.TIPOSERVICIO_ID = NVL(:TIPOSERVICIO_ID, CR.TIPOSERVICIO_ID) ");
|
sql.append(" AND CR.TIPOSERVICIO_ID = NVL(:TIPOSERVICIO_ID, CR.TIPOSERVICIO_ID) ");
|
||||||
|
|
||||||
|
// sql.append(" AND CR.FECCORRIDA BETWEEN TO_DATE('01052015 00:00','DDMMYYYY HH24:MI') AND TO_DATE('05052015 23:59','DDMMYYYY HH24:MI') ");
|
||||||
|
|
||||||
sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
|
sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
|
||||||
sql.append(" ORDER BY INTERESTADUAL, GRUPO_LINHA, SIGLA");
|
sql.append(" ORDER BY INTERESTADUAL, GRUPO_LINHA, SIGLA");
|
||||||
|
|
||||||
|
|
|
@ -278,54 +278,23 @@ public class RelatorioAproveitamento extends Relatorio {
|
||||||
sql.append(" BO.BOLETO_ID AS BOLETO_ID, ");
|
sql.append(" BO.BOLETO_ID AS BOLETO_ID, ");
|
||||||
sql.append(" BO.ORIGEN_ID AS ORIGEN_ID, ");
|
sql.append(" BO.ORIGEN_ID AS ORIGEN_ID, ");
|
||||||
sql.append(" BO.DESTINO_ID AS DESTINO_ID, ");
|
sql.append(" BO.DESTINO_ID AS DESTINO_ID, ");
|
||||||
sql.append(" CASE ");
|
sql.append(" BO.NUMKMVIAJE AS CANTKMREAL, ");
|
||||||
sql.append(" WHEN BO.PRECIOBASE = 0 ");
|
sql.append(" CASE WHEN BO.PRECIOBASE = 0 THEN 1 ELSE 0 END AS GRATUITO, ");
|
||||||
sql.append(" THEN 1 ");
|
sql.append(" CASE WHEN BO.PRECIOBASE > 0 THEN 1 ELSE 0 END AS VENDIDOS, ");
|
||||||
sql.append(" ELSE 0 ");
|
|
||||||
sql.append(" END AS GRATUITO, ");
|
|
||||||
sql.append(" CASE ");
|
|
||||||
sql.append(" WHEN BO.PRECIOBASE > 0 ");
|
|
||||||
sql.append(" THEN 1 ");
|
|
||||||
sql.append(" ELSE 0 ");
|
|
||||||
sql.append(" END AS VENDIDOS, ");
|
|
||||||
sql.append(" TR.CANTKMREAL, ");
|
|
||||||
sql.append(" RO.DESCROLOPERATIVO, ");
|
sql.append(" RO.DESCROLOPERATIVO, ");
|
||||||
sql.append(" ( ");
|
sql.append(" (SELECT SUM(CANTKMREAL) FROM CORRIDA_TRAMO BO ");
|
||||||
sql.append(" SELECT ");
|
sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = BO.TRAMO_ID ");
|
||||||
sql.append(" SUM(CANTKMREAL) ");
|
sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" FROM ");
|
|
||||||
sql.append(" CORRIDA_TRAMO BO ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" TRAMO T ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" T.TRAMO_ID = BO.TRAMO_ID ");
|
|
||||||
sql.append(" WHERE ");
|
|
||||||
sql.append(" BO.CORRIDA_ID = :CORRIDA_ID ");
|
|
||||||
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" AND BO.ACTIVO = 1) AS KM_CORRIDA, ");
|
sql.append(" AND BO.ACTIVO = 1) AS KM_CORRIDA, ");
|
||||||
sql.append(" ( ");
|
sql.append(" (SELECT TF.PRECIO FROM CORRIDA CR ");
|
||||||
sql.append(" SELECT ");
|
sql.append(" INNER JOIN TRAMO TR ON TR.ORIGEN_ID = CR.ORIGEN_ID AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
||||||
sql.append(" TF.PRECIO ");
|
sql.append(" INNER JOIN TARIFA TF ON TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
||||||
sql.append(" FROM ");
|
|
||||||
sql.append(" CORRIDA CR ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" TRAMO TR ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
|
||||||
sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" TARIFA TF ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
|
||||||
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
||||||
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
||||||
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
||||||
sql.append(" INNER JOIN ");
|
sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
||||||
sql.append(" VIGENCIA_TARIFA VT ");
|
sql.append(" WHERE CR.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
|
||||||
sql.append(" WHERE ");
|
|
||||||
sql.append(" CR.CORRIDA_ID = :CORRIDA_ID ");
|
|
||||||
sql.append(" AND CR.FECCORRIDA = :FECCORRIDA ");
|
sql.append(" AND CR.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
||||||
sql.append(" AND TF.ACTIVO = 1 ");
|
sql.append(" AND TF.ACTIVO = 1 ");
|
||||||
|
@ -333,70 +302,25 @@ public class RelatorioAproveitamento extends Relatorio {
|
||||||
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA) AS TARIFA ");
|
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA) AS TARIFA ");
|
||||||
sql.append(" FROM ");
|
sql.append(" FROM ");
|
||||||
sql.append(" BOLETO BO ");
|
sql.append(" BOLETO BO ");
|
||||||
sql.append(" INNER JOIN ");
|
sql.append(" INNER JOIN CORRIDA CR ON BO.CORRIDA_ID = CR.CORRIDA_ID AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
||||||
sql.append(" CORRIDA CR ");
|
sql.append(" INNER JOIN ROL_OPERATIVO RO ON RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID ");
|
||||||
sql.append(" ON ");
|
sql.append(" INNER JOIN DET_DIAGRAMA_AUTOBUS DD ON RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
||||||
sql.append(" BO.CORRIDA_ID = CR.CORRIDA_ID ");
|
|
||||||
sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" CORRIDA_TRAMO CT ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" BO.ORIGEN_ID = CT.ORIGEN_ID ");
|
|
||||||
sql.append(" AND BO.DESTINO_ID = CT.DESTINO_ID ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" TRAMO TR ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TR.TRAMO_ID = CT.TRAMO_ID ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" TARIFA TF ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID ");
|
|
||||||
sql.append(" AND TF.MARCA_ID = CR.MARCA_ID ");
|
|
||||||
sql.append(" AND TF.RUTA_ID = CR.RUTA_ID ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" VIGENCIA_TARIFA VT ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID ");
|
|
||||||
sql.append(" INNER JOIN ");
|
|
||||||
sql.append(" ROL_OPERATIVO RO ");
|
|
||||||
sql.append(" ON ");
|
|
||||||
sql.append(" RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID, ");
|
|
||||||
sql.append(" DET_DIAGRAMA_AUTOBUS DD ");
|
|
||||||
sql.append(" WHERE ");
|
sql.append(" WHERE ");
|
||||||
sql.append(" BO.CORRIDA_ID = :CORRIDA_ID ");
|
sql.append(" BO.CORRIDA_ID = :CORRIDA_ID ");
|
||||||
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
sql.append(" AND BO.FECCORRIDA = :FECCORRIDA ");
|
||||||
sql.append(" AND CR.ACTIVO = 1 ");
|
sql.append(" AND CR.ACTIVO = 1 ");
|
||||||
sql.append(" AND CT.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND BO.ACTIVO = 1 ");
|
sql.append(" AND BO.ACTIVO = 1 ");
|
||||||
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
|
||||||
|
sql.append(" AND BO.CATEGORIA_ID <> 52 ");
|
||||||
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL ");
|
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL ");
|
||||||
sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID ");
|
|
||||||
sql.append(" AND TF.STATUSTARIFA = 'A' ");
|
|
||||||
sql.append(" AND TF.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND VT.ACTIVO = 1 ");
|
|
||||||
sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
|
|
||||||
sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID ");
|
|
||||||
sql.append(" AND DD.VENDIBLE = 1 ");
|
|
||||||
sql.append(" AND DD.ACTIVO = 1 ");
|
|
||||||
sql.append(" GROUP BY ");
|
sql.append(" GROUP BY ");
|
||||||
|
sql.append(" BO.PRECIOPAGADO, ");
|
||||||
sql.append(" BO.BOLETO_ID, ");
|
sql.append(" BO.BOLETO_ID, ");
|
||||||
sql.append(" BO.ORIGEN_ID, ");
|
sql.append(" BO.ORIGEN_ID, ");
|
||||||
sql.append(" BO.DESTINO_ID, ");
|
sql.append(" BO.DESTINO_ID, ");
|
||||||
sql.append(" ( ");
|
sql.append(" BO.NUMKMVIAJE, ");
|
||||||
sql.append(" CASE ");
|
sql.append(" (CASE WHEN BO.PRECIOBASE = 0 THEN 1 ELSE 0 END), ");
|
||||||
sql.append(" WHEN BO.PRECIOBASE = 0 ");
|
sql.append(" (CASE WHEN BO.PRECIOBASE > 0 THEN 1 ELSE 0 END), ");
|
||||||
sql.append(" THEN 1 ");
|
|
||||||
sql.append(" ELSE 0 ");
|
|
||||||
sql.append(" END), ");
|
|
||||||
sql.append(" ( ");
|
|
||||||
sql.append(" CASE ");
|
|
||||||
sql.append(" WHEN BO.PRECIOBASE > 0 ");
|
|
||||||
sql.append(" THEN 1 ");
|
|
||||||
sql.append(" ELSE 0 ");
|
|
||||||
sql.append(" END), ");
|
|
||||||
sql.append(" TR.CANTKMREAL, ");
|
|
||||||
sql.append(" BO.PRECIOPAGADO, ");
|
|
||||||
sql.append(" TF.PRECIO, ");
|
|
||||||
sql.append(" RO.DESCROLOPERATIVO ");
|
sql.append(" RO.DESCROLOPERATIVO ");
|
||||||
sql.append(" ORDER BY ");
|
sql.append(" ORDER BY ");
|
||||||
sql.append(" BO.ORIGEN_ID, ");
|
sql.append(" BO.ORIGEN_ID, ");
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class RelatorioAcompanhamentoEquivalenteBean {
|
||||||
|
|
||||||
|
private BigDecimal valor;
|
||||||
|
private Integer corridaId;
|
||||||
|
private Date feccorrida;
|
||||||
|
|
||||||
|
public BigDecimal getValor() {
|
||||||
|
return valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValor(BigDecimal valor) {
|
||||||
|
this.valor = valor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCorridaId() {
|
||||||
|
return corridaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCorridaId(Integer corridaId) {
|
||||||
|
this.corridaId = corridaId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getFeccorrida() {
|
||||||
|
return feccorrida;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFeccorrida(Date feccorrida) {
|
||||||
|
this.feccorrida = feccorrida;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "RelatorioAcompanhamentoEquivalenteBean [valor=" + valor + ", corridaId=" + corridaId + ", feccorrida=" + feccorrida + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue