diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index 8ec2074e9..e739d1106 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -16,6 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.GrupoRuta; import com.rjconsultores.ventaboletos.entidad.Ruta; 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.RelatorioLinhasHorarioBean; 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); totalPaxKMTransportado = totalPaxKMTransportado.add(horarioBean.getPaxKmTransportado() != null ? horarioBean.getPaxKmTransportado() : BigDecimal.ZERO); - // totalIAP = totalIAP.add(horarioBean.getIap() != null ? horarioBean.getIap() : BigDecimal.ZERO); - totalIAP = calcTotalIap(totalPaxKMTransportado, totalPaxKMOfertado); } @@ -408,56 +407,42 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" SUM(CJ.PRECIOPAGADO) AS PASSAGENS, "); sql.append(" ORD, "); sql.append(" EXTRA, "); - sql.append(" CASE "); - sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' "); - sql.append(" ELSE 'INTERMUNICIPAL' "); - sql.append(" END TIPO_LINHA, "); + sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' "); + sql.append(" ELSE 'INTERMUNICIPAL' END TIPO_LINHA, "); 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(" FROM RUTA_SECUENCIA RS "); - sql.append(" INNER JOIN TRAMO T "); - sql.append(" ON ( RS.TRAMO_ID = T.TRAMO_ID ) "); - sql.append(" WHERE RS.ACTIVO = 1 "); - sql.append(" AND T.ACTIVO = 1 "); + sql.append(" FROM RUTA_SECUENCIA RS "); + sql.append(" INNER JOIN TRAMO T ON ( RS.TRAMO_ID = T.TRAMO_ID ) "); + sql.append(" WHERE RS.ACTIVO = 1 AND T.ACTIVO = 1 "); sql.append(" GROUP BY RS.RUTA_ID) TB1, "); - sql.append(" (SELECT C.CORRIDA_ID, "); - sql.append(" COUNT(CASE "); - sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" AND C.TIPOSERVICIO_ID = 1 THEN 1 "); - sql.append(" ELSE NULL "); - sql.append(" END) AS ORD "); + sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, "); + sql.append(" COUNT(CASE 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(" FROM CORRIDA C "); sql.append(" WHERE C.ACTIVO = 1 "); - sql.append(" GROUP BY C.CORRIDA_ID) TB2, "); - sql.append(" (SELECT C.CORRIDA_ID, "); - sql.append(" COUNT(CASE "); - sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" AND C.TIPOSERVICIO_ID = 2 THEN 1 "); - sql.append(" ELSE NULL "); - sql.append(" END) AS EXTRA "); + sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID) TB2, "); + sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, "); + sql.append(" COUNT(CASE 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(" FROM CORRIDA C "); sql.append(" WHERE C.ACTIVO = 1 "); - sql.append(" GROUP BY C.CORRIDA_ID) TB3, "); - sql.append(" (SELECT C.CORRIDA_ID, "); - sql.append(" NVL(COUNT(CASE "); - sql.append(" WHEN C.FECCORRIDA "); - sql.append(" BETWEEN :DATA_INICIO AND :DATA_FINAL THEN "); - sql.append(" 1 "); - sql.append(" ELSE NULL "); - sql.append(" END), 0) AS ABSOL "); + sql.append(" GROUP BY C.CORRIDA_ID, C.ROLOPERATIVO_ID) TB3, "); + sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, "); + sql.append(" COUNT(CASE WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" THEN 1 ELSE NULL END) AS ABSOL "); sql.append(" FROM CORRIDA C "); sql.append(" LEFT JOIN BOLETO B "); - sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID "); - sql.append(" AND B.FECCORRIDA = C.FECCORRIDA ) "); - sql.append(" WHERE C.ACTIVO = 1 "); - sql.append(" AND B.ACTIVO = 1 "); + sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA ) "); + sql.append(" WHERE C.ACTIVO = 1 AND B.ACTIVO = 1 "); 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(" LEFT JOIN "); sql.append(" (SELECT CO.FECCORRIDA, "); sql.append(" CO.CORRIDA_ID, "); + sql.append(" CO.ROLOPERATIVO_ID, "); sql.append(" CO.RUTA_ID, "); sql.append(" BO.PRECIOBASE, "); 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(" GROUP BY CO.FECCORRIDA, "); sql.append(" CO.CORRIDA_ID, "); + sql.append(" CO.ROLOPERATIVO_ID, "); sql.append(" CO.RUTA_ID, "); sql.append(" BO.PRECIOBASE, "); sql.append(" BO.NUMKMVIAJE) CJ "); 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(" ON ( C.ORIGEN_ID = ORIGEM.PARADA_ID ) "); 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(" AND TB1.RUTA_ID = C.RUTA_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.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); sql.append(" AND TB4.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND TB4.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); if (empresa != null) { sql.append(" AND C.EMPRESACORRIDA_ID IN ( " + empresa.getEmpresaId() + " ) "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper index b45c85b01..3f06c6dc7 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml index 3b1c7067c..f51a72f97 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml @@ -2,7 +2,7 @@ - + @@ -215,17 +215,17 @@ - + - + - + @@ -236,150 +236,150 @@ - + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -393,167 +393,167 @@ - + - + - + - + - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + @@ -571,297 +571,291 @@ - + - - + - - + - - + - - + - - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -875,196 +869,196 @@ - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - + - - + + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - + + @@ -1083,148 +1077,148 @@ - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + @@ -1235,8 +1229,7 @@ - - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusCorrida.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusCorrida.java new file mode 100644 index 000000000..122908a1f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusCorrida.java @@ -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; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java index c13ff59fb..fb6a46f76 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java @@ -55,9 +55,9 @@ public class RelatorioLinhasHorarioBean { this.sentido = ""; } else { if (sen.intValue() == 1) { - this.sentido = "ida"; + this.sentido = "Ida"; } else { - this.sentido = "volta"; + this.sentido = "Volta"; } } }