julio 2014-02-03 14:41:35 +00:00
parent aa7281171e
commit 9341268afe
5 changed files with 263 additions and 264 deletions

View File

@ -16,6 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.GrupoRuta; import com.rjconsultores.ventaboletos.entidad.GrupoRuta;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusCorrida;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioLinhasHorarioBean; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioLinhasHorarioBean;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
@ -193,8 +194,6 @@ public class RelatorioLinhasHorario extends Relatorio {
totalPaxKMOfertado = totalPaxKMOfertado.add(horarioBean.getPaxKmOfertado() != null ? horarioBean.getPaxKmOfertado() : BigDecimal.ZERO); totalPaxKMOfertado = totalPaxKMOfertado.add(horarioBean.getPaxKmOfertado() != null ? horarioBean.getPaxKmOfertado() : BigDecimal.ZERO);
totalPaxKMTransportado = totalPaxKMTransportado.add(horarioBean.getPaxKmTransportado() != null ? horarioBean.getPaxKmTransportado() : BigDecimal.ZERO); totalPaxKMTransportado = totalPaxKMTransportado.add(horarioBean.getPaxKmTransportado() != null ? horarioBean.getPaxKmTransportado() : BigDecimal.ZERO);
// totalIAP = totalIAP.add(horarioBean.getIap() != null ? horarioBean.getIap() : BigDecimal.ZERO);
totalIAP = calcTotalIap(totalPaxKMTransportado, totalPaxKMOfertado); totalIAP = calcTotalIap(totalPaxKMTransportado, totalPaxKMOfertado);
} }
@ -408,56 +407,42 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" SUM(CJ.PRECIOPAGADO) AS PASSAGENS, "); sql.append(" SUM(CJ.PRECIOPAGADO) AS PASSAGENS, ");
sql.append(" ORD, "); sql.append(" ORD, ");
sql.append(" EXTRA, "); sql.append(" EXTRA, ");
sql.append(" CASE "); sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ");
sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' "); sql.append(" ELSE 'INTERMUNICIPAL' END TIPO_LINHA, ");
sql.append(" ELSE 'INTERMUNICIPAL' ");
sql.append(" END TIPO_LINHA, ");
sql.append(" ABSOL "); sql.append(" ABSOL ");
sql.append(" FROM (SELECT RS.RUTA_ID, "); sql.append(" FROM ");
sql.append(" (SELECT RS.RUTA_ID, ");
sql.append(" SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO "); sql.append(" SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO ");
sql.append(" FROM RUTA_SECUENCIA RS "); sql.append(" FROM RUTA_SECUENCIA RS ");
sql.append(" INNER JOIN TRAMO T "); sql.append(" INNER JOIN TRAMO T ON ( RS.TRAMO_ID = T.TRAMO_ID ) ");
sql.append(" ON ( RS.TRAMO_ID = T.TRAMO_ID ) "); sql.append(" WHERE RS.ACTIVO = 1 AND T.ACTIVO = 1 ");
sql.append(" WHERE RS.ACTIVO = 1 ");
sql.append(" AND T.ACTIVO = 1 ");
sql.append(" GROUP BY RS.RUTA_ID) TB1, "); sql.append(" GROUP BY RS.RUTA_ID) TB1, ");
sql.append(" (SELECT C.CORRIDA_ID, "); sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, ");
sql.append(" COUNT(CASE "); sql.append(" COUNT(CASE WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); sql.append(" AND C.TIPOSERVICIO_ID = 1 THEN 1 ELSE NULL END) AS ORD ");
sql.append(" AND C.TIPOSERVICIO_ID = 1 THEN 1 ");
sql.append(" ELSE NULL ");
sql.append(" END) AS ORD ");
sql.append(" FROM CORRIDA C "); sql.append(" FROM CORRIDA C ");
sql.append(" WHERE C.ACTIVO = 1 "); sql.append(" WHERE C.ACTIVO = 1 ");
sql.append(" GROUP BY C.CORRIDA_ID) TB2, "); sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID) TB2, ");
sql.append(" (SELECT C.CORRIDA_ID, "); sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, ");
sql.append(" COUNT(CASE "); sql.append(" COUNT(CASE WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); sql.append(" AND C.TIPOSERVICIO_ID = 2 THEN 1 ELSE NULL END) AS EXTRA ");
sql.append(" AND C.TIPOSERVICIO_ID = 2 THEN 1 ");
sql.append(" ELSE NULL ");
sql.append(" END) AS EXTRA ");
sql.append(" FROM CORRIDA C "); sql.append(" FROM CORRIDA C ");
sql.append(" WHERE C.ACTIVO = 1 "); sql.append(" WHERE C.ACTIVO = 1 ");
sql.append(" GROUP BY C.CORRIDA_ID) TB3, "); sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID) TB3, ");
sql.append(" (SELECT C.CORRIDA_ID, "); sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, ");
sql.append(" NVL(COUNT(CASE "); sql.append(" COUNT(CASE WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" WHEN C.FECCORRIDA "); sql.append(" THEN 1 ELSE NULL END) AS ABSOL ");
sql.append(" BETWEEN :DATA_INICIO AND :DATA_FINAL THEN ");
sql.append(" 1 ");
sql.append(" ELSE NULL ");
sql.append(" END), 0) AS ABSOL ");
sql.append(" FROM CORRIDA C "); sql.append(" FROM CORRIDA C ");
sql.append(" LEFT JOIN BOLETO B "); sql.append(" LEFT JOIN BOLETO B ");
sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA ) ");
sql.append(" AND B.FECCORRIDA = C.FECCORRIDA ) "); sql.append(" WHERE C.ACTIVO = 1 AND B.ACTIVO = 1 ");
sql.append(" WHERE C.ACTIVO = 1 ");
sql.append(" AND B.ACTIVO = 1 ");
sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL ");
sql.append(" GROUP BY C.CORRIDA_ID) TB4, "); sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID) TB4, ");
sql.append(" CORRIDA C "); sql.append(" CORRIDA C ");
sql.append(" LEFT JOIN "); sql.append(" LEFT JOIN ");
sql.append(" (SELECT CO.FECCORRIDA, "); sql.append(" (SELECT CO.FECCORRIDA, ");
sql.append(" CO.CORRIDA_ID, "); sql.append(" CO.CORRIDA_ID, ");
sql.append(" CO.ROLOPERATIVO_ID, ");
sql.append(" CO.RUTA_ID, "); sql.append(" CO.RUTA_ID, ");
sql.append(" BO.PRECIOBASE, "); sql.append(" BO.PRECIOBASE, ");
sql.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / (SELECT SUM(TR.CANTKMREAL) "); sql.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / (SELECT SUM(TR.CANTKMREAL) ");
@ -476,11 +461,13 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0) "); sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0) ");
sql.append(" GROUP BY CO.FECCORRIDA, "); sql.append(" GROUP BY CO.FECCORRIDA, ");
sql.append(" CO.CORRIDA_ID, "); sql.append(" CO.CORRIDA_ID, ");
sql.append(" CO.ROLOPERATIVO_ID, ");
sql.append(" CO.RUTA_ID, "); sql.append(" CO.RUTA_ID, ");
sql.append(" BO.PRECIOBASE, "); sql.append(" BO.PRECIOBASE, ");
sql.append(" BO.NUMKMVIAJE) CJ "); sql.append(" BO.NUMKMVIAJE) CJ ");
sql.append(" ON ( CJ.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" ON ( CJ.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND CJ.FECCORRIDA = C.FECCORRIDA ) "); sql.append(" AND CJ.FECCORRIDA = C.FECCORRIDA ");
sql.append(" AND CJ.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ) ");
sql.append(" LEFT JOIN PARADA ORIGEM "); sql.append(" LEFT JOIN PARADA ORIGEM ");
sql.append(" ON ( C.ORIGEN_ID = ORIGEM.PARADA_ID ) "); sql.append(" ON ( C.ORIGEN_ID = ORIGEM.PARADA_ID ) ");
sql.append(" LEFT JOIN PARADA DESTINO "); sql.append(" LEFT JOIN PARADA DESTINO ");
@ -516,8 +503,11 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" WHERE CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); sql.append(" WHERE CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
sql.append(" AND TB1.RUTA_ID = C.RUTA_ID "); sql.append(" AND TB1.RUTA_ID = C.RUTA_ID ");
sql.append(" AND TB2.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND TB2.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append(" AND TB3.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND TB3.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND TB3.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append(" AND TB4.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND TB4.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND TB4.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
if (empresa != null) { if (empresa != null) {
sql.append(" AND C.EMPRESACORRIDA_ID IN ( " + empresa.getEmpresaId() + " ) "); sql.append(" AND C.EMPRESACORRIDA_ID IN ( " + empresa.getEmpresaId() + " ) ");

View File

@ -0,0 +1,16 @@
package com.rjconsultores.ventaboletos.relatorios.utilitarios;
public enum IndStatusCorrida {
HABILITADO("H"), FECHADO("P"), CANCELADO("C"), LATENTE("L"), EXTRA("E");
private String value;
private IndStatusCorrida(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}

View File

@ -55,9 +55,9 @@ public class RelatorioLinhasHorarioBean {
this.sentido = ""; this.sentido = "";
} else { } else {
if (sen.intValue() == 1) { if (sen.intValue() == 1) {
this.sentido = "ida"; this.sentido = "Ida";
} else { } else {
this.sentido = "volta"; this.sentido = "Volta";
} }
} }
} }