Merge branch 'master' into AL-2057

master
Lucas Taiã 2023-02-22 23:28:21 +00:00
commit 52dabcdcf4
12 changed files with 316 additions and 309 deletions

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.0.58</version>
<version>1.0.59</version>
<packaging>war</packaging>
<properties>

View File

@ -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<String, Object> parametros = this.relatorio.getParametros();
ArrayList<Ruta> lsNumLinha = (ArrayList<Ruta>) parametros.get("lsNumLinha");
ArrayList<Corrida> lsNumServico = (ArrayList<Corrida>) 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<RelatorioLinhasHorarioBean>();
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<Corrida> lsNumServico, ArrayList<Ruta> 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<Ruta> lsNumLinha, ArrayList<Corrida> lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta) {
private String getSql(ArrayList<Ruta> lsNumLinha, ArrayList<Corrida> 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();
}
}
}

View File

@ -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<String, Object> parametros = this.relatorio.getParametros();
ArrayList<Ruta> lsNumLinha = (ArrayList<Ruta>) parametros.get("lsNumLinha");
ArrayList<Corrida> lsNumServico = (ArrayList<Corrida>) 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<Corrida> lsNumServico, ArrayList<Ruta> 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<Ruta> lsNumLinha, ArrayList<Corrida> lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta, Boolean isSentidoIda, Boolean isSentidoVolta) {
private String getSql(ArrayList<Ruta> lsNumLinha, ArrayList<Corrida> 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 ");

View File

@ -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

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="RelatorioLinhasHorario" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="NoDataSection" columnWidth="812" leftMargin="20" rightMargin="10" topMargin="20" bottomMargin="20" uuid="ae2cbb01-bc79-4d18-8206-3b59273fe793">
<property name="ireport.zoom" value="1.6500000000000021"/>
<property name="ireport.x" value="708"/>
<property name="ireport.y" value="86"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="NOMBEMPRESA" class="java.lang.String"/>
<parameter name="DATA_INICIO" class="java.util.Date">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
@ -33,6 +33,7 @@
<parameter name="DESCGRUPO" class="java.lang.String"/>
<parameter name="TOTAL_PEDAGIO" class="java.math.BigDecimal"/>
<parameter name="NOME_USUARIO" class="java.lang.String"/>
<parameter name="DATA_CORRIDA" class="java.lang.String"/>
<queryString>
<![CDATA[]]>
</queryString>
@ -58,6 +59,7 @@
<field name="absol" class="java.math.BigDecimal"/>
<field name="servico" class="java.math.BigDecimal"/>
<field name="lot" class="java.math.BigDecimal"/>
<field name="dataCorrida" class="java.lang.String"/>
<variable name="passagens_group" class="java.math.BigDecimal" resetType="Group" resetGroup="groupRuta" calculation="Sum">
<variableExpression><![CDATA[$F{passagens}]]></variableExpression>
</variable>
@ -571,7 +573,7 @@
<textFieldExpression><![CDATA[$R{detail.hora}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="30b30f3d-c4f3-40a2-825a-812ae5475414" x="272" y="80" width="38" height="11"/>
<reportElement uuid="30b30f3d-c4f3-40a2-825a-812ae5475414" x="280" y="80" width="30" height="11"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
@ -616,7 +618,7 @@
<reportElement uuid="b6bdef50-f793-4c23-b188-505c0fb7bf18" x="0" y="90" width="812" height="1"/>
</line>
<textField>
<reportElement uuid="f7a61ca8-00fd-400d-b1c4-e22f5295941f" x="69" y="80" width="133" height="10"/>
<reportElement uuid="f7a61ca8-00fd-400d-b1c4-e22f5295941f" x="62" y="80" width="130" height="10"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
@ -638,7 +640,7 @@
<textFieldExpression><![CDATA[$P{USUARIO_ID}+"-"+$P{NOME_USUARIO}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="d08e9ed9-c1ef-4208-89bd-b9e88d4f88f0" x="202" y="80" width="51" height="10"/>
<reportElement uuid="d08e9ed9-c1ef-4208-89bd-b9e88d4f88f0" x="225" y="80" width="40" height="10"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
@ -690,19 +692,26 @@
<textFieldExpression><![CDATA[$R{detail.absol}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="6302707c-6c82-4d19-a69d-b7d3d1b120c7" x="22" y="80" width="47" height="11"/>
<reportElement uuid="6302707c-6c82-4d19-a69d-b7d3d1b120c7" x="22" y="80" width="40" height="11"/>
<textElement markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.servico}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="87858b4f-fd45-4fad-972d-a119bb115fee" x="253" y="80" width="19" height="10"/>
<reportElement uuid="87858b4f-fd45-4fad-972d-a119bb115fee" x="265" y="80" width="15" height="10"/>
<textElement textAlignment="Center" markup="none">
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.lot}]]></textFieldExpression>
</textField>
<textField>
<reportElement uuid="4f407741-c6ca-414a-b512-f38701264dff" x="192" y="80" width="33" height="10"/>
<textElement>
<font size="6" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$R{detail.data}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
<columnHeader>
@ -753,14 +762,14 @@
<textFieldExpression><![CDATA[$F{rsKm}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="d5b5f4cf-5f24-4f8c-8a81-b86bc0420d08" stretchType="RelativeToTallestObject" x="272" y="0" width="38" height="10"/>
<reportElement uuid="d5b5f4cf-5f24-4f8c-8a81-b86bc0420d08" stretchType="RelativeToTallestObject" x="280" y="0" width="30" height="10"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{sentido}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="3850d6a2-d8f1-4e97-9dfb-b93b8ef5472f" stretchType="RelativeToTallestObject" x="69" y="0" width="133" height="10"/>
<reportElement uuid="3850d6a2-d8f1-4e97-9dfb-b93b8ef5472f" stretchType="RelativeToTallestObject" x="62" y="0" width="130" height="10"/>
<textElement>
<font size="6"/>
</textElement>
@ -802,26 +811,33 @@
<textFieldExpression><![CDATA[$F{absol}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="cf805801-a22c-4d60-a032-558f73a40dfa" stretchType="RelativeToTallestObject" x="22" y="0" width="47" height="10"/>
<reportElement uuid="cf805801-a22c-4d60-a032-558f73a40dfa" stretchType="RelativeToTallestObject" x="22" y="0" width="40" height="10"/>
<textElement textAlignment="Left">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{servico}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="6d5fc3d2-2c9f-4974-b59d-ee873e1d7097" stretchType="RelativeToTallestObject" x="202" y="0" width="51" height="10"/>
<reportElement uuid="6d5fc3d2-2c9f-4974-b59d-ee873e1d7097" stretchType="RelativeToTallestObject" x="225" y="0" width="40" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{cla}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement uuid="ce6727a7-18f0-4b36-811f-db883788ded9" stretchType="RelativeToTallestObject" x="253" y="0" width="19" height="10" isPrintWhenDetailOverflows="true"/>
<reportElement uuid="ce6727a7-18f0-4b36-811f-db883788ded9" stretchType="RelativeToTallestObject" x="265" y="0" width="15" height="10" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{lot}]]></textFieldExpression>
</textField>
<textField isBlankWhenNull="true">
<reportElement uuid="09bd8b9f-9a08-4fce-89c9-ef9b60aab19c" stretchType="RelativeToTallestObject" x="192" y="0" width="33" height="10"/>
<textElement>
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{dataCorrida}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>

View File

@ -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;
}

View File

@ -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<Empresa> getLsEmpresa() {
return lsEmpresa;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioLinhasHorario"
apply="${relatorioLinhasHorarioController}"
contentStyle="overflow:auto" height="570px" width="600px"
contentStyle="overflow:auto" height="570px" width="610px"
border="normal">
<grid fixedLayout="true">
@ -250,11 +250,12 @@
</row>
<row height="40px" >
<cell colspan="2">
<checkbox id="chkSimplificado"
label="${c:l('relatorioLinhasHorarioController.lblSimplificado.value')}" >
</checkbox>
<checkbox id="chkSimplificado" label="${c:l('relatorioLinhasHorarioController.lblSimplificado.value')}" />
<space width="28px" />
<checkbox id="chkSimplificadoPorData" label="${c:l('relatorioLinhasHorarioController.lblSimplificadoData.value')}" />
</cell>
</row>
</row>
</rows>
</grid>