diff --git a/pom.xml b/pom.xml
index 94942c2c7..a37095d56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
br.com.rjconsultores
ventaboletosadm
- 1.0.58
+ 1.0.59
war
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java
index 1fc88d7bd..5c00388eb 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java
@@ -1,10 +1,10 @@
package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
-import java.math.MathContext;
-import java.math.RoundingMode;
import java.sql.Connection;
import java.sql.ResultSet;
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -20,7 +20,6 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioLinhasHorarioBean;
import com.rjconsultores.ventaboletos.service.ConstanteService;
-import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
@@ -42,64 +41,53 @@ public class RelatorioLinhasHorario extends Relatorio {
public void initDados() throws Exception {
CONSTANTE_GRATUIDADE_CRIANCA = buscarConstante("GRATUIDADE_CRIANCA");
-
+ SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Connection conexao = this.relatorio.getConexao();
-
Map parametros = this.relatorio.getParametros();
-
ArrayList lsNumLinha = (ArrayList) parametros.get("lsNumLinha");
ArrayList lsNumServico = (ArrayList) parametros.get("lsNumServico");
-
- String servicoFiltro = "";
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- servicoFiltro = "" + corrida.getId().getCorridaId();
- } else {
- servicoFiltro += ", " + corrida.getId().getCorridaId();
- }
- }
- } else {
- servicoFiltro = "TODOS";
- }
- parametros.put("SERVICO_FILTRO", servicoFiltro);
-
- String linhaFiltro = "";
- if (lsNumLinha.size() > 0) {
- for (Ruta ruta : lsNumLinha) {
- if (lsNumLinha.indexOf(ruta) == 0) {
- linhaFiltro = "" + ruta.getRutaId();
- } else {
- linhaFiltro += ", " + ruta.getRutaId();
- }
- }
- } else {
- linhaFiltro = "TODOS";
- }
- parametros.put("LINHA_FILTRO", linhaFiltro);
-
+ parametros.put("SERVICO_FILTRO", retornaFiltro(lsNumServico, null));
+ parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha));
+
Empresa empresa = (Empresa) parametros.get("EMPRESA");
-
GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA");
-
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
- String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta);
+ Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true;
+ String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta, isPorData);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
-
- if (parametros.get("DATA_INICIO") != null) {
- Date dataFinal = (Date) parametros.get("DATA_INICIO");
- stmt.setString("DATA_INICIO", DateUtil.getStringDate(dataFinal, DateUtil.ddMMaaHH24mmss));
- }
+ stmt.setString("CRIANCA_ID",CONSTANTE_GRATUIDADE_CRIANCA);
- if (parametros.get("DATA_FINAL") != null) {
- Date dataFinal = (Date) parametros.get("DATA_FINAL");
- stmt.setString("DATA_FINAL", DateUtil.getStringDate(dataFinal, DateUtil.ddMMaaHH24mmss));
+ if (empresa != null) {
+ stmt.setInt("EMPRESA_ID", empresa.getEmpresaId());
}
+ if (parametros.get("DATA_INICIO") != null) {
+ Date dataInicio = (Date) parametros.get("DATA_INICIO");
+ String dataInicioStr = dateFormat.format(dataInicio);
+ stmt.setString("DATA_INICIO", dataInicioStr);
+ }
+ if (parametros.get("DATA_FINAL") != null) {
+ Date dataFinal = (Date) parametros.get("DATA_FINAL");
+ String dataInicioStr = dateFormat.format(dataFinal);
+ stmt.setString("DATA_FINAL", dataInicioStr);
+ }
+ if (grupoRuta != null) {
+ stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId());
+ }
+ if (lsNumServico != null && !lsNumServico.isEmpty()) {
+ String corridaIds = retornaFiltro(lsNumServico, null);
+ stmt.setString("CORRIDA_ID", corridaIds);
+ }
+ if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
+ String rutaIds = retornaFiltro(null, lsNumLinha);
+ stmt.setString("RUTA_ID", rutaIds);
+ }
+ if (tipoServico > 0) {
+ stmt.setInt("TIPOSERVICIO_ID", tipoServico);
+ }
rset = stmt.executeQuery();
-
lsDadosRelatorio = new ArrayList();
BigDecimal totalPassagens = BigDecimal.ZERO;
@@ -121,7 +109,6 @@ public class RelatorioLinhasHorario extends Relatorio {
BigDecimal totalPaxKMOfertado = BigDecimal.ZERO;
BigDecimal totalPaxKMTransportado = BigDecimal.ZERO;
BigDecimal totalIAP = BigDecimal.ZERO;
-
BigDecimal totalTxEmbarque = BigDecimal.ZERO;
BigDecimal totalPedagio = BigDecimal.ZERO;
@@ -192,11 +179,11 @@ public class RelatorioLinhasHorario extends Relatorio {
totalOrdinario = totalOrdinario.add(horarioBean.getOrd() != null ? horarioBean.getOrd() : BigDecimal.ZERO);
totalExtra = totalExtra.add(horarioBean.getExtra() != null ? horarioBean.getExtra() : BigDecimal.ZERO);
totalViagem = totalViagem.add(horarioBean.getTotalViagem() != null ? horarioBean.getTotalViagem() : BigDecimal.ZERO);
- //No double deck corrida2_id estrá preenchido para os dois pisos (nas duas corridas).
- //Implementado esta lógica para não somar os dois KMs. Deverá somar somente um dos pisos
+ //No double deck corrida2_id estrá preenchido para os dois pisos (nas duas corridas).
+ //Implementado esta lógica para não somar os dois KMs. Deverá somar somente um dos pisos
if(Boolean.TRUE.equals(horarioBean.getIsDoubleDeck())) {
if(horarioBean.getServico2()!=null && !listaCorridas.contains(horarioBean.getServico2().longValue())) {
- //Um dos pisos não será marcadado como double deck para não realizar o agrupamento dentro do relatório.
+ //Um dos pisos não será marcadado como double deck para não realizar o agrupamento dentro do relatório.
horarioBean.setIsDoubleDeck(Boolean.FALSE);
totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO);
}
@@ -206,22 +193,15 @@ public class RelatorioLinhasHorario extends Relatorio {
listaCorridas.add(horarioBean.getServico().longValue());
totalAbsoluto = totalAbsoluto.add(horarioBean.getAbsol() != null ? horarioBean.getAbsol() : BigDecimal.ZERO);
totalEquivalente = totalEquivalente.add(horarioBean.getEquivalente() != null ? horarioBean.getEquivalente() : BigDecimal.ZERO);
-
totalTxEmbarque = totalTxEmbarque.add(horarioBean.getTxEmbarque() != null ? horarioBean.getTxEmbarque() : BigDecimal.ZERO);
totalPedagio = totalPedagio.add(horarioBean.getPedagio() != null ? horarioBean.getPedagio() : BigDecimal.ZERO);
-
mediaMPA = mediaMPA.add(horarioBean.getMpa() != null ? horarioBean.getMpa() : BigDecimal.ZERO);
mediaMPE = mediaMPE.add(horarioBean.getMpe() != null ? horarioBean.getMpe() : BigDecimal.ZERO);
-
mediaRsPorKm = mediaRsPorKm.add(horarioBean.getRsKm() != null ? horarioBean.getRsKm() : BigDecimal.ZERO);
-
totalEQ = totalEQ.add(horarioBean.getEq() != null ? horarioBean.getEq() : BigDecimal.ZERO);
-
mediaRSPorViagem = mediaRSPorViagem.add(horarioBean.getRsViagem() != null ? horarioBean.getRsViagem() : BigDecimal.ZERO);
-
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());
}
@@ -255,6 +235,31 @@ public class RelatorioLinhasHorario extends Relatorio {
}
}
+
+ private String retornaFiltro(ArrayList lsNumServico, ArrayList lsNumLinha) {
+ String filtro = "TODOS";
+ if (lsNumServico != null && !lsNumServico.isEmpty()) {
+ for (Corrida corrida : lsNumServico) {
+ if (lsNumServico.indexOf(corrida) == 0) {
+ filtro = "" + corrida.getId().getCorridaId();
+ } else {
+ filtro += ", " + corrida.getId().getCorridaId();
+ }
+ }
+ return filtro;
+ } else if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
+ for (Ruta ruta : lsNumLinha) {
+ if (lsNumLinha.indexOf(ruta) == 0) {
+ filtro = "" + ruta.getRutaId();
+ } else {
+ filtro += ", " + ruta.getRutaId();
+ }
+ }
+ return filtro;
+ } else {
+ return filtro;
+ }
+ }
});
}
@@ -362,7 +367,7 @@ public class RelatorioLinhasHorario extends Relatorio {
try {
resultado = valor1.divide(valor2, 2, 4);
} catch (Exception ex) {
- log.error("Erro ao calcular divisão no Relatorio de linhas por horario", ex);
+ log.error("Erro ao calcular divisão no Relatorio de linhas por horario", ex);
}
return resultado;
}
@@ -371,12 +376,13 @@ public class RelatorioLinhasHorario extends Relatorio {
protected void processaParametros() throws Exception {
}
- private String getSql(ArrayList lsNumLinha, ArrayList lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta) {
+ private String getSql(ArrayList lsNumLinha, ArrayList lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta, Boolean isPorData) {
StringBuilder sql = new StringBuilder();
sql.append(" SELECT ");
sql.append(" GRUPO_RUTA, ");
sql.append(" HORA, ");
+ sql.append(isPorData ? " DATA_CORRIDA," : "");
sql.append(" SERVICO, ");
sql.append(" SERVICO2, ");
sql.append(" SENTIDO , ");
@@ -401,8 +407,9 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" FROM ");
sql.append(" (SELECT ");
sql.append(" R.RUTA_ID, ");
- sql.append(" NVL(GR.DESCGRUPO, 'Não Definido') AS GRUPO_RUTA, ");
+ sql.append(" NVL(GR.DESCGRUPO, 'Não Definido') AS GRUPO_RUTA, ");
sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORA, ");
+ sql.append(isPorData ? " TO_CHAR(C.feccorrida,'dd/mm/yyyy') AS DATA_CORRIDA, " : "");
sql.append(" C.CORRIDA_ID AS SERVICO, ");
sql.append(" C.CORRIDA2_ID AS SERVICO2, ");
sql.append(" R.INDSENTIDOIDA AS SENTIDO, ");
@@ -459,7 +466,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" INNER JOIN PARADA ORIGEM ON C.Origen_Id = ORIGEM.PARADA_ID ");
sql.append(" INNER JOIN PARADA DESTINO ON C.DESTINO_ID = DESTINO.PARADA_ID ");
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
sql.append(" INNER JOIN RUTA R ON (C.RUTA_ID = R.RUTA_ID ) ");
sql.append(" INNER JOIN RUTA_COMBINACION RC ON (RC.RUTA_ID = C.RUTA_ID AND RC.ACTIVO=1) ");
sql.append(" INNER JOIN TRAMO TR ON (TR.TRAMO_ID = RC.TRAMO_ID AND TR.ORIGEN_ID = C.ORIGEN_ID AND TR.DESTINO_ID = C.DESTINO_ID) ");
@@ -468,7 +475,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" WHERE ");
sql.append(" EXISTS (SELECT * FROM CAJA CA WHERE CA.CORRIDA_ID = C.CORRIDA_ID AND CA.FECCORRIDA = C.FECCORRIDA AND CA.MOTIVOCANCELACION_ID IS NULL) ");
- sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
+ sql.append(" AND C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
sql.append(" GROUP BY C.CORRIDA_ID, C.CORRIDA2_ID, ");
sql.append(" C.ROLOPERATIVO_ID, ");
sql.append(" c.ruta_id, ");
@@ -490,37 +497,20 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, ");
sql.append(" COUNT(B.BOLETO_ID) AS ABSOL, C.CORRIDA2_ID, ");
sql.append(" NVL(TF.PRECIO, 0) AS TARIFA ");
-
sql.append(" FROM CORRIDA C ");
-
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
-
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
sql.append(" LEFT JOIN BOLETO B ON (B.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND B.FECCORRIDA = C.FECCORRIDA ");
sql.append(" AND B.ACTIVO = 1 ");
sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL ");
- sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") ");
+ sql.append(" AND B.CATEGORIA_ID <> :CRIANCA_ID ) ");
sql.append(" INNER JOIN RUTA R ON (C.RUTA_ID = R.RUTA_ID ) ");
sql.append(" INNER JOIN RUTA_COMBINACION RC ON (RC.RUTA_ID = C.RUTA_ID AND RC.ACTIVO=1) ");
sql.append(" INNER JOIN TRAMO TR ON (TR.TRAMO_ID = RC.TRAMO_ID AND TR.ORIGEN_ID = C.ORIGEN_ID AND TR.DESTINO_ID = C.DESTINO_ID) ");
sql.append(" INNER JOIN TARIFA TF ON ( TR.TRAMO_ID=TF.TRAMO_ID AND TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND TF.DESTINO_ID = C.DESTINO_ID AND TF.ORIGEN_ID = C.ORIGEN_ID AND TF.MARCA_ID = C.MARCA_ID AND TF.RUTA_ID = C.RUTA_ID AND R.ORGAOCONCEDENTE_ID= TF.ORGAOCONCEDENTE_ID AND TF.ACTIVO=1 AND ((TF.MONEDA_ID = B.MONEDA_ID) OR (B.MONEDA_ID IS NULL))) ");
sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = TF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ) ");
-
-
- sql.append(" WHERE C.ACTIVO NOT IN (0,2) AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
-
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND B.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
-
-
+ sql.append(" WHERE C.ACTIVO NOT IN (0,2) AND C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
+ sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN ( :CORRIDA_ID ) ");
sql.append(" GROUP BY C.CORRIDA_ID,C.CORRIDA2_ID, c.ruta_id, C.ROLOPERATIVO_ID, ");
sql.append(" C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI'),NVL(TF.PRECIO, 0) ");
sql.append(" ) TB4 ON (TB4.CORRIDA_ID = C.CORRIDA_ID AND (TB4.CORRIDA2_ID=C.CORRIDA2_ID OR (TB4.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) and tb4.c_ruta_id = c.ruta_id ");
@@ -549,7 +539,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" NVL(bo.preciobase, 0) AS PRECIOBASE, ");
sql.append(" NVL(TF.PRECIO,0) AS TARIFA ");
sql.append(" FROM CORRIDA CO ");
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (CO.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (CO.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
sql.append(" INNER JOIN BOLETO BO ON CO.CORRIDA_ID = BO.CORRIDA_ID AND CO.FECCORRIDA = BO.FECCORRIDA AND BO.ACTIVO = 1 ");
sql.append(" INNER JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = CO.RUTA_ID ");
sql.append(" INNER JOIN TRAMO T ON RC.TRAMO_ID = T.TRAMO_ID AND T.ORIGEN_ID = BO.ORIGEN_ID AND T.DESTINO_ID = BO.DESTINO_ID ");
@@ -560,27 +550,14 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" INNER JOIN TARIFA TF ON ( TR.TRAMO_ID=TF.TRAMO_ID AND TF.CLASESERVICIO_ID = CO.CLASESERVICIO_ID AND TF.DESTINO_ID = CO.DESTINO_ID AND TF.ORIGEN_ID = CO.ORIGEN_ID AND TF.MARCA_ID = CO.MARCA_ID AND TF.RUTA_ID = CO.RUTA_ID AND R.ORGAOCONCEDENTE_ID= TF.ORGAOCONCEDENTE_ID AND TF.ACTIVO=1 AND ((TF.MONEDA_ID = BO.MONEDA_ID) OR (BO.MONEDA_ID IS NULL))) ");
sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = TF.VIGENCIATARIFA_ID AND CO.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ) ");
-
-
-
sql.append(" WHERE CO.ACTIVO NOT IN (0,2) ");
sql.append(" AND RC.ACTIVO = 1");
sql.append(" AND T.ACTIVO = 1");
sql.append(" AND BO.INDSTATUSBOLETO != 'S' AND BO.MOTIVOCANCELACION_ID IS NULL ");
- sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA);
- sql.append(" AND BO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
-
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND BO.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
+ sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID");
+ sql.append(" AND BO.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
+ sql.append(lsNumServico.isEmpty() ? "" : " AND BO.CORRIDA_ID IN ( :CORRIDA_ID ) ");
sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.CORRIDA2_ID, CO.ROLOPERATIVO_ID, ");
sql.append(" CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, ");
sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), ");
@@ -588,50 +565,32 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" ON (CJ.CORRIDA_ID = C.CORRIDA_ID AND (CJ.CORRIDA2_ID=C.CORRIDA2_ID OR (CJ.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) AND CJ.FECCORRIDA = C.FECCORRIDA AND CJ.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append(" AND CJ.RUTA_ID = C.RUTA_ID AND CJ.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID AND CJ.TARIFA=TF.PRECIO ) ");
- sql.append(" WHERE C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
-
-
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND C.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
-
- sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN ( " + grupoRuta.getGrupoRutaId() + " ) ");
-
- if (lsNumLinha.size() > 0) {
- for (Ruta ruta : lsNumLinha) {
- if (lsNumLinha.indexOf(ruta) == 0) {
- sql.append(" AND R.RUTA_ID IN ( " + ruta.getRutaId());
- } else {
- sql.append(" , " + ruta.getRutaId() + " ");
- }
- }
- sql.append(" ) ");
- }
-
- sql.append(tipoServico > 0 ? " AND C.TIPOSERVICIO_ID = " + tipoServico + " " : "");
+ sql.append(" WHERE C.FECCORRIDA BETWEEN TO_TIMESTAMP(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_TIMESTAMP(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
+ sql.append(lsNumServico.isEmpty() ? "" : " AND C.CORRIDA_ID IN ( :CORRIDA_ID ) ");
+ sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN ( :GRUPORUTA_ID ) ");
+ sql.append(lsNumLinha.isEmpty() ? "" : " AND R.RUTA_ID IN ( :RUTA_ID ) ");
+ sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" );
sql.append(" AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 AND TB2.ORIGEM = ORIGEM.CVEPARADA AND TB2.DESTINO = DESTINO.CVEPARADA ");
sql.append("AND R.ACTIVO = 1 AND RO.ACTIVO = 1 AND DA.ACTIVO = 1 AND CS.ACTIVO = 1 ");
- sql.append("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, ");
+ sql.append("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), ");
+ sql.append(isPorData ? " to_char(C.feccorrida ,'dd/mm/yyyy'), " : null);
+ sql.append("C.CORRIDA_ID, R.INDSENTIDOIDA, ");
sql.append(" NVL(TF.PRECIO, 0), DA.CANTASIENTOS, CS.DESCCLASE, TR.CANTKMREAL, TB2.ORD, TB2.EXTRA, ABSOL, ");
sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, ");
sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, ");
sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID, C.CORRIDA2_ID ) ");
- sql.append("GROUP BY GRUPO_RUTA, HORA, SERVICO, SERVICO2, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, ");
+ sql.append("GROUP BY GRUPO_RUTA, HORA, ");
+ sql.append(isPorData ? " DATA_CORRIDA, " : null);
+ sql.append("SERVICO, SERVICO2, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, ");
sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ISDOUBLEDECK, ABSOL ");
sql.append("ORDER BY TIPO_LINHA, GRUPO_RUTA, SERVICO, SERVICO2, ORIGEM, DESTINO ");
- return sql.toString();
+ System.out.println(sql.toString());
+ return sql.toString();
}
private String buscarConstante(String nomeConstante) {
ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService");
return constanteService.buscarPorNomeConstante(nomeConstante).getValorconstante();
}
-}
+}
\ No newline at end of file
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java
index 0450d1b17..086f54a5d 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorarioSimplificado.java
@@ -14,6 +14,7 @@ import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
+import org.zkoss.web.servlet.dsp.action.If;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
@@ -43,52 +44,27 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
public void initDados() throws Exception {
CONSTANTE_GRATUIDADE_CRIANCA = buscarConstante("GRATUIDADE_CRIANCA");
-
Connection conexao = this.relatorio.getConexao();
-
Map parametros = this.relatorio.getParametros();
ArrayList lsNumLinha = (ArrayList) parametros.get("lsNumLinha");
ArrayList lsNumServico = (ArrayList) parametros.get("lsNumServico");
-
- String servicoFiltro = "";
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- servicoFiltro = "" + corrida.getId().getCorridaId();
- } else {
- servicoFiltro += ", " + corrida.getId().getCorridaId();
- }
- }
- } else {
- servicoFiltro = "TODOS";
- }
- parametros.put("SERVICO_FILTRO", servicoFiltro);
-
- String linhaFiltro = "";
- if (lsNumLinha.size() > 0) {
- for (Ruta ruta : lsNumLinha) {
- if (lsNumLinha.indexOf(ruta) == 0) {
- linhaFiltro = "" + ruta.getRutaId();
- } else {
- linhaFiltro += ", " + ruta.getRutaId();
- }
- }
- } else {
- linhaFiltro = "TODOS";
- }
- parametros.put("LINHA_FILTRO", linhaFiltro);
+ parametros.put("SERVICO_FILTRO", retornaFiltro(lsNumServico, null));
+ parametros.put("LINHA_FILTRO", retornaFiltro(null, lsNumLinha));
Empresa empresa = (Empresa) parametros.get("EMPRESA");
-
GrupoRuta grupoRuta = (GrupoRuta) parametros.get("GRUPORUTA");
-
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
-
- String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta, (Boolean)parametros.get("ISSENTIDOIDA"), (Boolean)parametros.get("ISSENTIDOVOLTA"));
+ Boolean isPorData = parametros.get("ISPORDATA") == null ? false : true;
+ String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta, (Boolean)parametros.get("ISSENTIDOIDA"), (Boolean)parametros.get("ISSENTIDOVOLTA"), isPorData);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
+ stmt.setString("CRIANCA_ID",CONSTANTE_GRATUIDADE_CRIANCA);
+
+ if (empresa != null) {
+ stmt.setInt("EMPRESA_ID", empresa.getEmpresaId());
+ }
if (parametros.get("HORA_INICIAL") == null) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
if (parametros.get("DATA_INICIO") != null) {
@@ -103,6 +79,20 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
}else {
setaParametroDataHora(parametros, stmt);
}
+ if (grupoRuta != null) {
+ stmt.setInt("GRUPORUTA_ID", grupoRuta.getGrupoRutaId());
+ }
+ if (lsNumServico != null && !lsNumServico.isEmpty()) {
+ String corridaIds = retornaFiltro(lsNumServico, null);
+ stmt.setString("CORRIDA_ID", corridaIds);
+ }
+ if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
+ String rutaIds = retornaFiltro(null, lsNumLinha);
+ stmt.setString("RUTA_ID", rutaIds);
+ }
+ if (tipoServico > 0) {
+ stmt.setInt("TIPOSERVICIO_ID", tipoServico);
+ }
rset = stmt.executeQuery();
@@ -139,6 +129,9 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
horarioBean.setGrupoRuta(group);
horarioBean.setTipoLinha((String) rset.getObject("TIPO_LINHA"));
horarioBean.setHora((String) rset.getObject("HORA"));
+ if(isPorData) {
+ horarioBean.setDataCorrida((String) rset.getObject("DATA_CORRIDA"));
+ }
horarioBean.setServico((BigDecimal) rset.getObject("SERVICO"));
if (rset.getObject("SENTIDO") != null) {
@@ -248,6 +241,31 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
}
}
+
+ private String retornaFiltro(ArrayList lsNumServico, ArrayList lsNumLinha) {
+ String filtro = "TODOS";
+ if (lsNumServico != null && !lsNumServico.isEmpty()) {
+ for (Corrida corrida : lsNumServico) {
+ if (lsNumServico.indexOf(corrida) == 0) {
+ filtro = "" + corrida.getId().getCorridaId();
+ } else {
+ filtro += ", " + corrida.getId().getCorridaId();
+ }
+ }
+ return filtro;
+ } else if (lsNumLinha != null && !lsNumLinha.isEmpty()) {
+ for (Ruta ruta : lsNumLinha) {
+ if (lsNumLinha.indexOf(ruta) == 0) {
+ filtro = "" + ruta.getRutaId();
+ } else {
+ filtro += ", " + ruta.getRutaId();
+ }
+ }
+ return filtro;
+ } else {
+ return filtro;
+ }
+ }
});
@@ -421,12 +439,14 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
protected void processaParametros() throws Exception {
}
- private String getSql(ArrayList lsNumLinha, ArrayList lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta, Boolean isSentidoIda, Boolean isSentidoVolta) {
+ private String getSql(ArrayList lsNumLinha, ArrayList lsNumServico, Empresa empresa, Integer tipoServico,
+ GrupoRuta grupoRuta, Boolean isSentidoIda, Boolean isSentidoVolta, Boolean isPorData) {
StringBuilder sql = new StringBuilder();
sql.append(" SELECT ");
sql.append(" GRUPO_RUTA, ");
sql.append(" HORA, ");
+ sql.append(isPorData ? " DATA_CORRIDA," : "");
sql.append(" DESCRUTA, ");
sql.append(" SERVICO, ");
sql.append(" SENTIDO , ");
@@ -450,8 +470,9 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" (SELECT ");
sql.append(" R.RUTA_ID, ");
sql.append(" R.DESCRUTA AS DESCRUTA, ");
- sql.append(" NVL(GR.DESCGRUPO, 'Não Definido') AS GRUPO_RUTA, ");
+ sql.append(" NVL(GR.DESCGRUPO, 'Não Definido') AS GRUPO_RUTA, ");
sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORA, ");
+ sql.append(isPorData ? " TO_CHAR(C.feccorrida,'dd/mm/yyyy') AS DATA_CORRIDA, " : "");
sql.append(" C.CORRIDA_ID AS SERVICO, ");
sql.append(" R.INDSENTIDOIDA AS SENTIDO, ");
sql.append(" DA.CANTASIENTOS AS LOT, ");
@@ -487,7 +508,7 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" INNER JOIN PARADA ORIGEM ON C.Origen_Id = ORIGEM.PARADA_ID ");
sql.append(" INNER JOIN PARADA DESTINO ON C.DESTINO_ID = DESTINO.PARADA_ID ");
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
sql.append(" WHERE ");
sql.append(" EXISTS (SELECT * FROM CAJA CA WHERE CA.CORRIDA_ID = C.CORRIDA_ID AND CA.FECCORRIDA = C.FECCORRIDA AND CA.MOTIVOCANCELACION_ID IS NULL) ");
@@ -498,9 +519,10 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" Destino.Cveparada, ");
sql.append(" ORIGEM.CVEPARADA, ");
sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
- sql.append(" ) TB2 ON (TB2.CORRIDA_ID = C.CORRIDA_ID and tb2.c_ruta_id = c.ruta_id ) ");
+ sql.append(" ) TB2 ON ((TB2.CORRIDA_ID = C.CORRIDA_ID and tb2.c_ruta_id = c.ruta_id ) ");
sql.append(" AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
- sql.append(" AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
+ sql.append(" AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) ");
+
sql.append(" INNER JOIN (");
sql.append(" SELECT ");
sql.append(" C.CORRIDA_ID, ");
@@ -512,74 +534,56 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" COUNT(B.BOLETO_ID) AS ABSOL ");
sql.append(" FROM CORRIDA C ");
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (C.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
sql.append(" LEFT JOIN BOLETO B ON (B.CORRIDA_ID = C.CORRIDA_ID AND B.FECCORRIDA = C.FECCORRIDA AND B.ACTIVO = 1 AND B.MOTIVOCANCELACION_ID IS NULL ");
- sql.append(" AND B.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(" ) ");
+ sql.append(" AND B.CATEGORIA_ID <> :CRIANCA_ID ) ");
sql.append(" WHERE C.ACTIVO NOT IN (0,2) ");
sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') ");
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND B.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
+ sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) ");
sql.append(" GROUP BY C.CORRIDA_ID, c.ruta_id, C.ROLOPERATIVO_ID, C.DESTINO_ID, C.ORIGEN_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
- sql.append(" ) TB4 ON (TB4.CORRIDA_ID = C.CORRIDA_ID and tb4.c_ruta_id = c.ruta_id) ");
+ sql.append(" ) TB4 ON ((TB4.CORRIDA_ID = C.CORRIDA_ID and tb4.c_ruta_id = c.ruta_id) ");
sql.append(" AND c.DESTINO_ID = TB4.DESTINO_ID ");
sql.append(" AND c.ORIGEN_ID = TB4.ORIGEN_ID ");
sql.append(" AND TB4.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
- sql.append(" AND TB4.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
+ sql.append(" AND TB4.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI')) ");
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(" CO.EMPRESACORRIDA_ID, ");
- sql.append(" BO.BOLETO_ID, ");
- sql.append(" BO.NUMKMVIAJE * COUNT(1) AS KM_REAL, ");
- sql.append(" CASE ");
- sql.append("WHEN T.CANTKMREAL<>0 AND BO.NUMKMVIAJE<>0 ");
- sql.append("THEN ROUND(BO.NUMKMVIAJE * COUNT(1) / T.CANTKMREAL, 3) ");
- sql.append("ELSE 0 ");
- sql.append("END AS EQUIVALENTE, ");
- sql.append(" NVL(BO.IMPORTESEGURO, 0) AS IMPORTESEGURO, ");
- sql.append(" NVL(BO.IMPORTETAXAEMBARQUE, 0) AS IMPORTETAXAEMBARQUE, ");
- sql.append(" NVL(BO.IMPORTEPEDAGIO, 0) AS IMPORTEPEDAGIO, ");
- sql.append(" NVL(BO.PRECIOPAGADO, 0) AS PRECIOPAGADO ");
- sql.append(" FROM CORRIDA CO ");
- sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (CO.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID=" + empresa.getEmpresaId() + ")");
- sql.append(" INNER JOIN BOLETO BO ON CO.CORRIDA_ID = BO.CORRIDA_ID AND CO.FECCORRIDA = BO.FECCORRIDA AND BO.ACTIVO = 1 ");
- sql.append(" INNER JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = CO.RUTA_ID ");
- sql.append(" INNER JOIN TRAMO T ON RC.TRAMO_ID = T.TRAMO_ID AND T.ORIGEN_ID = BO.ORIGEN_ID AND T.DESTINO_ID = BO.DESTINO_ID ");
- sql.append(" WHERE CO.ACTIVO NOT IN (0,2) ");
+ sql.append(" CO.CORRIDA_ID, ");
+ sql.append(" CO.ROLOPERATIVO_ID, ");
+ sql.append(" CO.RUTA_ID, ");
+ sql.append(" CO.EMPRESACORRIDA_ID, ");
+ sql.append(" BO.BOLETO_ID, ");
+ sql.append(" BO.NUMKMVIAJE * COUNT(1) AS KM_REAL, ");
+ sql.append(" CASE ");
+ sql.append(" WHEN T.CANTKMREAL<>0 AND BO.NUMKMVIAJE<>0 ");
+ sql.append(" THEN ROUND(BO.NUMKMVIAJE * COUNT(1) / T.CANTKMREAL, 3) ");
+ sql.append(" ELSE 0 ");
+ sql.append(" END AS EQUIVALENTE, ");
+ sql.append(" NVL(BO.IMPORTESEGURO, 0) AS IMPORTESEGURO, ");
+ sql.append(" NVL(BO.IMPORTETAXAEMBARQUE, 0) AS IMPORTETAXAEMBARQUE, ");
+ sql.append(" NVL(BO.IMPORTEPEDAGIO, 0) AS IMPORTEPEDAGIO, ");
+ sql.append(" NVL(BO.PRECIOPAGADO, 0) AS PRECIOPAGADO ");
+ sql.append(" FROM CORRIDA CO ");
+ sql.append(empresa == null ? "" : " INNER JOIN MARCA M ON (CO.MARCA_ID = M.MARCA_ID AND M.EMPRESA_ID= :EMPRESA_ID)");
+ sql.append(" INNER JOIN BOLETO BO ON CO.CORRIDA_ID = BO.CORRIDA_ID AND CO.FECCORRIDA = BO.FECCORRIDA AND BO.ACTIVO = 1 ");
+ sql.append(" INNER JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = CO.RUTA_ID ");
+ sql.append(" INNER JOIN TRAMO T ON RC.TRAMO_ID = T.TRAMO_ID AND T.ORIGEN_ID = BO.ORIGEN_ID AND T.DESTINO_ID = BO.DESTINO_ID ");
+ sql.append(" WHERE CO.ACTIVO NOT IN (0,2) ");
sql.append(" AND RC.ACTIVO = 1");
sql.append(" AND T.ACTIVO = 1");
sql.append(" AND BO.INDSTATUSBOLETO != 'S' AND BO.MOTIVOCANCELACION_ID IS NULL ");
- sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA);
+ sql.append(" AND BO.CATEGORIA_ID <> :CRIANCA_ID");
sql.append(" AND BO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') ");
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND BO.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
+ sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) ");
sql.append(" GROUP BY CO.FECCORRIDA, CO.CORRIDA_ID, CO.ROLOPERATIVO_ID, CO.RUTA_ID, CO.EMPRESACORRIDA_ID, BO.NUMKMVIAJE, BO.BOLETO_ID, T.CANTKMREAL, ");
- sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), NVL(BO.IMPORTEPEDAGIO, 0), NVL(BO.PRECIOPAGADO, 0)) CJ ");
- sql.append(" ON (CJ.CORRIDA_ID = C.CORRIDA_ID AND CJ.FECCORRIDA = C.FECCORRIDA AND CJ.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
+ sql.append(" NVL(BO.IMPORTESEGURO, 0), NVL(BO.IMPORTETAXAEMBARQUE, 0), NVL(BO.IMPORTEPEDAGIO, 0), NVL(BO.PRECIOPAGADO, 0) ");
+ sql.append(" ) CJ ON (CJ.CORRIDA_ID = C.CORRIDA_ID AND CJ.FECCORRIDA = C.FECCORRIDA AND CJ.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append(" AND CJ.RUTA_ID = C.RUTA_ID AND CJ.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID) ");
sql.append("INNER JOIN PARADA ORIGEM ON (C.ORIGEN_ID = ORIGEM.PARADA_ID ) ");
sql.append("INNER JOIN PARADA DESTINO ON ( C.DESTINO_ID = DESTINO.PARADA_ID ) ");
@@ -599,38 +603,17 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append("FROM RUTA_COMBINACION RC ");
sql.append("INNER JOIN TRAMO T ON RC.TRAMO_ID = T.TRAMO_ID ");
sql.append("WHERE RC.ACTIVO = 1 ");
- sql.append(") TB5 ON TB5.RUTA_ID = C.RUTA_ID ");
+ sql.append(") TB5 ON (TB5.RUTA_ID = C.RUTA_ID ");
sql.append("AND TB5.ORIGEN_ID = ORIGEM.PARADA_ID ");
- sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID ");
+ sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID) ");
sql.append(" WHERE C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'DD/MM/YYYY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YYYY hh24:mi:ss') ");
sql.append(" AND (TF.TARIFA_ID IS NULL OR (TF.TARIFA_ID IS NOT NULL AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND VTF.FECFINVIGENCIA )) ");
sql.append(" ");
- if (lsNumServico.size() > 0) {
- for (Corrida corrida : lsNumServico) {
- if (lsNumServico.indexOf(corrida) == 0) {
- sql.append(" AND C.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
- } else {
- sql.append(" , " + corrida.getId().getCorridaId() + " ");
- }
- }
- sql.append(" ) ");
- }
-
- sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN ( " + grupoRuta.getGrupoRutaId() + " ) ");
-
- if (lsNumLinha.size() > 0) {
- for (Ruta ruta : lsNumLinha) {
- if (lsNumLinha.indexOf(ruta) == 0) {
- sql.append(" AND R.RUTA_ID IN ( " + ruta.getRutaId());
- } else {
- sql.append(" , " + ruta.getRutaId() + " ");
- }
- }
- sql.append(" ) ");
- }
-
- sql.append(tipoServico > 0 ? " AND C.TIPOSERVICIO_ID = " + tipoServico + " " : "");
+ sql.append(lsNumServico.isEmpty() ? "" : " AND B.CORRIDA_ID IN (:CORRIDA_ID) ");
+ sql.append(grupoRuta == null ? "" : " AND R.GRUPORUTA_ID IN (:GRUPORUTA_ID) ");
+ sql.append(lsNumLinha.isEmpty() ? "" : " AND R.RUTA_ID IN (:RUTA_ID) ");
+ sql.append(tipoServico == 0 ? "" : " AND C.TIPOSERVICIO_ID = :TIPOSERVICIO_ID" );
if(Boolean.TRUE.equals(isSentidoIda)) {
sql.append(" AND R.INDSENTIDOIDA =1 ");
@@ -642,12 +625,16 @@ public class RelatorioLinhasHorarioSimplificado extends Relatorio {
sql.append(" AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 AND TB2.ORIGEM = ORIGEM.CVEPARADA AND TB2.DESTINO = DESTINO.CVEPARADA ");
sql.append("AND R.ACTIVO = 1 AND RO.ACTIVO = 1 AND DA.ACTIVO = 1 AND CS.ACTIVO = 1 ");
- sql.append("GROUP BY R.RUTA_ID, R.DESCRUTA, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, ");
+ sql.append("GROUP BY R.RUTA_ID, R.DESCRUTA, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'),");
+ sql.append(isPorData ? " TO_CHAR(C.feccorrida ,'dd/mm/yyyy'), " : null);
+ sql.append(" C.CORRIDA_ID, R.INDSENTIDOIDA, ");
sql.append(" DA.CANTASIENTOS, CS.DESCCLASE, TB5.EXTENSAO, TB2.ORD, TB2.EXTRA, ABSOL, ");
sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, ");
sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, ");
sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID ) ");
- sql.append("GROUP BY GRUPO_RUTA, HORA, DESCRUTA, SERVICO, SENTIDO, LOT, CLA, ORIGEM, DESTINO, ");
+ sql.append("GROUP BY GRUPO_RUTA, HORA, ");
+ sql.append(isPorData ? " DATA_CORRIDA, " : null);
+ sql.append(" DESCRUTA, SERVICO, SENTIDO, LOT, CLA, ORIGEM, DESTINO, ");
sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ABSOL ");
sql.append("ORDER BY TIPO_LINHA, GRUPO_RUTA, DESCRUTA, SERVICO, ORIGEM, DESTINO ");
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorarioSimplificado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorarioSimplificado_pt_BR.properties
index 89a6fdc28..c45d8d937 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorarioSimplificado_pt_BR.properties
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorarioSimplificado_pt_BR.properties
@@ -20,6 +20,7 @@ detail.viagens=VIAGENS
detail.passageiros=PASSAGEIROS
detail.parametrosOperacionais=PARÂM. OPERACIONAIS
detail.hora=Hora
+detail.data=Data
detail.servico=Serviço
detail.trecho=Trecho
detail.setido=Sentido
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jasper
index fca3f372b..e9801533f 100644
Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jasper differ
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jrxml
index 79211eb68..66bef579e 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jrxml
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorarioSimplificado.jrxml
@@ -1,8 +1,8 @@
-
-
+
+
@@ -33,6 +33,7 @@
+
@@ -58,6 +59,7 @@
+
@@ -571,7 +573,7 @@
-
+
@@ -616,7 +618,7 @@
-
+
@@ -638,7 +640,7 @@
-
+
@@ -690,19 +692,26 @@
-
+
-
+
+
+
+
+
+
+
+
@@ -753,14 +762,14 @@
-
+
-
+
@@ -802,26 +811,33 @@
-
+
-
+
-
+
+
+
+
+
+
+
+
diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java
index d0bfab3fc..399aa3bb1 100644
--- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java
+++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java
@@ -8,6 +8,7 @@ public class RelatorioLinhasHorarioBean {
private String grupoRuta;
private String origem;
private String destino;
+ private String dataCorrida;
private String hora;
private BigDecimal servico;
private BigDecimal servico2;
@@ -119,6 +120,14 @@ public class RelatorioLinhasHorarioBean {
this.hora = hora;
}
+ public String getDataCorrida() {
+ return dataCorrida;
+ }
+
+ public void setDataCorrida(String dataCorrida) {
+ this.dataCorrida = dataCorrida;
+ }
+
public BigDecimal getServico() {
return servico == null ? BigDecimal.ZERO : servico;
}
diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java
index 0cdda5569..24a9d6388 100644
--- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java
+++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java
@@ -16,6 +16,7 @@ import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox;
@@ -88,6 +89,8 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
private Radio rdExtraOrdinario;
private Radio rdTodos;
private Checkbox chkSimplificado;
+ private Checkbox chkSimplificadoPorData;
+
private Timebox horaInicial;
private Timebox horaFinal;
private Checkbox chkIndSentidoIda;
@@ -119,6 +122,7 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
parametros.put("DATA_FINAL", DateUtil.fimFecha(this.datFinal.getValue()));
parametros.put("ISSIMPLIFICADO", chkSimplificado.isChecked());
+ parametros.put("ISSIMPLIFICADO", chkSimplificadoPorData.isChecked());
parametros.put("USUARIO_ID", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString());
parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario().toString());
@@ -152,10 +156,8 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
parametros.put("NOMBEMPRESA", "TODOS");
}
-
lsNumLinha = new ArrayList(Arrays.asList(linhaListSelList.getData()));
lsNumServico = new ArrayList(Arrays.asList(servicoListSelList.getData()));
-
parametros.put("lsNumLinha", lsNumLinha);
parametros.put("lsNumServico", lsNumServico);
Relatorio relatorio = null;
@@ -172,6 +174,7 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
}
parametros.put("ISSENTIDOIDA", chkIndSentidoIda.isChecked());
parametros.put("ISSENTIDOVOLTA", chkIndSentidoVolta.isChecked() );
+ parametros.put("ISPORDATA",chkSimplificadoPorData.isChecked() );
relatorio = new RelatorioLinhasHorarioSimplificado(parametros, dataSourceRead.getConnection());
tituloRelatorio = "relatorioLinhasHorarioSimplificadoController.window.title";
@@ -260,7 +263,31 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer {
servicoList.setItemRenderer(new RenderCorridaOrigemDestino());
servicoListSelList.setItemRenderer(new RenderCorridaOrigemDestino());
+ chkSimplificado.addEventListener("onCheck", new EventListener() {
+ public void onEvent(Event event) {
+ boolean isChecked = chkSimplificado.isChecked();
+
+ if (!isChecked) {
+ chkSimplificadoPorData.setChecked(false);
+ chkSimplificadoPorData.setDisabled(true);
+ } else {
+ chkSimplificadoPorData.setDisabled(false);
+ }
+ }
+ });
+
+ chkSimplificadoPorData.addEventListener("onCheck", new EventListener() {
+ public void onEvent(Event event) {
+ boolean isChecked = chkSimplificadoPorData.isChecked();
+
+ if (isChecked && !chkSimplificado.isChecked()) {
+ chkSimplificado.setChecked(true);
+ }
+ }
+ });
}
+
+
public List getLsEmpresa() {
return lsEmpresa;
diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label
index 64deb7f3d..e905228e4 100644
--- a/web/WEB-INF/i3-label_en.label
+++ b/web/WEB-INF/i3-label_en.label
@@ -675,34 +675,35 @@ relatorioOCDController.msg.nenhumaDataInformada = Nenhuma data foi informada
relatorioOCDController.msg.dataInicialFinal = Informar data inicial e final
#Relatorio Linhas Horario
-relatorioLinhasHorarioController.lbDataIni.value = Data Inicial Viagem
-relatorioLinhasHorarioController.lbDataFin.value = Data Final Viagem
-relatorioLinhasHorarioController.lbEmpresa.label = Empresa
-relatorioLinhasHorarioController.lbGrupoRuta.label = Grupo de Linhas
-relatorioLinhasHorarioController.lbLote.label = Lote
-relatorioLinhasHorarioController.lbLinha.label = Linha
-relatorioLinhasHorarioController.lbServico.label = Servico
-relatorioLinhasHorarioController.window.title = Relatório de Linhas por Horário
-relatorioLinhasHorarioSimplificadoController.window.title = Relatório de Linhas por Horário Simplificado
-relatorioLinhasHorarioController.lbNumRuta.label = Num. Linha
-relatorioLinhasHorarioController.lbPrefixo.label = Prefixo
+relatorioLinhasHorarioController.lbDataIni.value = Departure Date
+relatorioLinhasHorarioController.lbDataFin.value = Arrival Date
+relatorioLinhasHorarioController.lbEmpresa.label = Company
+relatorioLinhasHorarioController.lbGrupoRuta.label = Line Group
+relatorioLinhasHorarioController.lbLote.label = Batch
+relatorioLinhasHorarioController.lbLinha.label = Line
+relatorioLinhasHorarioController.lbServico.label = Service
+relatorioLinhasHorarioController.window.title = Schedule by Line Report
+relatorioLinhasHorarioSimplificadoController.window.title = Simplified Schedule by Line Report
+relatorioLinhasHorarioController.lbNumRuta.label = Line Number
+relatorioLinhasHorarioController.lbPrefixo.label = Prefix
-relatorioLinhasHorarioController.lbOrgao.label = Orgão Concedente
-relatorioLinhasHorarioController.lbDataCorrida.value = Data
-relatorioLinhasHorarioController.btnPesquisa.label = Pesquisar
-relatorioLinhasHorarioController.btnLimpar.label = Limpar
-relatorioLinhasHorarioController.horaSaida.label = Hora
-relatorioLinhasHorarioController.origem.destino.label = Origem x Destino
-relatorioLinhasHorarioController.rutaId.label = Cód Linha
-relatorioLinhasHorarioController.rdTipoServico.label = Tipos de Serviços
-relatorioLinhasHorarioController.rdOrdinario.label = Ordinários
-relatorioLinhasHorarioController.rdExtraOrdinario.label = Extraordinários
-relatorioLinhasHorarioController.rdTodos.label = Todos
-relatorioLinhasHorarioController.lblSimplificado.value = Emite relatório Simplificado
-relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Hora SaÃda
-relatorioLinhasHorarioController.lbHoraSaidaFinal.value = Ã
-relatorioLinhasHorarioController.chKIda.value = Linha Ida
-relatorioLinhasHorarioController.chKVolta.value = Linha Volta
+relatorioLinhasHorarioController.lbOrgao.label = Regulatory Agency
+relatorioLinhasHorarioController.lbDataCorrida.value = Date
+relatorioLinhasHorarioController.btnPesquisa.label = Search
+relatorioLinhasHorarioController.btnLimpar.label = Clear
+relatorioLinhasHorarioController.horaSaida.label = Time
+relatorioLinhasHorarioController.origem.destino.label = Origin x Destination
+relatorioLinhasHorarioController.rutaId.label = Line Code
+relatorioLinhasHorarioController.rdTipoServico.label = Service Types
+relatorioLinhasHorarioController.rdOrdinario.label = Regular
+relatorioLinhasHorarioController.rdExtraOrdinario.label = Extraordinary
+relatorioLinhasHorarioController.rdTodos.label = All
+relatorioLinhasHorarioController.lblSimplificado.value = Generate Simplified Report.
+relatorioLinhasHorarioController.lblSimplificadoData.value = Generate Simp. by date
+relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Departure Time
+relatorioLinhasHorarioController.lbHoraSaidaFinal.value = to
+relatorioLinhasHorarioController.chKIda.value = Outbound Line
+relatorioLinhasHorarioController.chKVolta.value = Return Line
#Relatório Indice IRK
relatorioIndiceIRKController.window.title = Relatório Indice IRK
diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label
index f7a7077f0..52f679d82 100644
--- a/web/WEB-INF/i3-label_es_MX.label
+++ b/web/WEB-INF/i3-label_es_MX.label
@@ -630,30 +630,35 @@ relatorioOCDController.msg.nenhumaDataInformada = Ninguna fecha fue informada
relatorioOCDController.msg.dataInicialFinal = Informar fecha inicial y final
#Relatorio rutas Horario
-relatorioLinhasHorarioController.window.title = Reporte de rutas por horário
-relatorioLinhasHorarioController.lbDataIni.value = Fecha inicial viaje
-relatorioLinhasHorarioController.lbDataFin.value = Fecha final viaje
+relatorioLinhasHorarioController.lbDataIni.value = Fecha Inicial Viaje
+relatorioLinhasHorarioController.lbDataFin.value = Fecha Final Viaje
relatorioLinhasHorarioController.lbEmpresa.label = Empresa
-relatorioLinhasHorarioController.lbGrupoRuta.label = Grupo de rutas
+relatorioLinhasHorarioController.lbGrupoRuta.label = Grupo de Rutas
relatorioLinhasHorarioController.lbLote.label = Lote
-relatorioLinhasHorarioController.lbLinha.label = Linea
-relatorioLinhasHorarioController.lbServico.label = Clase
-
-
-relatorioLinhasHorarioController.lbNumRuta.label = Num. linea
+relatorioLinhasHorarioController.lbLinha.label = LÃnea
+relatorioLinhasHorarioController.lbServico.label = Servicio
+relatorioLinhasHorarioController.window.title = Reporte de LÃneas por Horario
+relatorioLinhasHorarioSimplificadoController.window.title = Reporte de LÃneas por Horario Simplificado
+relatorioLinhasHorarioController.lbNumRuta.label = Núm. LÃnea
relatorioLinhasHorarioController.lbPrefixo.label = Prefijo
-relatorioLinhasHorarioController.lbOrgao.label = Instituición concedente
+relatorioLinhasHorarioController.lbOrgao.label = Instituición Concedente
relatorioLinhasHorarioController.lbDataCorrida.value = Fecha
relatorioLinhasHorarioController.btnPesquisa.label = Buscar
relatorioLinhasHorarioController.btnLimpar.label = Limpiar
relatorioLinhasHorarioController.horaSaida.label = Hora
-relatorioLinhasHorarioController.origem.destino.label = Origen x Destino
-relatorioLinhasHorarioController.rutaId.label = Cod linea
-relatorioLinhasHorarioController.rdTipoServico.label = Tipos de corridas
+relatorioLinhasHorarioController.origem.destino.label = Origen x Destino
+relatorioLinhasHorarioController.rutaId.label = Cod. LÃnea
+relatorioLinhasHorarioController.rdTipoServico.label = Tipos de Servicios
relatorioLinhasHorarioController.rdOrdinario.label = Ordinarios
relatorioLinhasHorarioController.rdExtraOrdinario.label = Extraordinarios
relatorioLinhasHorarioController.rdTodos.label = Todos
+relatorioLinhasHorarioController.lblSimplificado.value = Generar Reporte Simple.
+relatorioLinhasHorarioController.lblSimplificadoData.value = Generar Simple por fecha
+relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Hora Salida
+relatorioLinhasHorarioController.lbHoraSaidaFinal.value = a
+relatorioLinhasHorarioController.chKIda.value = LÃnea Ida
+relatorioLinhasHorarioController.chKVolta.value = LÃnea Vuelta
#Relatorio Tramo Vendido
relatorioTrechoVendidoController.lbDataIni.value = Fecha inicial
diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label
index 58f688ade..8db6dc047 100644
--- a/web/WEB-INF/i3-label_pt_BR.label
+++ b/web/WEB-INF/i3-label_pt_BR.label
@@ -699,6 +699,7 @@ relatorioLinhasHorarioController.rdOrdinario.label = Ordinários
relatorioLinhasHorarioController.rdExtraOrdinario.label = Extraordinários
relatorioLinhasHorarioController.rdTodos.label = Todos
relatorioLinhasHorarioController.lblSimplificado.value = Emite relatório Simplificado
+relatorioLinhasHorarioController.lblSimplificadoData.value = Emite Simplificado por Data
relatorioLinhasHorarioController.lbHoraSaidaInicial.value = Hora SaÃda
relatorioLinhasHorarioController.lbHoraSaidaFinal.value = Ã
relatorioLinhasHorarioController.chKIda.value = Linha Ida
diff --git a/web/gui/relatorios/filtroRelatorioLinhasHorario.zul b/web/gui/relatorios/filtroRelatorioLinhasHorario.zul
index f10f8df10..7c8a6e474 100644
--- a/web/gui/relatorios/filtroRelatorioLinhasHorario.zul
+++ b/web/gui/relatorios/filtroRelatorioLinhasHorario.zul
@@ -7,7 +7,7 @@
@@ -250,11 +250,12 @@
-
-
+
+
+
|
-
+
+